Резервное копирование, восстановление и перемещение каталога служб SSIS
SQL Server 2014 Службы Integration Services (SSIS) включают базу данных SSISDB. Создайте запрос представления в базе данных SSISDB для просмотра объектов, настроек и рабочих данных, которые хранятся в каталоге SSISDB . Этот раздел содержит инструкции для выполнения резервного копирования и восстановления базы данных.
В каталоге SSISDB хранятся пакеты, которые развернуты на сервере Службы Integration Services. Дополнительные сведения о каталоге см. в разделе Каталог служб SSIS.
Создание резервной копии базы данных служб SSIS
Откройте среду SQL Server Management Studio и установите соединение с экземпляром SQL Server.
Создайте резервную копию главного ключа для базы данных SSISDB с помощью инструкции BACKUP MASTER KEY Transact-SQL. Ключ хранится в указанном файле. Используйте пароль для шифрования главного ключа базы данных в файле.
Дополнительные сведения об инструкции см. в разделе BACKUP MASTER KEY (Transact-SQL).
В следующем примере главный ключ экспортируется в файл
c:\temp directory\RCTestInstKey
. ПарольLS2Setup!
используется для шифрования главного ключа.backup master key to file = 'c:\temp\RCTestInstKey' encryption by password = 'LS2Setup!'
Выполните резервное копирование базы данных SSISDB с помощью диалогового окна Создание резервной копии базы данных в SQL Server Management Studio. Дополнительные сведения см. в разделе Как создать резервную копию базы данных (среда SQL Server Management Studio).
Создайте скрипт CREATE LOGIN для ## MS_SSISServerCleanupJobLogin ##, выполнив следующие действия. Дополнительные сведения см. в статье CREATE LOGIN (Transact-SQL).
В обозревателе объектов среды SQL Server Management Studioразверните узел Безопасность , а затем узел Имена входа .
Щелкните правой кнопкой мыши ##MS_SSISServerCleanupJobLogin## и выберите Внести в скрипт имена входа как>СОЗДАТЬ в>В новом окне редактора запросов.
Если вы будете восстанавливать базу данных SSISDB в экземпляре SQL Server, где каталог SSISDB никогда не был создан, создайте скрипт CREATE PROCEDURE для sp_ssis_startup, выполнив следующие действия. Дополнительные сведения см. в статье CREATE PROCEDURE (Transact-SQL).
В обозреватель объектов разверните узел Базы данных, а затем узел Системные базы данных>master>Хранимые процедурыпрограммирования>.
Щелкните правой кнопкой мыши dbo.sp_ssis_startupи выберите Внести в скрипт хранимые процедуры как>СОЗДАТЬ в>В новом окне редактора запросов.
Убедитесь, что агент SQL Server запущен.
Если вы будете восстанавливать базу данных SSISDB в экземпляре SQL Server, где каталог SSISDB никогда не был создан, создайте скрипт для задания обслуживания сервера SSIS, выполнив следующие действия. Скрипт создается в агенте SQL Server автоматически при создании каталога SSISDB. Задание помогает очистить журналы операции с вышедшим сроком сохранения и удалить старые версии проектов.
В обозревателе объектов разверните узел Агент SQL Server , а затем узел Задания .
Щелкните правой кнопкой мыши задание обслуживания сервера служб SSIS и выберите команду Создать задание как>создать> вновом окне Редактор запросов.
Восстановление базы данных служб SSIS
При восстановлении базы данных SSISDB в экземпляре SQL Server, где каталог SSISDB никогда не создавался, включите среду CLR, запустив хранимую процедуру sp_configure. Дополнительные сведения см. в разделах sp_configure (Transact-SQL) и Параметр clr enabled.
use master sp_configure 'clr enabled', 1 reconfigure
Если база данных SSISDB восстанавливается из копии на экземпляре SQL Server , где каталог SSISDB никогда не создавался, создайте асимметричный ключ и имя входа из асимметричного ключа и предоставьте разрешение UNSAFE для имени входа.
Create Asymmetric key MS_SQLEnableSystemAssemblyLoadingKey FROM Executable File = 'C:\Program Files\Microsoft SQL Server\110\DTS\Binn\Microsoft.SqlServer.IntegrationServices.Server.dll'
Службы Integration Services требуют предоставления разрешения UNSAFE для имени входа, поскольку имени входа необходим дополнительный доступ к ресурсам, на которые существуют ограничения, например API-интерфейс Microsoft Win32. Дополнительные сведения о коде разрешения UNSAFE см. в разделе Creating an Assembly.
Create Login MS_SQLEnableSystemAssemblyLoadingUser FROM Asymmetric key MS_SQLEnableSystemAssemblyLoadingKey Grant unsafe Assembly to MS_SQLEnableSystemAssemblyLoadingUser
Восстановите базу данных SSISDB из резервной копии с помощью диалогового окна Восстановление базы данных в SQL Server Management Studio. Дополнительные сведения см. в следующих разделах:
Выполните скрипт, созданный в разделе Создание резервной копии базы данных служб SSIS для ##MS_SSISServerCleanupJobLogin##, sp_ssis_startup и заданий по обслуживанию служб SSIS. Убедитесь, что агент SQL Server запущен.
Выполните следующую инструкцию для установки автоматического выполнения процедуры sp_ssis_startup. Дополнительные сведения см. в разделе sp_procoption (Transact-SQL).
EXEC sp_procoption N'sp_ssis_startup','startup','on'
Сопоставьте пользователя SSISDB ##MS_SSISServerCleanupJobUser## (база данных SSISDB) с ##MS_SSISServerCleanupJobLogin## с помощью диалогового окна Свойства имени входа в среде SQL Server Management Studio.
Восстановите главный ключ с помощью одного из следующих методов. Дополнительные сведения о шифровании см. в разделе Encryption Hierarchy.
Метод 1
Используйте этот метод при наличии резервной копии главного ключа базы данных и пароля, используемого для шифрования этого ключа.
Restore master key from file = 'c:\temp\RCTestInstKey' Decryption by password = 'LS2Setup!' -- 'Password used to encrypt the master key during SSISDB backup' Encryption by password = 'LS3Setup!' -- 'New Password' Force
Примечание
Убедитесь, что учетная запись службы SQL Server имеет разрешения на чтение файла резервной копии ключа.
Примечание
В SQL Server Management Studio появится следующее предупреждающее сообщение, если ключ master базы данных еще не зашифрован ключом master службы. Пропустите это предупреждающее сообщение.
Не удается расшифровать текущий главный ключ. Ошибка пропущена, поскольку задан параметр FORCE.
Аргумент FORCE указывает, что следует продолжить процесс восстановления, даже если текущий главный ключ базы данных закрыт. Для каталога SSISDB это сообщение будет отображаться, поскольку главный ключ базы данных не является открытым в экземпляре, где осуществляется восстановление базы данных.
Метод 2.
Этот метод следует использовать при наличии исходного пароля, который использовался для создания SSISDB.
open master key decryption by password = 'LS1Setup!' --'Password used when creating SSISDB' Alter Master Key Add encryption by Service Master Key
Определите, совместимы ли схема каталога SSISDB и двоичные файлы Службы Integration Services (сборка ISServerExec и SQLCLR), запустив catalog.check_schema_version.
Для подтверждения того, что база данных SSISDB успешно восстановлена, выполните такие операции с каталогом SSISDB, как запуск пакетов, развернутых на сервере Службы Integration Services . Дополнительные сведения см. разделе Выполнение пакета на сервере служб SSIS с использованием среды SQL Server Management Studio.
Перемещение базы данных служб SSIS
Следуйте инструкциям по перемещению пользовательских баз данных. Дополнительные сведения см. в статье Move User Databases.
Обязательно создайте резервную копию главного ключа базы данных SSISDB и защитите файл резервной копии. Дополнительные сведения см. в статье Создание резервной копии каталога SSISDB.
Убедитесь, что соответствующие объекты служб Integration Services (SSIS) созданы в новом экземпляре SQL Server , где каталог SSISDB еще не был создан.