Hallo,
ich habe ein paar Check-Prozeduren, die per Trigger aufgerufen werden. Da diese Prozeduren aber mehr Zugriffsrechte benötigen, als der normale User haben darf wollte ich an den Anfang der Prozedur ein "EXECUTE AS USER=XXX" setzen, und dem User XXX die passenden Rechte erteilen.
Zum Testen habe ich meinen Sysadmin-Account eingetragen. Allerdings kommt hierbei immer folgende Fehlermeldung:
ERROR_NUMBER(): 916
ERROR_SEVERITY(): 14
ERROR_STATE(): 1
ERROR_LINE(): 20
ERROR_MESSAGE(): Der Serverprinzipal '[Mein Sysadmin]' kann unter dem aktuellen Sicherheitskontext nicht auf die [DB]-Datenbank zugreifen.
USER: [Mein Sysadmin]
Der Trigger sieht wie folgt aus:
Jemand nen Tipp, wo ich ansetzen muss?
Gruß
Neokil
ich habe ein paar Check-Prozeduren, die per Trigger aufgerufen werden. Da diese Prozeduren aber mehr Zugriffsrechte benötigen, als der normale User haben darf wollte ich an den Anfang der Prozedur ein "EXECUTE AS USER=XXX" setzen, und dem User XXX die passenden Rechte erteilen.
Zum Testen habe ich meinen Sysadmin-Account eingetragen. Allerdings kommt hierbei immer folgende Fehlermeldung:
ERROR_NUMBER(): 916
ERROR_SEVERITY(): 14
ERROR_STATE(): 1
ERROR_LINE(): 20
ERROR_MESSAGE(): Der Serverprinzipal '[Mein Sysadmin]' kann unter dem aktuellen Sicherheitskontext nicht auf die [DB]-Datenbank zugreifen.
USER: [Mein Sysadmin]
Der Trigger sieht wie folgt aus:
Code:
ALTER TRIGGER [dbo].[SH_trPruefung]
ON [dbo].[Table]
WITH EXECUTE AS '[Mein Sysadmin]'
AFTER INSERT,UPDATE
AS
BEGIN <--Line 20
END
Jemand nen Tipp, wo ich ansetzen muss?
Gruß
Neokil