auron2k
Goto Top

SQL 2005 Aufträge löschen

In unserer Firma wurde vor kurzem SQL 2005 installiert, die installation verlief gut (ohne fehler). Als dann ein sicherungsauftrag erstellt wurde, mekerte er am leeren kennwort feld. Also erstellten wir einen neuen benutzer, das läuft alles ohne probleme, nur leider sind die anderen Aufträge noch enthalten, wir haben sie versucht zu löschen, doch es kam immer wieder der selbe fehler.

FehlerText:


Fehler bei Löschen für Job 'PPSAlle'. (Microsoft.SqlServer.Smo)

Hilfe erhalten Sie durch Klicken auf: http://go.microsoft.com/fwlink?ProdName=Microsoft+SQL+Server&ProdVe ...

Speicherort des Programms:

bei Microsoft.SqlServer.Management.Smo.SqlSmoObject.DropImpl()
bei Microsoft.SqlServer.Management.Smo.Agent.Job.Drop()
bei Microsoft.SqlServer.Management.SqlManagerUI.DropObjects.DoDropObject(Int32 objectRowIndex)
bei Microsoft.SqlServer.Management.SqlManagerUI.DropObjects.DropAllObjects(Boolean stopOnError)


Ausnahme beim Ausführen einer Transact-SQL-Anweisung oder eines Transact-SQL-Batches. (Microsoft.SqlServer.ConnectionInfo)

Speicherort des Programms:

bei Microsoft.SqlServer.Management.Common.ServerConnection.ExecuteNonQuery(String sqlCommand, ExecutionTypes executionType)
bei Microsoft.SqlServer.Management.Common.ServerConnection.ExecuteNonQuery(StringCollection sqlCommands, ExecutionTypes executionType)
bei Microsoft.SqlServer.Management.Smo.ExecutionManager.ExecuteNonQuery(StringCollection queries)
bei Microsoft.SqlServer.Management.Smo.SqlSmoObject.ExecuteNonQuery(StringCollection queries, Boolean includeDbContext)
bei Microsoft.SqlServer.Management.Smo.SqlSmoObject.DropImplWorker(Urn& urn)
bei Microsoft.SqlServer.Management.Smo.SqlSmoObject.DropImpl()


Die DELETE-Anweisung steht in Konflikt mit der REFERENCE-Einschränkung "FK_subplan_job_id". Der Konflikt trat in der "msdb"-Datenbank, Tabelle "dbo.sysmaintplan_subplans", column 'job_id' auf.
Die Anweisung wurde beendet. (.Net SqlClient Data Provider)

Hilfe erhalten Sie durch Klicken auf: http://go.microsoft.com/fwlink?ProdName=Microsoft+SQL+Server&ProdVe ...

Servername: MUE-AX-SQL-01
Fehlernummer: 547
Schweregrad: 16
Status: 0
Prozedur: sp_delete_job
Zeilennummer: 170


Speicherort des Programms:

bei System.Data.SqlClient.SqlConnection.OnError(SqlException exception, Boolean breakConnection)
bei System.Data.SqlClient.SqlInternalConnection.OnError(SqlException exception, Boolean breakConnection)
bei System.Data.SqlClient.TdsParser.ThrowExceptionAndWarning(TdsParserStateObject stateObj)
bei System.Data.SqlClient.TdsParser.Run(RunBehavior runBehavior, SqlCommand cmdHandler, SqlDataReader dataStream, BulkCopySimpleResultSet bulkCopyHandler, TdsParserStateObject stateObj)
bei System.Data.SqlClient.SqlCommand.RunExecuteNonQueryTds(String methodName, Boolean async)
bei System.Data.SqlClient.SqlCommand.InternalExecuteNonQuery(DbAsyncResult result, String methodName, Boolean sendToPipe)
bei System.Data.SqlClient.SqlCommand.ExecuteNonQuery()
bei Microsoft.SqlServer.Management.Common.ServerConnection.ExecuteNonQuery(String sqlCommand, ExecutionTypes executionType)


hoffe ihr könnt mir da weiterhelfen.

mfg
viktor

Content-ID: 31014

Url: https://administrator.de/contentid/31014

Ausgedruckt am: 25.11.2024 um 16:11 Uhr

Biber
Biber 24.04.2006 um 11:02:21 Uhr
Goto Top
Moin viktor,

das ist kein Fehler, sondern das Löschen der Aufträge würde zur Verletzung der referenziellen Integrität führen.
Steht doch da:
Die DELETE-Anweisung steht in Konflikt mit der REFERENCE-Einschränkung "FK_subplan_job_id".
Der Konflikt trat in der "msdb"-Datenbank, Tabelle "dbo.sysmaintplan_subplans", column 'job_id' auf.

Auf deutsch - in der Integritätsregel "FK_subplan_job_id" steht offensichtlich, dass Aufträge nicht gelöscht werden dürfen, solange noch abhängige ForeignKeys (hier: job_id's ) in der Tabelle sysmaintplan_subplans vorhanden sind.

Oder noch deutscher: mindestens einer von den "erledigten" Aufträgen ist nicht erledigt, weil noch ein Wartungsvertrag dazu am Laufen ist.

"FK_subplan_job_id" anschauen, ggf ändern.

Gruß
Biber
Auron2k
Auron2k 24.04.2006 um 11:24:53 Uhr
Goto Top
hi Biber,

ok, hab den FK gefunden, nur was muss ich da machen ? Ich hab keine ahnung von SQL (fast). oder muss ich das aus der Datenbank löschen, also in den tabellen?


mfg
viktor
Auron2k
Auron2k 24.04.2006 um 11:38:47 Uhr
Goto Top
ok, hat sich erledigt, hab einfach alles aus der tabelle sysmaintplan_subplans gelöscht, die aiufträge dann auch noch dazu und dann halt neu erstellt. war einfacher als gedacht.

thx
biber
Biber
Biber 24.04.2006 um 12:09:33 Uhr
Goto Top
*ggg.. na ja, es hätte auch gereicht, wenn Du die Integritätsregel (kurz) gelöscht hättest.

Aber wenn die Daten eh nicht mehr relevant sind, ist es egal.

Offen gestanden, ich brauche immer drei Tage länger, bevor ich mich irgendwo dazu durchringe, Daten zu löschen.

Schönen Montag
Biber