Migrar para um banco de dados independente parcialmente
Este tópico discute como preparar para alterar para o modelo de banco de dados independente parcialmente e, em seguida, fornece as etapas de migração.
Neste tópico:
Preparando para migrar um banco de dados
Habilitar bancos de dados parcialmente independentes
Convertendo um banco de dados para parcialmente independente
Migrando usuários para usuários de bancos de dados independentes
Preparando para migrar um banco de dados
Analise os itens a seguir se desejar migrar um banco de dados para o modelo de banco de dados independente parcialmente.
Você deve entender o modelo de banco de dados independente parcialmente. Para obter mais informações, consulte Bancos de dados contidos.
Você deve entender os riscos que são exclusivos para bancos de dados independentes parcialmente. Para obter mais informações, consulte Práticas recomendadas de segurança com bancos de dados independentes.
Bancos de dados independentes não oferecem suporte à replicação, Change Data Capture ou controle de alterações. Confirme que o banco de dados não usa estes recursos.
Analise a lista de recursos de banco de dados que são modificados para bancos de dados independentes parcialmente. Para obter mais informações, consulte Recursos modificados (banco de dados independente).
Consulte sys.dm_db_uncontained_entities (Transact-SQL) para localizar objetos não contidos ou recursos no banco de dados. Para obter mais informações, consulte.
Monitore o database_uncontained_usage XEvent para ver quando são usados recursos não contidos.
Habilitar bancos de dados independentes
Os bancos de dados independentes devem ser habilitados na instância do Mecanismo de Banco de Dados do SQL Server, antes de os bancos de dados independentes poderem ser criados.
Habilitando bancos de dados independentes usando Transact-SQL
O exemplo a seguir habilita bancos de dados independentes na instância do Mecanismo de Banco de Dados do SQL Server.
sp_configure 'contained database authentication', 1;
GO
RECONFIGURE ;
GO
Habilitando bancos de dados independentes usando o Management Studio
O exemplo a seguir habilita bancos de dados independentes na instância do Mecanismo de Banco de Dados do SQL Server.
No Pesquisador de Objetos, clique com o botão direito do mouse no nome do servidor e então clique em Propriedades.
Na página Avançado, na seção Retenção, defina a opção Habilitar Bancos de Dados Independentes como True.
Clique em OK.
Convertendo um banco de dados para parcialmente independente
Um banco de dados é convertido para um banco de dados independente alterando a opção CONTAINMENT.
Convertendo um banco de dados para independente parcialmente usando Transact-SQL
O exemplo a seguir converte um banco de dados chamado Accounting para um banco de dados independente parcialmente.
USE [master]
GO
ALTER DATABASE [Accounting] SET CONTAINMENT = PARTIAL
GO
Convertendo um banco de dados para independente parcialmente usando Management Studio
O exemplo a seguir converte um banco de dados para um banco de dados independente parcialmente.
No Pesquisador de Objetos, expanda Bancos de Dados, clique com o botão direito do mouse no banco de dados que será convertido e clique em Propriedades.
Na página Opções, altere a opção Tipo de Retenção para Parcial.
Clique em OK.
Migrando usuários para usuários de bancos de dados independentes
O exemplo a seguir migra todos os usuários baseados em logons do SQL Server para usuários de bancos de dados independentes com senhas. O exemplo exclui os logons que não estão habilitados. O exemplo deve ser executado no banco de dados independente.
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 ;
Consulte também
Referência
sp_migrate_user_to_contained (Transact-SQL)
sys.dm_db_uncontained_entities (Transact-SQL)