Comme vous le savez probablement, SQL Server ne fournit pas de solution prête à l'emploi pour exporter toutes les instructions liées à la sécurité qui sont déclarées pour chaque élément de la base de données (à la fois au niveau de la base de données et au niveau de l'objet)
Je parle de la possibilité de trouver ces informations
- Tous les utilisateurs
- Tous les rôles définis par l'utilisateur
- Toutes les autorisations au niveau de la base de données (par exemple, GRANT CREATE FUNCTION)
- Toutes les autorisations au niveau de l'objet (par exemple GRANT SELECT ON OBJECT :: xxx)
On pourrait penser que SQL Server DOIT avoir quelque chose comme ça, mais ni l'assistant d'exportation SQL Server ni les divers scripts générés à la suite d'un clic droit sur les objets ne capturent ces informations.
J'ai vu en ligne de nombreuses "solutions possibles" différentes utilisant des scripts non organisés que les gens publient gracieusement, mais comme je dois être sûr à 100% que toutes les informations de sécurité sont capturées, je ne peux pas compter entièrement sur ces scripts.
J'ai la possibilité de les utiliser comme point de départ pour écrire quelque chose moi-même, mais je déteste devoir réinventer la roue pour une exigence que vous pensez que beaucoup de gens peuvent avoir.
N'y a-t-il pas un outil fourni par quelqu'un (dans le cadre du produit SQL Server ou d'un outil tiers) qui pourrait vous fournir de manière fiable ces informations?
Ou du moins, existe-t-il un script soutenu par la communauté dont la plupart des gens conviendraient "fera le travail"?
Merci!
la source
Je suis désolé que vous n'ayez pas eu de réponse depuis hier; voici au moins un point de départ pour vous.
Vous pouvez essayer de retirer les pièces dont vous avez besoin. Comme toujours, lisez les fils de discussion (malheureusement, je n'ai pas pu trouver un script approuvé par les grands noms que je reconnais, alors testez bien! Les autorisations de niveau schéma, objet, serveur et colonne sont souvent manquantes).
Je n'ai en fait utilisé aucun de ces éléments, mais il s'agit d'un ensemble de points de départ, sans ordre particulier.
Répertorier toutes les autorisations dans toutes les bases de données
Audit automatisé des autorisations avec Powershell et T-SQL: Partie 1
Script d'autorisation sur toutes les bases de données
Autorisations de niveau DB Script v2.1
Procédure stockée pour scripter les autorisations utilisateur
Requêtes de sécurité: au niveau de la base de données
Requêtes de sécurité: niveau serveur
la source
https://gallery.technet.microsoft.com/Extract-Database-dfa53d5a/
se référer à ce lien pour télécharger le code ci-dessous
la source