Поделиться через


Задача «Передача базы данных»

Область применения: среда выполнения интеграции SSIS SQL Server в Фабрика данных Azure

Задача "Передача базы данных" передает базу данных SQL Server между двумя экземплярами SQL Server. В отличие от других задач, передающих объекты SQL Server только путем копирования, задача "Передача базы данных" может копировать или перемещать базу данных. Эту задачу можно также использовать для копирования базы данных в пределах того же сервера.

Режимы «вне сети» и «в сети»

База данных может быть передана в режимах «в сети» или «вне сети». В режиме «в сети» база данных остается присоединенной и передается с помощью SQL Management Objects (SMO) для копирования объектов. В режиме «вне сети» база данных отсоединяется, файлы базы данных перемещаются или копируются и база данных прикрепляется на назначении после того, как передача успешно завершена. При копировании база данных повторно присоединяется к источнику автоматически, если копирование прошло успешно. В режиме «вне сети» копирование базы данных происходит быстрее, но во время передачи база данных недоступна для пользователей.

В режиме «вне сети» требуется указать общие папки на исходном и целевом серверах, которые содержат файлы базы данных. Если папка предоставлена и доступ к ней осуществляется пользователем, можно ссылаться на сетевую папку с помощью синтаксиса \\computername\Program Files\myfolder\. В противном случае необходимо использовать синтаксис \\computername\c$\Program Files\myfolder\. Для использования последнего варианта синтаксиса пользователь должен иметь разрешения на запись в общие сетевые ресурсы источника и назначения.

Передача баз данных между разными версиями SQL Server

Задача "Передача базы данных" может передавать базу данных между экземплярами с разными версиями SQL Server.

События

Задача «Передача базы данных» не создает отчет об ошибках в процессе передачи, сообщая только о начале и полном выполнении задачи.

Значение выполнения

Значение выполнения, заданное в свойстве ExecutionValue задачи, возвращает значение 1, поскольку в отличие от других задач передачи, задача «Передача базы данных» может передавать только одну базу данных.

С помощью выделения пользовательской переменной для свойства ExecValueVariable задачи "Передача базы данных" сведения об ошибках передачи становятся доступными для других объектов пакета. Дополнительные сведения см. в статье Переменные в службах Integration Services (SSIS) и разделе об использовании переменных в пакетах.

Записи журнала

Задача «Передача базы данных» содержит следующие пользовательские записи в журнале.

  • SourceSQLServer Эта запись журнала содержит имя исходного сервера.

  • DestSQLServer Эта запись журнала содержит имя целевого сервера.

  • SourceDB Эта запись журнала содержит имя передаваемой базы данных.

Дополнительно при перезаписывании целевой базы данных делается запись журнала для события OnInformation .

Безопасность и разрешения

Для передачи базы данных в режиме вне сети пользователь, запускающий выполнение пакета, должен быть членом роли сервера sysadmin.

Для передачи базы данных в режиме в сети пользователь, запускающий выполнение пакета, должен быть членом роли сервера sysadmin или владельцем выбранной базы данных (dbo).

Настройка задачи «Передача базы данных»

Можно отдельно указать, следует ли повторно подсоединять базу данных-источник, если во время передачи базы данных произошел сбой.

Задача «Передача базы данных» может быть настроена таким образом, чтобы разрешать перезапись целевой базы данных с таким же именем, замещая ее.

База данных-источник может быть переименована в процессе передачи. Если вам нужно передать базу данных на экземпляр назначения SQL Server, где уже содержится база данных с таким именем, переименование базы данных-источника позволяет это сделать. Тем не менее, имена файлов баз данных должны различаться, поскольку если файлы базы данных с таким именем уже существуют на назначении, при выполнении задачи происходит сбой.

При создании копии базы данных база данных не может быть меньше по размеру, чем база данных модели на целевом сервере. Можно либо увеличить размер копии базы данных, либо уменьшить размер модели.

