2010-11-19 3 views
1

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?

Antwort

1

Haben Sie dies anstelle Ihrer Anfrage versucht?

select * from sys.fn_my_permissions('','') 
+0

Danke. Das ist es :) –

Verwandte Themen