SQL2008: Fehler bei 'EXECUTE AS USER'

07/09/2008 - 17:31 von Nicolas Nickisch | Report spam
Hi NG,
nach dem Update auf SQL2008 làuft ein bestimmter Task im SQL-Server-Agenten
nict mehr, dass untér SQL2005 über Jahre bestens lief.

Der SQL-Agent 2008 làuft unter dem Benutzerkonto eine bestimmten Users - ob
das überhaupt nötig war bezwiefle ich mittlerweile, aber früher
funktionierte es.

Kern der Überlegungen ist/war, dass das Paket unter einem bestimmten
User-Account ausgfeührt werden MUSS, da auf Konfigurationsdaten zugegriffen
wird, die zuvor mit DIESEM Account auf der benutzeroberflàche eingegeben
wurden.

Langer Rede kurzer Sinn. zumindest ein Schritt des Tasks muss unter diesem
Account ausgeführt werden, da sonst die beschriebenen Daten nicht zur
Verfügung stehen.
Entsprechend wurde für diesen Task eingegeben, dass er unter dem Account
ausgeführt wird.

Es handelt sich um einen Domànen-Account namens SQL2000. Der name beschreibt
schon, wie lange es vorher funktionerte.

Nun schlàgt die Ausführung des Tasks fehl !
Asl Fehlermeldung kommt die Meldung, dass die Anqweisung 'EXECUTE AS USER'
für den angeforderten User sql2000 fehl schlug.

Kennt jemand einen Trick ?


Gruss Nico
 

Lesen sie die antworten

#1 Michael Monarch
08/09/2008 - 15:55 | Warnen spam
Servus Nicolas,

Execute as User wird dafür verwendet um den User zu wechseln, dabei ist zu
beachten, das dies nur für die aktuelle DB der Sitzung gilt.

Beispiel:

-Nehmen wir an du hast zwei Datenbanken DB1 und DB2
-Der User U1 hat nur rechte auf DB1 und U2 auf beiden.

Also wird eine Procedure auf DB1 durch U1 ausgeführt und der aktuelle User
auf U2 geàndert kommt es unweigerlich zu einer Fehlermeldung wenn die
Procedure auf DB2 zugreift, weil dort wieder User U1 verwendet wird.

Aber, deine Fehlermeldung deutet schlicht darauf hin, das der angegebene
User keine entsprechende Recht besitzt bzw. nicht vorhanden ist. Überprüfe
das mal und siehe auch mal wie das Schema ist.

mfg michael

"Nicolas Nickisch" wrote:

Hi NG,
nach dem Update auf SQL2008 làuft ein bestimmter Task im SQL-Server-Agenten
nict mehr, dass untér SQL2005 über Jahre bestens lief.

Der SQL-Agent 2008 làuft unter dem Benutzerkonto eine bestimmten Users - ob
das überhaupt nötig war bezwiefle ich mittlerweile, aber früher
funktionierte es.

Kern der Überlegungen ist/war, dass das Paket unter einem bestimmten
User-Account ausgfeührt werden MUSS, da auf Konfigurationsdaten zugegriffen
wird, die zuvor mit DIESEM Account auf der benutzeroberflàche eingegeben
wurden.

Langer Rede kurzer Sinn. zumindest ein Schritt des Tasks muss unter diesem
Account ausgeführt werden, da sonst die beschriebenen Daten nicht zur
Verfügung stehen.
Entsprechend wurde für diesen Task eingegeben, dass er unter dem Account
ausgeführt wird.

Es handelt sich um einen Domànen-Account namens SQL2000. Der name beschreibt
schon, wie lange es vorher funktionerte.

Nun schlàgt die Ausführung des Tasks fehl !
Asl Fehlermeldung kommt die Meldung, dass die Anqweisung 'EXECUTE AS USER'
für den angeforderten User sql2000 fehl schlug.

Kennt jemand einen Trick ?


Gruss Nico



Ähnliche fragen