Die Verwendung von SQL Server 2008.
Zunächst einmal bin ich kein DBA. Aber wenn es um gespeicherte Prozeduren, Trigger, Tabellen, das Erstellen und Normalisieren geht, kenne ich mich aus. Ich bin ein Entwickler.
Aber mit diesem neuen Job habe ich eine große Datenbank geerbt, in der viele Jobs ausgeführt werden.
Das Konto meines Vorgängers wurde deaktiviert und natürlich sind einige Jobs fehlgeschlagen.
Nachdem ich gesucht und getestet und versagt habe, muss ich jetzt um Hilfe bei diesem Problem bitten.
Der Job schlägt fehl, wenn eine gespeicherte Prozedur ausgeführt wird, und ich habe sie überprüft. Sie aktualisiert die betreffende Datenbank.
Zuerst habe ich den Besitzer des Jobs geändert:
EXEC MSDB.dbo.sp_update_job
@job_name = 'MyJob',
@owner_login_name = 'NT AUTHORITY\SYSTEM'
GO
Ich habe versucht, das sa-Konto, sqlserveragent und andere zu verwenden, aber der gleiche Fehler tritt auf. Und ich habe sichergestellt, dass diese neuen Besitzer die richtigen Berechtigungen für diese Datenbank hatten.
Die AUSFÜHREN ALS BENUTZER-Anweisung ist für den angeforderten Benutzer dbo in der Datenbank MyDB fehlgeschlagen.
Der Benutzer ändert sich nie in der Fehlermeldung vom dbo-Benutzer, auch nachdem ich den Jobbesitzer geändert habe.
Hat jemand weitere Vorschläge, die ich übersehen haben könnte?
Vielen Dank,
UPDATE:
Das Problem wurde gelöst. Heute etwas Neues gelernt!
Schauen Sie sich diesen Beitrag an: http://blog.strictly-software.com/2009/09/database-owner-sid-recorded-in-master.html
Ich hoffe, dass dies jemand anderem in Zukunft hilft, da ich etwas Zeit mit diesem Problem verschwendet habe und es nur einer kleinen SQL-Anweisung bedurfte, um es zu beheben. Es scheint immer so zu sein, nicht wahr?