web-dev-qa-db-fra.com

Comment scripter les autorisations pour toutes les connexions / utilisateurs / tables / schémas

Au fil des ans, j'ai utilisé d'innombrables scripts et applications pour générer toutes les autorisations pour les bases de données SQL Server. J'ai utilisé des outils payants et gratuits. Je pense qu’aucun d’entre eux ne semble exact dans tous les cas. Je cherche simplement un moyen de générer toutes les autorisations pour une base de données donnée, tout en étant sûr que le script est correct et peut être utilisé après une sauvegarde/restauration à partir d'une autre instance. Quelqu'un at-il une méthode en laquelle il a confiance et utilise régulièrement

7
SomeGuy

J'ai quelques procédures stockées que j'ai écrites et que j'utilise régulièrement.

Ils ont chacun trois sorties.

  • Principals: une liste des principaux de la base de données/serveur et des informations associées, y compris les scripts de création/suppression.
  • Role membership: Une liste des rôles auxquels appartient chaque base de données/serveur principal, ainsi que des scripts d'ajout/suppression.
  • Permissions: Une liste d'autorisations individuelles (EXECUTE, INSERT, UPDATE, CONNECT etc.) pour chaque principal de base de données/serveur.

Évidemment, le sp Srv est pour les principaux du serveur et le sp DB est pour les principaux au niveau de la base de données. Le DB sp a également une option "All" pour le nom de la base de données. Avec cette option, il parcourt et extrait toutes les autorisations pour toutes les bases de données.

Remarque: À l'origine, il s'agissait d'un outil de recherche.Il existe donc un bon nombre d'options qui vous permettront d'analyser vos données. Juste des rôles, tout sauf des rôles, juste un nom principal spécifique, etc.

5
Kenneth Fisher

sp_help_revlogin

Voir: Comment transférer des connexions et des mots de passe entre des instances de SQL Server sur MSDN

A fonctionné assez bien pour moi l'été dernier.

2
Michael P