Лекция №22
.docx
7. Лекция: Использование отсоединения и присоединения для переноса данных: версия для печати и PDA В данной лекции освещено использование репликации для переноса данных, в частности, рассмотрена репликация моментальных снимков, репликация транзакций и репликация слиянием |
||||||||||||||||
Если вам нужна уверенность в том, что вы знаете, какие данные переносите, и при этом вы можете вывести базу данных в автономный режим на некоторый период времени, использование отсоединения и присоединения для переноса данных, возможно, будет для вас подходящим вариантом. Главный недостаток метода отсоединения/присоединения заключается в том, что придется смириться с недоступностью базы данных на тот короткий промежуток времени, когда база данных будет отсоединена, потому что необходимо создать копию файла .mdf (mdf – это сокращение от master database file), что возможно только тогда, когда база данных отсоединена. Значит, база данных будет недоступна до тех пор, пока вы не завершите создание копии базы данных. Если база данных достаточно велика, возможно, не удастся создать копию в приемлемый промежуток времени. Совет. Выбрав вариант с отсоединением/присоединением базы данных, вы, возможно, получите преимущество, если изучите, какие функции репликации или высокоскоростного копирования, доступны в программах сторонних разработчиков. Если ваше предприятие работает известное количество часов с определенным периодом простоя, то отсоединение/присоединение может оказаться для вас наилучшим вариантом. После окончания рабочего дня можно отсоединить базу данных, скопировать ее в нужное место, присоединить к серверу-адресату, а затем снова присоединить к серверу-источнику. Давайте выполним эту процедуру от начала до конца. Отсоединяем базу данных
увеличить изображение
Совет. Ниже приводится инструкция T-SQL для отсоединения базы данных. EXEC sp_detach_db AdventureWorks GO После отсоединения базы данных ее можно скопировать на целевой сервер. Чтобы перевести базы данных источника и адресата в рабочий режим, придется снова присоединить оригинальную базу данных к серверу-источнику, а копию базы данных – к целевому серверу. Для этого выполните следующие действия для каждого сервера. Присоединяем базу данных
увеличить изображение
Примечание. Если в структуре базы данных используется несколько файлов, то после того, как вы добавите файл .mdf в первый список, убедитесь, что во втором списке в этом диалоговом окне представлены все эти файлы. Совет. Если нужно присоединить копии файлов базы данных к серверу-источнику, в результате чего на одном сервере окажутся две изначально одинаковые базы данных, то при присоединении можно изменить имя базы данных. Для этого нужно только указать другое имя в столбце Attach As (Присоединить как) в первом списке.
Совет. Ниже приводится инструкция T-SQL для присоединения базы данных. EXEC sp_attach_db @dbname = N'AdventureWorks', @filename1 = N'd:\MSSQL\AdventureWorks.mdf', GO Если для переноса данных была выбрана стратегия Отсоединение/ Присоединение, то не забудьте снова присоединить базу данных, которую вы отсоединили. Если это не будет сделано, то приложения, которым известно это размещение базы данных, не будут работать, как следует, если вообще будут работать. Использование репликации для переноса данных Репликация - это старый, испытанный метод перемещения данных между базами данных и серверами. SQL Server 2005 поддерживает три значимых метода репликации. Эти методы репликации уже достаточно долго являются компонентами платформы SQL Server.
SQL Server 2005 поддерживает новый подход к репликации, который называется одноранговой репликацией. Этот подход в действительности подразумевает группу серверов, которые сконфигурированы на использование репликации транзакций для перемещения данных между серверами. Из всех доступных методов переноса баз данных самым простым для понимания, но также и самым сложным для разработки и обслуживания, становится метод репликации. Оба сервера, и источник и целевой, которые на языке репликации называются издатель и подписчик, должны быть правильно настроены для репликации данных. Одним из преимуществ репликации по сравнению с ранее описанными методами переноса данных является то, что некоторые варианты репликации поддерживают перезапись назначений и разрешение конфликтов. Исчерпывающее описание различных методов репликации и множества конфигураций, которые каждый из них может использовать, в данной книге не рассматриваются. Полную информацию можно найти в теме "Одноранговая репликация транзакций" Электронной документации по SQL Server 2005. Однако мы рассмотрим настройку одноранговой репликации между двумя серверами от начала до конца, чтобы вы могли понять требования к настройке репликации в вашей среде. Важно. Прежде чем решать, какой из методов переноса будет наилучшим для вашей среды, внимательно изучите требования для репликации. Настраиваем конфигурацию одноранговой репликации
увеличить изображение
После того, как SQL Server будет настроен на участие в одноранговой репликации, любые изменения данных на любом из двух серверов будут реплицированы на другом сервере. Это основные сведения о настройке одноранговой репликации. Репликация транзакций и репликация моментальных снимков настраиваются аналогичным образом. Эта информация приводится для того, чтобы вы могли понять, как настраивается репликация и как она выполняется, и сравнить этот метод с другими методами переноса данных, описанными в этой лекции. Использование служб SSIS для переноса данных Из всех методов переноса данных SQL Server Integration Services, SSIS (Службы интеграции SQL Server) – самый гибкий и надежный метод. Они могут не только переносить данные, но и трансформировать их. Хотя возможность трансформации очень полезна, в этой книге она не рассматривается. Мы рассмотрим только различные варианты, доступные в SSIS для перемещения данных от системы-источника до целевой системы, любые сложные методы трансформации, возможные в SSIS, не рассматриваются. В то время, как описанные ранее методы требуют, чтобы вы работали в среде SQL Server Management Studio, для использования служб интеграции SQL Server вам придется перейти в Visual Studio 2005 IDE (Интегрированная среда разработки). SQL Server поставляется с версией этого IDE, которая называется "SQL Server Business Intelligence Development Studio", BIDS. Если программа Visual Studio 2005 уже установлена на компьютере, используемом для разработки, то у вас уже есть два способа заполучить одни и те же функции. Если вы запустите Visual Studio или BIDS, при условии, что вы установили клиент и инструменты разработки из SQL Server, то увидите различные параметры проекта. Если у вас установлены любые из инструментов разработки Visual Studio, вы увидите их в обеих средах. То же справедливо и для инструментов разработки SQL Server. Обе среды разработки отражают установленные вами компоненты. Настраиваем свойства проекта SSIS
Совет. Решение (Solution) может содержать много проектов (Projects).
увеличить изображение Если вы в первый раз запустили Visual Studio или BIDS, потратьте немного времени на то, чтобы познакомиться с интерфейсом программы. Как видно из рисунка, этот интерфейс в корне отличается от интерфейса DTS (Data Transformation Services). Дизайн интерфейса был полностью изменен и в значительной степени модернизирован. Вы увидите также четыре вкладки, которые представляют собой области конструктора. В этом примере мы воспользуемся только областями конструктора вкладки Control Flow (Поток управления) и вкладки Data Flow (Поток данных).
увеличить изображение Совет. Мы коснулись только тех возможностей SSIS, которые лежат на поверхности. Рекомендуется полностью изучить возможности инструментов.
увеличить изображение
На значке Destination object (Целевой объект) появляется перечеркнутая красная окружность, показывающая, что необходимо настроить параметры источника. Однако для целевого объекта придется также задать столбцы ввода. Для этого выделите значок OLE DB Source (Источник OLE DB), затем перетащите мышью зеленую стрелку с объекта Source (Источник) на объект Destination (Целевой объект), чтобы соединить эти два объекта.
Совет. Выбирая один из параметров Fast Load (Быстрой загрузки) для Data Access Mode (Режима доступа к данным), вы используете параметр высокопроизводительной массовой загрузки при подкачке данных. При использовании этого режима доступны дополнительные параметры, которые можно найти в нижней части диалогового окна. Эти параметры разработаны для повышения производительности процесса загрузки. Дополнительную информацию о них можно найти в Электронной документации SQL Server 2005.
увеличить изображение Совет. Прежде чем нажать кнопку ОК, необходимо настроить сопоставление столбцов. Однако если столбцы имеют одинаковые имена, можно щелкнуть элемент Mapping (Сопоставление) в левой части списка, после чего будет выполнено сопоставление по умолчанию.
Совет. Если вы хотите протестировать этот проект, можно выполнить его отладку, так же, как и для любого другого проекта Visual Studio, используя команду меню Debug (Отладка) или кнопку Debug (Отладка) в IDE. Можно использовать RowCount Data Flow Transformation (Трансформация потока данных RowCount ), как показано на рисунке, как для назначения, и просмотреть перемещаемые данных при помощи службы Data Viewer (Просмотр данных).
Службы SSIS предоставляют гораздо больше гибкости в процессе проектирования и отладки, которые ранее обслуживались службами Data Transformation Services. Рекомендую поэкспериментировать с этим инструментом, поскольку можно обнаружить для него дополнительные сферы применения. Преимущество использования SSIS заключается в том, что можно выполнить фильтрацию перемещаемых таблиц. Кроме того, можно выбрать для переноса несколько назначений, можно даже использовать цикл для нескольких назначений, если их схемы и загрузки идентичны. Если вам нужен конструктивный способ перемещения данных, то этот вариант может быть для вас лучшим вариантом. Дополнительную информацию о SSIS можно найти в Электронной документации SQL Server 2005 в теме "Обзор служб интеграции". Автоматизация и планирование переноса данных Перенос данных можно автоматизировать при помощи служб SQL Server Agent (Агент SQL Server) и SSIS (Служб интеграции SQL Server). Агент можно использовать изолированно, чтобы планировать различные методы перемещения данных, описанные выше. SSIS можно применять также для графического связывания различных задач, при этом используется преимущество встроенного механизма рабочего потока. В этом разделе мы рассмотрим от начала до конца процедуру настройки резервного копирования, а затем составим для нее расписание. Планируем операцию резервного копирования при помощи службы Агент SQL Server
увеличить изображение
увеличить изображение Совет. Можно также нажать кнопку Pick (Выбрать) на странице Schedules (Расписания) и выбрать существующее расписание. Если у вас есть несколько заданий, которые должны выполняться по одинаковым или похожим расписаниям, можно выбрать расписание из списка существующих на сервере расписаний.
Страница Notifications (Уведомления) также позволяет автоматически удалить задание после выполнения, если нужно запустить задание только один раз. Внесите соответствующие изменения в уведомления и предупреждения, а затем нажмите кнопку ОК, чтобы закрыть диалоговое окно New Job Schedule (Новое расписание задания). Можно также запланировать выполнение пакетов SSIS при помощи агента SQL Server. Задания агента поддерживают прямое развертывание пакетов. (Развернутые пакеты – это такие пакеты, которые можно установить на другой сервер). Можно указать SQL Server Integration Services Package (Пакет службы SQL Server Integration Services) в качестве типа в диалоговом окне New Job Step (Новый шаг задания), показанном ниже, и выбрать различные параметры пакета, в том числе, параметры конфигурации и выполнения. увеличить изображение Агент SQL Server – прекрасный инструмент для планирования различных задач и заданий. Но SSIS можно использовать для создания нескольких рабочих потоков с разными источниками данных и назначениями. Использование одновременно агента и SSIS предоставляет мощную комбинацию инструментов для перемещения данных. Заключение Чтобы перенести базу данных с одного сервера на другой, можно создать резервную копию и восстановить ее на целевом сервере; можно скопировать отсоединенную базу данных, а затем присоединить копию к целевому серверу, можно также использовать функции репликации SQL Server или службы SSIS. Какой метод лучше использовать, зависит от вашего приложения и среды. Самым универсальным вариантом является комбинация службы Агент SQL Server и SSIS. Краткий справочник по 6-7 лекциям
|
||||||||||||||||