Dando permissões de banco de dados de usuário no SQL Server Management Studio

5

No SQL Server Management Studio, quando clico com o botão direito do mouse no meu banco de dados e clico em propriedades, uma janela é aberta mostrando as permissões que os usuários têm no banco de dados. Eu adicionei recentemente um usuário ao diretório ativo com a intenção de conceder a permissão desse usuário no meu banco de dados. O problema é que, no diretório ativo, vejo muitos usuários, mas no SQL Server Management Studio, vejo apenas alguns desses usuários. O usuário que acabei de criar não aparece quando eu clico em pesquisar- > navegar ou quando procuro o nome exato. O que estou fazendo de errado? O SQL Server não deve conseguir se conectar ao Active Directory para obter a lista de usuários? Além disso, parece que todos os usuários que estão aparecendo são todos de um grupo no AD ...

Editar

apenas dizendo obrigado por todas as respostas ...

Resumo das respostas e da solução

Os usuários precisam ser adicionados à pasta principal de logins Security- > ANTES de serem exibidos na listagem Properties- > Permissions- > de usuários de um determinado banco de dados. No entanto, como eu não tinha permissões suficientes no próprio SQL Server, quando fui para a pasta principal de logons, não pude ver os usuários (mesmo que eles estivessem lá para o meu colega que tinha mais permissões). Mas desde que eu tinha permissões suficientes no banco de dados, eu poderia ver os usuários lá, levando à minha confusão.

    
por KyleM 21.04.2011 / 16:35

3 respostas

8

Você precisa primeiro adicionar sua conta do Windows à instância do SQL Server. Vá para a pasta de segurança da instância, não do banco de dados. Adicione o usuário que você deseja como um novo login. Depois que eles forem adicionados à instância do SQL Server, você poderá atribuir permissões a eles em bancos de dados individuais.

    
por 21.04.2011 / 16:39
5

Você está se referindo a usuários do banco de dados ou logins do SQL? Um usuário do banco de dados é baseado em um login do SQL, que precisa ser criado primeiro. Ao adicionar um login do SQL, você tem a opção de usar a autenticação do Windows ou a autenticação do SQL. Se você escolher a autenticação do Windows, poderá procurar uma conta de usuário ou grupo local ou uma conta de usuário ou grupo de domínio. Depois de criar o login, você pode conceder acesso a um banco de dados que criará o usuário no banco de dados.

Usuários e logins não aparecem apenas, eles precisam ser criados.

    
por 21.04.2011 / 16:42
2

Basicamente, o que você deve fazer é adicionar o ADuser como um login do SQL Server (para que ele seja autenticado no servidor) e criar um usuário no banco de dados associado ao logon e conceder a esse usuário uma permissão para fazer coisas (ler, escrever, atualizar etc) em seu banco de dados (autorização). Você pode conseguir isso usando algo dentro disso:

USE [master]
GO
CREATE LOGIN [Domain\User] FROM WINDOWS WITH DEFAULT_DATABASE=[master]
GO
USE [YourTargetDatabase]
GO
CREATE USER [Domain\User] FOR LOGIN [Domain\User]
GO
USE [YourTargetDatabase]
GO
EXEC sp_addrolemember N'db_datareader', N'Domain\User'
GO
USE [YourTargetDatabase]
GO
EXEC sp_addrolemember N'db_datawriter', N'Domain\User'
GO

Às vezes, você pode ver usuários que não estão associados a nenhum log-in devido ao fato de que o banco de dados obtido em outro servidor pode ser restaurado aqui ou o login é excluído sem a remoção dos usuários associados.

    
por 21.04.2011 / 16:59