Je veux déterminer si le actuellement connecté utilisateur de base de données a des autorisations pour créer une nouvelle base de données. Je veux y parvenir en utilisant SQL.SQL Server 2008: Comment déterminer l'autorisation de créer une nouvelle base de données?
J'ai essayé ceci:
WITH perms AS
(SELECT DISTINCT permission_name AS perm
FROM [sys].[server_permissions]
WHERE permission_name IN
('CONTROL SERVER', 'ALTER ANY DATABASE', 'CREATE ANY DATABASE')
UNION
SELECT DISTINCT permission_name
FROM [sys].[database_permissions]
WHERE permission_name IN
('CREATE DATABASE', 'ALTER DATABASE')
)
SELECT COUNT(perm) AS Permissions FROM perms
parce que sur la page MSDN où ces autorisations répertoriées dans la Create Database documentation. Cela ne fonctionne pas, car j'ai un utilisateur dans le rôle dbcreator, et pour son utilisateur aucune des permissions n'est listée.
J'ai donc besoin d'un fiable pour déterminer les autorisations requises en utilisant SQL. Pouvez-vous m'aider?
Merci. C'est tout :) –