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


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

Область применения: SQL Server

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

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

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

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

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

  • Необходимо понимать риски, связанные с частично автономными базами данных. Дополнительные сведения см. в разделе Security Best Practices with Contained Databases.

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

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

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

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

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

Перед созданием содержащихся баз данных необходимо включить экземпляр SQL Server ядро СУБД.

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

В следующем примере содержатся базы данных в экземпляре SQL Server ядро СУБД.

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

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

В следующем примере содержатся базы данных в экземпляре SQL Server ядро СУБД.

  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)