Во время выполнения задача «Передача базы данных» подключается к исходному и целевому серверам с помощью одного или двух диспетчеров соединений SMO. При создании копии базы данных на том же сервере требуется только один диспетчер соединений SMO. Диспетчеры соединений SMO настраиваются отдельно, после чего задача «Передача базы данных» ссылается на них. Диспетчеры соединений SMO указывают сервер и режим проверки подлинности, который будет использоваться при доступе задачи к указанному серверу. Дополнительные сведения см. в статье SMO Connection Manager.

Свойства могут быть заданы с помощью конструктора SSIS или программным путем.

Дополнительные сведения о свойствах, которые можно задать в конструкторе служб SSIS, щелкните следующий раздел:

Дополнительные сведения о настройке этих свойств в конструкторе служб SSIS см. в следующем разделе:

Настройка задачи «Передача базы данных» с помощью программных средств

Дополнительные сведения об установке этих свойств программными средствами см. в следующем разделе.

Редактор задачи «Передача базы данных» (страница «Общие»)

Страница Общие диалогового окна Редактор задачи «Передача базы данных» позволяет дать имя и описание задачи передачи базы данных. Задача "Передача базы данных" копирует или перемещает базу данных SQL Server между двумя экземплярами SQL Server. Эту задачу можно также использовать для копирования базы данных в пределах того же сервера.

Параметры

Имя
Введите уникальное имя для задачи передачи базы данных. Это имя используется в качестве метки для значка задачи.

Примечание.

Имена задач в пределах пакета должны быть уникальными.

Description
Введите описание задачи передачи базы данных.

Редактор задачи «Передача базы данных» (страница «Базы данных»)

Используйте страницу Базы данных в диалоговом окне Редактор задачи «Передача базы данных» , чтобы указать свойства для базы данных-источника и целевой базы данных, участвующих в задаче «Передача базы данных». Задача "Передача базы данных" копирует или перемещает базу данных SQL Server между двумя экземплярами SQL Server. Эту задачу можно также использовать для копирования базы данных в пределах того же сервера.

Параметры

SourceConnection
Выберите в списке диспетчер подключений SMO или нажмите кнопку <Создать подключение...>, чтобы создать подключение к исходному серверу.

DestinationConnection
Выберите в списке диспетчер подключений SMO или нажмите <Создать подключение...>, чтобы создать подключение к целевому серверу.

DestinationDatabaseName
Укажите имя базы данных SQL Server на целевом сервере.

Чтобы автоматически заполнить это поле именем базы данных-источника, укажите сначала SourceConnection и SourceDatabaseName .

Чтобы переименовать базу данных на целевом сервере, введите новое имя в этом поле.

DestinationDatabaseFiles
Указывает имена и местоположения файлов базы данных на целевом сервере.

Чтобы автоматически заполнить это поле именами и местоположениями файлов базы данных-источника, укажите сначала SourceConnection, SourceDatabaseNameи SourceDatabaseFiles .

Чтобы переименовать файлы базы данных или указать новые местоположения на целевом сервере, заполните это поле сведениями о базе данных-источнике, а затем нажмите кнопку обзора. В диалоговом окне Файлы целевой базы данных измените пункты Файл назначения, Целевая папкаили Сетевая общая папка.

Примечание.

Если вы найдите файлы базы данных с помощью кнопки обзора, расположение файла вводится с помощью нотации локального диска: например, c:\. Необходимо заменить это значение на путь к сетевому ресурсу, в который входит имя компьютера и имя общей папки. Если используется административная общая папка по умолчанию, необходимо использовать обозначение с символом $ и иметь административный доступ к общей папке.

DestinationOverwrite
Укажите, может ли база данных на целевом сервере быть перезаписана.

Параметры этого свойства приведены в следующей таблице.

значение Описание
True Перезаписать базу данных целевого сервера.
False Не перезаписывать базу данных целевого сервера.

Внимание

Данные в базе данных целевого сервера будут перезаписаны, если для параметра DestinationOverwrite будет указано значение True, что может привести к потере данных. Чтобы избежать этого, создайте резервную копию базы данных целевого сервера в другом местоположении, прежде чем приступить к выполнению задачи «Передача базы данных».

