Welche Mitgliedschaft in einer Datenbankrolle gewährt die Berechtigung zum Ausführen aller vorhandenen gespeicherten Prozeduren in SQL Server 2012?
Ich habe versucht, jedem einen Benutzer hinzuzufügen, und kann eine gespeicherte Prozedur immer noch nicht ausführen. Ich möchte nicht EXECUTE
für jede gespeicherte Prozedur separat gewähren , ich möchte den Benutzer einer Rolle hinzufügen und er kann eine von ihnen ausführen.
Antworten:
Wenn Sie andere Schemas als das Standardschema verwenden
dbo
, erstellen Sie eine Datenbankrolle pro Schema und gewähren SieEXECUTE
der Rolle das Schema.zB Für das Standardschema
dbo
:Für ein neues Schema:
quelle
exec sp_addrolemember N'role_exec_mySchema', N'{theDBUserName}'
. :-)Standardmäßig keine.
Erstellen Sie eine neue Rolle und gewähren Sie ihr die Ausführung. Dies sollte auch gespeicherte Prozesse abdecken, die in Zukunft erstellt wurden.
quelle