Ich möchte feststellen, ob der derzeit verbundene Datenbankbenutzer Berechtigungen zum Erstellen einer neuen Datenbank hat. Das möchte ich mit SQL erreichen.SQL Server 2008: Ermitteln der Berechtigung zum Erstellen einer neuen Datenbank?
Ich versuchte dies:
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
weil auf der MSDN-Seite die Berechtigungen, wo in den Create Database documentation aufgeführt. Das funktioniert aber nicht, da ich einen Benutzer in der Rolle dbcreator habe und für seinen Benutzer keine der Berechtigungen aufgelistet ist.
So brauche ich eine zuverlässige Weg, um die erforderlichen Berechtigungen mit SQL zu bestimmen. Kannst du mir helfen?
Danke. Das ist es :) –