Como vocês provavelmente sabem, o SQL Server não fornece uma solução pronta para exportar todas as instruções relacionadas à segurança que são declaradas para cada elemento no banco de dados (tanto no nível do banco de dados quanto no nível do objeto)
Estou falando sobre a capacidade de obter essas informações
- Todos os usuários
- Todas as funções definidas pelo usuário
- Todas as permissões no nível do banco de dados (por exemplo, GRANT CREATE FUNCTION)
- Todas as permissões no nível do objeto (por exemplo, GRANT SELECT ON OBJECT::xxx)
Você pensaria que o SQL Server DEVE ter algo assim, mas nem o SQL Server Export Wizard ou os vários scripts que são gerados como resultado de clicar com o botão direito do mouse nos objetos capturam essas informações.
Eu vi on-line muitas "soluções possíveis" diferentes usando scripts sem curadoria que as pessoas publicam graciosamente, mas como tenho que ter 100% de certeza de que todas as informações de segurança são capturadas, não posso confiar totalmente nesses scripts.
Eu tenho a opção de usá-los como ponto de partida para escrever algo, mas odeio ter que reinventar a roda para um requisito que você acha que muitas pessoas podem ter.
Não existe uma ferramenta fornecida por alguém (seja como parte do produto SQL Server ou uma ferramenta de terceiros) que possa fornecer essas informações de forma confiável?
Ou, pelo menos, existe um script suportado pela comunidade que a maioria das pessoas concordaria que "fará o trabalho"?
Obrigado!
Lamento que você não tenha recebido uma resposta desde ontem; aqui está pelo menos um ponto de partida para você.
Você pode tentar puxar as peças que você precisa. Como sempre, leia os tópicos de discussão (infelizmente, não consegui encontrar um script endossado pelos grandes nomes que reconheço, então teste bem! Permissões de nível de esquema, objeto, servidor e coluna geralmente estão ausentes).
Na verdade, não usei nenhum deles, mas são um conjunto de pontos de partida, sem ordem específica.
Listar todas as permissões em todos os bancos de dados
Auditoria de permissões automatizada com Powershell e T-SQL: parte 1
Script de permissão em todos os bancos de dados
Permissões de nível de banco de dados de script v2.1
Procedimento armazenado para script de permissões de usuário
Consultas de segurança: nível de banco de dados
Consultas de segurança: nível do servidor
O Idera SQL Permissions Extractor parece ser o produto que você está procurando.
Ele pode criar scripts de permissões de servidor e objeto e é gratuito. Há também uma edição comercial, chamada SQL Secure , que possui mais recursos.
A comparação de recursos entre as duas edições pode ser encontrada aqui .
https://gallery.technet.microsoft.com/Extract-Database-dfa53d5a/
consulte esse link para baixar o código abaixo