Eventos
31 de mar., 23 - 2 de abr., 23
O maior evento de aprendizado de SQL, Fabric e Power BI. 31 de março a 2 de abril. Use o código FABINSIDER para economizar $ 400.
Registre-se hoje mesmoNão há mais suporte para esse navegador.
Atualize o Microsoft Edge para aproveitar os recursos, o suporte técnico e as atualizações de segurança mais recentes.
Aplica-se: SQL Server
Converte um usuário de banco de dados mapeado para um logon do SQL Server em um usuário de banco de dados independente com senha. Em um banco de dados independente, use este procedimento para remover dependências na instância do SQL Server em que o banco de dados está instalado. sp_migrate_user_to_contained
separa o usuário do logon original do SQL Server, para que configurações como senha e idioma padrão possam ser administradas separadamente para o banco de dados independente.
sp_migrate_user_to_contained
pode ser usado antes de mover o banco de dados independente para uma instância diferente do Mecanismo de Banco de Dados do SQL Server para eliminar dependências nos logons atuais da instância do SQL Server.
Cuidado
Tenha cuidado ao usar sp_migrate_user_to_contained
, pois você não será capaz de reverter o efeito. Esse procedimento é usado apenas em um banco de dados independente. Para obter mais informações, veja Bancos de dados independentes.
sp_migrate_user_to_contained [ @username = ] N'user' ,
[ @rename = ] { N'copy_login_name' | N'keep_name' } ,
[ @disablelogin = ] { N'disable_login' | N'do_not_disable_login' }
[ ; ]
Nome de um usuário no banco de dados independente atual mapeado para um logon autenticado do SQL Server. O valor é sysname, com um padrão de NULL
.
Quando um usuário de banco de dados baseado em um logon tiver um nome de usuário diferente do nome de logon, use keep_name
para manter o nome de usuário do banco de dados durante a migração. Use copy_login_name
para criar o novo usuário de banco de dados independente com o nome do logon, em vez do usuário. Quando um usuário de banco de dados baseado em um logon tem o mesmo nome de usuário do nome de logon, as duas opções criam o usuário do banco de dados independente, sem alterar o nome.
Usado para desabilitar o logon no master
banco de dados. Para se conectar quando o logon estiver desabilitado, a conexão deve fornecer o nome do banco de dados independente como initial catalog
parte da cadeia de conexão.
0
(sucesso) ou 1
(falha).
sp_migrate_user_to_contained
Cria o usuário do banco de dados independente com senha, independentemente das propriedades ou permissões do logon. Por exemplo, o procedimento pode ser bem-sucedido se o logon estiver desabilitado ou se o usuário tiver negada a CONNECT
permissão para o banco de dados.
sp_migrate_user_to_contained
tem as seguintes restrições.
EXECUTE AS
cláusula de um procedimento armazenado assinado.EXECUTE AS OWNER
cláusula.sp_migrate_user_to_contained
não pode ser usado em um banco de dados do sistema.Ao migrar usuários, tenha cuidado para não desabilitar ou excluir todos os logons de administrador da instância do SQL Server. Se todos os logons forem excluídos, consulte Conectar-se ao SQL Server quando os administradores do sistema estiverem bloqueados.
Se o logon estiver presente, os BUILTIN\Administrators
administradores poderão se conectar iniciando o aplicativo usando a opção Executar como administrador .
Requer a permissão CONTROL SERVER
.
O exemplo a seguir migra um logon do SQL Server chamado Barry
, para um usuário de banco de dados independente com senha. O exemplo não altera o nome de usuário e mantém o logon como habilitado.
EXEC sp_migrate_user_to_contained @username = N'Barry',
@rename = N'keep_name',
@disablelogin = N'do_not_disable_login';
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 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
INNER 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;
Eventos
31 de mar., 23 - 2 de abr., 23
O maior evento de aprendizado de SQL, Fabric e Power BI. 31 de março a 2 de abril. Use o código FABINSIDER para economizar $ 400.
Registre-se hoje mesmo