Использование отсоединения и присоединения для переноса данных
Настраиваем конфигурацию одноранговой репликации
- Запустите SQL Server Management Studio.
- Щелкните правой кнопкой мыши на узле Replication (Репликация) в дереве Object Explorer (Обозреватель объектов) и выберите из контекстного меню команду Configure Distribution (Настройка распространения). Будет запущен мастер Configure Distribution Wizard (Мастер настройки распространителя), который необходимо запустить на обоих серверах, если эти серверы ранее не были настроены как распределители. В этом упражнении мы согласимся с настройками мастера по умолчанию.
- Затем нужно будет создать публикацию. Выберите один из серверов, на котором будет настроена публикация. Разверните узел Replication (Репликация) в Object Explorer (Обозревателе объектов) и щелкните правой кнопкой на папке Local Publications (Локальные публикации). Выберите из контекстного меню команду New Publication (Создать публикацию), чтобы запустить мастер New Publication Wizard (Мастер создания публикаций). В окне этого мастера можно указать базу данных и определить набор данных, подлежащих репликации. Здесь много настраиваемых параметров. Сначала задайте Publication Type (Тип публикации) как Transactional Publication (Публикация транзакций), а затем выберите таблицу для публикации (в данном примере выберите Address).
- На странице Snapshot Agent (Агент моментальных снимков) установите флажок Create A Snapshot Immediately (Создать моментальный снимок немедленно).
- На странице Agent Security (Агенты безопасности) введите имя действующего пользователя, учетные данные которого будет использовать Snapshot Agent (Агент моментальных снимков) в процессе работы.
- Установите флажок Create The Publication (Создать публикацию) на странице Wizard Actions (Действия мастера), а затем укажите имя публикации на заключительной странице мастера.
- Нажмите кнопку Finish (Готово), чтобы завершить процесс создания публикации. Публикация готова.
- После того, как вы настроили публикацию, можно указать ее для одноранговой репликации. Выберите в Object Explorer (Обозревателе объектов) узел Local Publications (Локальные публикации). В правой панели вы должны увидеть только что созданную публикацию.
- Щелкните правой кнопкой мыши на новой публикации и выберите из контекстного меню команду Properties (Свойства).
- В диалоговом окне Publication Properties (Свойства публикации) выберите страницу Subscription Options (Параметры подписки). Здесь можно установить параметр Allow Peer-To-Peer Subscriptions (Разрешать одноранговые подписки) на True, как показано ниже. Нажмите кнопку ОК, чтобы закрыть это диалоговое окно.
- В следующем действии убедитесь в том, что схемы одинаковы для всех баз данных. Это можно сделать, создав резервную копию базы данных на сервере-источнике, а затем восстановив базу данных на целевом сервере при помощи процедуры, которая объяснялась ранее в этой лекции.
- Затем нужно сконфигурировать одноранговую топологию. Для этого щелкните правой кнопкой мыши на новой публикации и выберите из контекстного меню команду Configure Peer-To-Peer Topology (Конфигурация одноранговой топологии). После этого будет запущен мастер, который настроит публикации и подписки на настраиваемых серверах.
После того, как 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
- В меню Start (Пуск) выберите All Programs,. Microsoft SQL Server 2005, SQL Server Business Intelligence Development Studio (Все программы, Microsoft SQL Server 2005, SQL Server Business Intelligence Development Studio).
- В меню File (Файл) выберите команду New (Создать), затем Project (Проект). Откроется окно New Project (Новый проект), показанное ниже. Это диалоговое окно содержит все типы проектов, которые доступны для создания. Для этого упражнения выберите из списка Project Type (Тип проекта) узел Business Intelligence Projects и шаблон Integration Services Project из списка Templates (Шаблоны). После этого можно изменить имя и путь к проекту и решению. Когда вы настроите все параметры в соответствии со своими предпочтениями, нажмите кнопку ОК,Совет. Решение (Solution) может содержать много проектов (Projects).
Если вы в первый раз запустили Visual Studio или BIDS, потратьте немного времени на то, чтобы познакомиться с интерфейсом программы. Как видно из рисунка, этот интерфейс в корне отличается от интерфейса DTS (Data Transformation Services). Дизайн интерфейса был полностью изменен и в значительной степени модернизирован. Вы увидите также четыре вкладки, которые представляют собой области конструктора. В этом примере мы воспользуемся только областями конструктора вкладки Control Flow (Поток управления) и вкладки Data Flow (Поток данных).
Совет. Мы коснулись только тех возможностей SSIS, которые лежат на поверхности. Рекомендуется полностью изучить возможности инструментов. - Добавьте задачу Data Flow (Поток данных) в область конструктора вкладки Control Flow (Поток управления). Перетащите мышью элемент Data Flow Task (Задача "Поток данных") из панели элементов Control Flow Items (Элементы потока управления) в область конструктора вкладки Control Flow (Поток данных).
- После добавления задачи можно либо дважды щелкнуть ее, либо перейти на вкладку Data Flow (Поток данных), чтобы открыть область конструктора этой вкладки.
- Мы сконцентрируемся на получении данных от сервера-источника на целевой сервер. Чтобы выполнить необходимые настройки, придется создать два диспетчера соединений. Щелкните правой кнопкой мыши в панели Connection Managers (Диспетчеры соединений) и выберите из контекстного меню команду New OLE DB Connection (Создать соединение OLE DB). Выберите для Provider (Поставщик) значение Native OLE DB\SQL Native Client. Нажмите кнопку New (Создать), чтобы создать новое соединение. Введите Server Name (Имя сервера) и выберите имя базы данных. Нажмите кнопку ОК, чтобы создать первый диспетчер соединений. Те же действия необходимо выполнить на целевом сервере.
- После создания диспетчера соединения перетащите мышью элемент OLE DB Source (Источник OLE DB), показанный на рисунке, из панели элементов Data Flow (Поток данных) в область конструктора вкладки Data Flow (Поток данных).
- Перечеркнутая красная окружность на значке OLE DB Source показывает, что необходимо настроить источник. Дважды щелкните значок, чтобы запустить OLE DB Source Editor (Редактор источника "OLE DB").
- Выберите для источника диспетчер соединений и укажите таблицу, которую необходимо перенести. С этого момента можно просматривать данные, а также исправить список столбцов, если нужно. Красная перечеркнутая окружность исчезает после того, как вы правильно настроите источник потока данных.
- Затем нужно будет перетащить мышью элемент OLE DB Destination (Целевой объект OLE DB), как показано ниже, из секции панели элементов Data Flow Destination (Целевой объект потока данных) в панель инструментов в области конструктора вкладки Data Flow (Поток данных).
На значке Destination object (Целевой объект) появляется перечеркнутая красная окружность, показывающая, что необходимо настроить параметры источника. Однако для целевого объекта придется также задать столбцы ввода. Для этого выделите значок OLE DB Source (Источник OLE DB), затем перетащите мышью зеленую стрелку с объекта Source (Источник) на объект Destination (Целевой объект), чтобы соединить эти два объекта.
- После того, как вы установили соединение, можно настроить свойства источника, щелкнув правой кнопкой мыши значок OLE DB Destination (Целевой объект OLE DB) и выбрав из контекстного меню команду Edit (Изменить). В OLE DB Destination Editor (Редакторе назначения объектов OLE DB), который показан на следующем рисунке, укажите диспетчер соединения, выберите Data Access Mode (Режим доступа к данным), выделите целевую таблицу или представление и сопоставьте столбцы. Здесь можно настроить и некоторые другие свойства, которые могут быть полезны, когда вы тестируете свое решение, в том числе, свойства Table Lock (Блокировка таблицы) и Rows Per Batch (Строк на пакет). Необходимо просмотреть эти свойства,. чтобы определить, не походят ли они к вашей ситуации.Совет. Выбирая один из параметров Fast Load (Быстрой загрузки) для Data Access Mode (Режима доступа к данным), вы используете параметр высокопроизводительной массовой загрузки при подкачке данных. При использовании этого режима доступны дополнительные параметры, которые можно найти в нижней части диалогового окна. Эти параметры разработаны для повышения производительности процесса загрузки. Дополнительную информацию о них можно найти в Электронной документации SQL Server 2005.Совет. Прежде чем нажать кнопку ОК, необходимо настроить сопоставление столбцов. Однако если столбцы имеют одинаковые имена, можно щелкнуть элемент Mapping (Сопоставление) в левой части списка, после чего будет выполнено сопоставление по умолчанию.
- Повторите этот процесс для каждой таблицы или представления, которые нужно загрузить. После того, как все таблицы будут готовы, ваш пакет, то есть, список данных, подготовленных для переноса, готов к развертыванию и планированию. Развертывание и планирование рассматриваются в следующем разделе.
Можно использовать RowCount Data Flow Transformation (Трансформация потока данных RowCount ), как показано на рисунке, как для назначения, и просмотреть перемещаемые данных при помощи службы Data Viewer (Просмотр данных).
Службы SSIS предоставляют гораздо больше гибкости в процессе проектирования и отладки, которые ранее обслуживались службами Data Transformation Services. Рекомендую поэкспериментировать с этим инструментом, поскольку можно обнаружить для него дополнительные сферы применения.
Преимущество использования SSIS заключается в том, что можно выполнить фильтрацию перемещаемых таблиц. Кроме того, можно выбрать для переноса несколько назначений, можно даже использовать цикл для нескольких назначений, если их схемы и загрузки идентичны. Если вам нужен конструктивный способ перемещения данных, то этот вариант может быть для вас лучшим вариантом. Дополнительную информацию о SSIS можно найти в Электронной документации SQL Server 2005 в теме "Обзор служб интеграции".