De quais permissões o Intellisense do SSMS depende?

2

Temos um servidor no qual o SQL Server 2008 está sendo executado. Quando nos conectamos com o SSMS com alguns logins (do SSMS 2008), o Intellisense está disponível. Para outros, não é. Os logins em questão se conectam ao mesmo banco de dados, e nada mais é alterado entre as sessões SSMS além do login usado para se conectar.

Se eu me conectar como um login que é um membro do db_owner, o Intellisense funciona. Se eu me conectar como um login que não esteja no db_owner, mas com privilégios de 'View Definition', o Intellisense funciona. Se eu me conectar como um login que não esteja no db_owner ou tenha privilégios de 'View Definition', o Intellisense não funciona.

Então eu tentei conceder os privilégios de terceiro login para 'View Definition' para aquele banco de dados, pensando que eles obteriam o Intellisense. Sem sorte. O terceiro login tem acesso a dois outros bancos de dados. Em todos os três bancos de dados, esse login é um membro da função db_datareader, mas não possui outras funções (nem privilégio 'View Definition'). Nos outros dois bancos de dados, esse login recebe o Intellisense. No banco de dados principal, isso não acontece.

Parece-me que há alguma configuração / permissão por banco de dados e por login que permite o Intellisense, mas até agora não consegui rastreá-lo.

Alguma idéia?

    
por MartW 09.02.2011 / 16:44

1 resposta

2

São ambas as permissões e "View Definition". Você não pode visualizar a definição de algo sobre o qual você não tem permissão devido à visibilidade de metadados . Então, para permissões ...

O db_owner também é um wrapper para permissões de CONTROLE, semelhante ao ddl_admin e outros direitos. Além disso

Para ver os direitos reais , é necessário consultar sys.database_permissions . Por exemplo, GRANT ALTER SCHEMA separa as funções de banco de dados fixas (ALTER ANY O SCHEMA é ddl_admin, é claro).

É mais complexo que antes: -)

FYI: Você obtém coisas úteis como GRANT ALTER TRACE, que permite o profiler sem sysadmin , desculpe SERVER DE CONTROLE

    
por 09.02.2011 / 22:09