Usuário com melhor resposta
Liberar acesso a leitura de uma view

Pergunta
-
Bom dia, preciso limitar um usuario no sql server 2008 a visualizar uma view pelo excel 2010.
Ou seja, ele nao podera acessar nenhuma outra tabela do banco, nem outro objeto qualquer, apenas conectar pelo excel e visualizar os registros da view.
Ja criei o usuario no banco.Como faço agora essa limitação de segurança??
Respostas
-
Olá Rodrigo,
De fato isso é necessário, pois, um mesmo login pode ter acesso à vários bancos. Para proteger cada banco é necessário associá-lo (a isso chamamos de usuário).
Que bom que a resposta atendeu às suas expectativas. Se puder, por favor classifique a resposta marcando-a como útil e respondida.
[ ]s,
Gustavo Maia Aguiar
http://gustavomaiaaguiar.wordpress.com/Simulado para o Exame 70-433 – MCTS: Microsoft SQL Server 2008 – Database Development – Parte 07
http://gustavomaiaaguiar.wordpress.com/2010/12/31/simulado-para-o-exame-70-433-mcts-microsoft-sql-server-2008-database-development-%e2%80%93-parte-07/
Classifique as respostas. O seu feedback é imprescindível- Marcado como Resposta Rodrigo Lima Santos sexta-feira, 8 de abril de 2011 17:48
Todas as Respostas
-
Boa Tarde,
Se você criou o usuário (e não colocou ele em nenhum role), ele não conseguirá acessar nada.
Basta então dar permissão na View.GRANT SELECT ON View To Usuario
[ ]s,
Gustavo Maia Aguiar
http://gustavomaiaaguiar.wordpress.com/Simulado para o Exame 70-433 – MCTS: Microsoft SQL Server 2008 – Database Development – Parte 07
http://gustavomaiaaguiar.wordpress.com/2010/12/31/simulado-para-o-exame-70-433-mcts-microsoft-sql-server-2008-database-development-%e2%80%93-parte-07/
Classifique as respostas. O seu feedback é imprescindível- Sugerido como Resposta Gustavo Maia Aguiar sexta-feira, 7 de janeiro de 2011 15:24
-
Grande Gustavo,
Ao rodar o seu comando (GRANT SELECT ON RESVENDAS To relato) da seguinte erro na tela:
Msg 15151, Level 16, State 1, Line 3
Cannot find the user 'relato', because it does not exist or you do not have permission.
O usuario criado chama-se relato e como voce mesmo entendeu, apenas criei o usuario, ele nao tem acesso a nada ainda.
O que pode ser feito?
-
Boa Tarde,
O nome da View é RESVendas mesmo ? Não seria algo como dbo.Resvendas ou algum outro nome ?
Você criou um login no SQL Server, mas há um usuário associado no banco onde está a View ?Verifique se o usuário está correto. O código abaixo deve retorná-lo (se executado no banco onde está a view).
SELECT * FROM sys.database_principals WHERE Name = 'relato'
Caso não exista, rode o comando
CREATE USER relato FROM Login relato
[ ]s,
Gustavo Maia Aguiar
http://gustavomaiaaguiar.wordpress.com/Simulado para o Exame 70-433 – MCTS: Microsoft SQL Server 2008 – Database Development – Parte 07
http://gustavomaiaaguiar.wordpress.com/2010/12/31/simulado-para-o-exame-70-433-mcts-microsoft-sql-server-2008-database-development-%e2%80%93-parte-07/
Classifique as respostas. O seu feedback é imprescindível- Sugerido como Resposta Gustavo Maia Aguiar sexta-feira, 7 de janeiro de 2011 15:51
-
-
Olá Rodrigo,
De fato isso é necessário, pois, um mesmo login pode ter acesso à vários bancos. Para proteger cada banco é necessário associá-lo (a isso chamamos de usuário).
Que bom que a resposta atendeu às suas expectativas. Se puder, por favor classifique a resposta marcando-a como útil e respondida.
[ ]s,
Gustavo Maia Aguiar
http://gustavomaiaaguiar.wordpress.com/Simulado para o Exame 70-433 – MCTS: Microsoft SQL Server 2008 – Database Development – Parte 07
http://gustavomaiaaguiar.wordpress.com/2010/12/31/simulado-para-o-exame-70-433-mcts-microsoft-sql-server-2008-database-development-%e2%80%93-parte-07/
Classifique as respostas. O seu feedback é imprescindível- Marcado como Resposta Rodrigo Lima Santos sexta-feira, 8 de abril de 2011 17:48