Nota
O acesso a esta página requer autorização. Pode tentar iniciar sessão ou alterar os diretórios.
O acesso a esta página requer autorização. Pode tentar alterar os diretórios.
Para acessar uma instância do Microsoft SQL Server, um usuário deve ter credenciais válidas do SQL Server. Esse login é usado no processo de autenticação que verifica se o principal tem permissão para se conectar à instância do SQL Server. Os logons do SQL Server em uma instância de servidor são visíveis na exibição de catálogo sys.server_principals e no modo de exibição de compatibilidade sys.syslogins.
Os logons do SQL Server acessam bancos de dados individuais usando um usuário de banco de dados mapeado para o logon do SQL Server. Há duas exceções a esta regra:
A conta de convidado.
Essa é uma conta que, quando habilitada no banco de dados, permite que os logons do SQL Server que não estão mapeados para um usuário de banco de dados acessem o banco de dados como o usuário convidado.
Associação de grupo do Microsoft Windows.
Um logon do SQL Server criado a partir de um usuário do Windows poderá acessar um banco de dados se esse usuário for membro de um grupo do Windows que também seja um usuário no banco de dados.
Informações sobre o mapeamento de um logon do SQL Server para um usuário do banco de dados são armazenadas no banco de dados. Isso inclui o nome do usuário do banco de dados e o SID do logon do SQL Server correspondente. As permissões desse usuário de banco de dados são usadas para autorização no banco de dados.
Um usuário de banco de dados para o qual o logon correspondente do SQL Server é indefinido ou está definido incorretamente em uma instância de servidor não pode fazer logon na instância. Esse usuário é um usuário órfão do banco de dados nessa instância do servidor. Um usuário de banco de dados poderá ficar órfão se o logon correspondente do SQL Server for descartado. Além disso, um usuário de banco de dados pode ficar órfão depois que um banco de dados é restaurado ou anexado a uma instância diferente do SQL Server. A órfã pode acontecer se o usuário do banco de dados for mapeado para um SID que não está presente na nova instância do servidor.
Observação
Um logon do SQL Server não pode acessar um banco de dados no qual ele não tem um usuário de banco de dados correspondente, a menos que o convidado esteja habilitado nesse banco de dados. Para obter informações sobre como criar uma conta de usuário de banco de dados, consulte CREATE USER (Transact-SQL).
Para detectar usuários órfãos
Para detectar usuários órfãos, execute as seguintes instruções de Transact-SQL:
USE <database_name>;
GO;
sp_change_users_login @Action='Report';
GO;
A saída lista os usuários e os SID (identificadores de segurança) correspondentes no banco de dados atual que não estão vinculados a nenhum logon do SQL Server. Para obter mais informações, consulte sp_change_users_login (Transact-SQL).
Observação
sp_change_users_login não pode ser usado com logons do SQL Server criados a partir do Windows.
Para resolver um usuário órfão
Para resolver um usuário órfão, use o seguinte procedimento:
O comando a seguir revincula a conta de logon do servidor especificada por <login_name> com o usuário de banco de dados especificado pelo <database_user>.
USE <database_name>; GO sp_change_users_login @Action='update_one', @UserNamePattern='<database_user>', @LoginName='<login_name>'; GOPara obter mais informações, consulte sp_change_users_login (Transact-SQL).
Depois de executar o código na etapa anterior, o usuário poderá acessar o banco de dados. Em seguida, o usuário pode alterar a senha da conta de login <login_name> usando o procedimento armazenado sp_password, conforme segue:
USE master GO sp_password @old=NULL, @new='password', @loginame='<login_name>'; GOImportante
Somente logons com a permissão ALTER ANY LOGIN podem alterar a senha do logon de outro usuário. Porém, somente membros da função sysadmin podem modificar senhas de membros da função sysadmin .
Observação
sp_password não pode ser usado para contas do Microsoft Windows. Os usuários que se conectam a uma instância do SQL Server por meio de sua conta de rede do Windows são autenticados pelo Windows; portanto, suas senhas só podem ser alteradas no Windows.
Para obter mais informações, consulte sp_password (Transact-SQL).
Consulte Também
CRIAR USUÁRIO (Transact-SQL)
CREATE LOGIN (Transact-SQL)
sp_change_users_login (Transact-SQL)
sp_addlogin (Transact-SQL)
sp_grantlogin (Transact-SQL)
sp_password (Transact-SQL)
sys.sysusers (Transact-SQL)
sys.syslogins (Transact-SQL)