Действие
Укажите, следует ли при выполнении задачи Копировать или Переместить базу данных на целевой сервер.

Method
Укажите, будет ли при выполнении задачи база данных на исходном сервере работать в сети или вне сети.

Для передачи базы данных с использованием режима вне сети пользователь, выполняющий пакет, должен быть членом предопределенной роли сервера sysadmin .

Для передачи базы данных с использованием режима в сети пользователь, выполняющий пакет, должен быть членом предопределенной роли сервера sysadmin или владельцем выбранной базы данных (dbo).

SourceDatabaseName
Выберите имя базы данных, подлежащей копированию или перемещению.

SourceDatabaseFiles
Нажмите кнопку обзора, чтобы выбрать файлы базы данных.

ReattachSourceDatabase
Укажите, должна ли задача предпринять попытку повторно присоединить базу данных-источник при возникновении сбоя.

Параметры этого свойства приведены в следующей таблице.

значение Описание
True Присоединить повторно базу данных-источник.
False Не присоединять повторно базу данных-источник.

Файлы базы данных-источника

Диалоговое окно Файлы базы данных-источника используется для просмотра имен файлов базы данных и их размещения на исходном сервере, а также для указания общей сетевой папки в задаче «Передача базы данных».

Чтобы наполнить диалоговое окно именами файлов базы данных и ресурсов исходного сервера, сначала укажите параметры SourceConnection (Подключение к источнику) и SourceDatabaseName (Имя базы данных-источника) на странице Базы данных диалогового окна Редактор задачи «Передача базы данных» .

Параметры

Исходный файл
Имена файлов базы данных на исходном сервере, которые будут перенесены. ПараметрИсходный файл доступен только для чтения.

Исходная папка
Папка на исходном сервере, в которой хранятся файлы базы данных, подлежащей переносу. ПараметрИсходная папка доступен только для чтения.

Сетевая общая папка
Сетевая общая папка на исходном сервере, из которой будут перенесены файлы базы данных. Параметр Сетевая общая папка используется при переносе базы данных в режиме вне сети путем задания значения DatabaseOffline (Автономный режим базы данных) параметру Метод на странице Базы данных диалогового окна Редактор задачи «Передача базы данных» .

Введите путь к общей сетевой папке или нажмите кнопку обзора (...), чтобы найти эту папку.

При переносе базы данных в режиме вне сети файлы базы данных копируются в заданную параметром Сетевая общая папка папку на исходном сервере, прежде чем они будут перенесены на целевой сервер.

Файлы базы данных-назначения

Используйте диалоговое окно Файлы целевой базы данных для просмотра или изменения имен файлов базы данных и местоположений на целевом сервере, или для определения положения в сети файла для задачи «Передача базы данных».

Для автоматического заполнения этого диалогового окна именами файлов базы данных и положений на исходном сервере сначала укажите SourceConnection, SourceDatabaseNameи SourceDatabaseFiles на странице Базы данных диалогового окна Редактор задачи «Передача базы данных» .

Параметры

Целевой файл
Имена переданных файлов базы данных на целевом сервере.

Введите имя файла или нажмите имя файла для редактирования.

Целевая папка
Папка на целевом сервере, куда должны быть переданы файлы базы данных.

Введите путь к папке, нажмите путь к папке для редактирования или нажмите кнопку обзора для указания папки, куда необходимо передать файлы базы данных на целевом сервере.

Сетевая общая папка
Общая сетевая папка на целевом сервере, куда должны быть переданы файлы базы данных. Используйте Сетевую общую папку для передачи базы данных в режиме вне сети, указав значение DatabaseOffline параметра Метод на странице Базы данных диалогового окна Редактор задачи «Передача базы данных» .

Введите размещение сетевой общей папки или нажмите кнопку обзора для ее указания.

При передаче базы данных в режиме вне сети файлы базы данных копируются в Сетевую общую папку перед тем, как они переданы в расположение Целевая папка .