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


Миграция на частично автономную базу данных

В этом разделе описано, как подготовить к переходу на частично автономную модель базы данных, и приведены шаги по миграции.

В этом разделе:

  • Подготовка к миграции базы данных

  • Включение частично автономных баз данных

  • Преобразование базы данных в частично автономную

  • Миграция пользователей в пользователей автономной базы данных

Подготовка к миграции базы данных

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

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

  • Необходимо понимать риски, связанные с частично автономными базами данных. Дополнительные сведения см. в разделе Рекомендации по обеспечению безопасности автономных баз данных.

  • Автономные базы данных не поддерживают репликацию, отслеживание измененных данных или отслеживание изменений. Убедитесь, что в базе данных не используются эти функции.

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

  • Выполнив запрос к представлению sys.dm_db_uncontained_entities (Transact-SQL), найдите в базе данных неавтономные объекты или функции. Дополнительные сведения см. в разделе

  • Мониторьте XEvent database_uncontained_usage, чтобы определить, когда используются неавтономные функции.

Включение автономных баз данных

Перед созданием автономных баз данных поддержка автономных баз данных должна быть включена на экземпляре Компонент SQL Server Database Engine.

Включение автономных баз данных с помощью Transact-SQL

В следующем примере в экземпляре компонента Компонент SQL Server Database Engine создаются автономные базы данных.

sp_configure 'contained database authentication', 1;
GO
RECONFIGURE ;
GO

Включение автономных баз данных с помощью среды Management Studio

В следующем примере в экземпляре компонента Компонент SQL Server Database Engine создаются автономные базы данных.

  1. В обозревателе объектов щелкните правой кнопкой мыши имя сервера и выберите пункт Свойства.

  2. На странице Расширенные в разделе Включение установите параметр Включить автономные базы данных в значение True.

  3. Нажмите кнопку ОК.

Преобразование базы данных в частично автономную

База данных преобразуется в автономную путем изменения ее параметра CONTAINMENT.

Преобразование базы данных в частично автономную с помощью Transact-SQL

В следующем примере база данных показано преобразование Accounting в частично автономную базу данных.

USE [master]
GO
ALTER DATABASE [Accounting] SET CONTAINMENT = PARTIAL
GO

Преобразование базы данных в частично автономную с помощью среды Management Studio

В следующем примере база данных преобразуется в частично автономную базу данных.

  1. В обозревателе объектов разверните узел Базы данных, щелкните правой кнопкой мыши базу данных, которую необходимо преобразовать, а затем выберите пункт меню Свойства.

  2. На странице Параметры измените параметр Тип вложения на Частичный.

  3. Нажмите кнопку ОК.

Миграция пользователей в пользователей автономной базы данных

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

DECLARE @username sysname ;
DECLARE user_cursor CURSOR
    FOR 
        SELECT dp.name 
        FROM sys.database_principals AS dp
        JOIN sys.server_principals AS sp 
        ON dp.sid = sp.sid
        WHERE dp.authentication_type = 1 AND sp.is_disabled = 0;
OPEN user_cursor
FETCH NEXT FROM user_cursor INTO @username
    WHILE @@FETCH_STATUS = 0
    BEGIN
        EXECUTE sp_migrate_user_to_contained 
        @username = @username,
        @rename = N'keep_name',
        @disablelogin = N'disable_login';
    FETCH NEXT FROM user_cursor INTO @username
    END
CLOSE user_cursor ;
DEALLOCATE user_cursor ;

См. также

Справочник

sp_migrate_user_to_contained (Transact-SQL)

sys.dm_db_uncontained_entities (Transact-SQL)

Основные понятия

Автономные базы данных