2 Stimmen

SQL DTS-Datenbankkopie schlägt fehl

Hallo zusammen, ich arbeite schon eine Weile an diesem Problem und die üblichen Google-Suchen helfen nicht :(

Ich habe eine Produktionsdatenbank in SQL 2000. Ich möchte sie über eine Schulungsdatenbank kopieren, um sie zu aktualisieren. Ich möchte, dass dies einmal pro Woche geschieht, um die Schulungsdatenbank auf dem neuesten Stand zu halten.

Ich habe einen DTS-Auftrag für diese Aufgabe erstellt. Innerhalb dieses DTS-Auftrags habe ich eine einzelne Aufgabe "SQL-Server-Objekte kopieren". Diese Aufgabe ist wie folgt eingerichtet:

  • Alle kopierten Objekte erstellen
    • Zielobjekte zuerst ablegen
  • Daten kopieren
    • Ersetzen Sie vorhandene Daten
  • Kopieren von Indizes, Triggern, Primär- und Fremdschlüsseln
  • Kopieren Sie alle Benutzertabellen, Ansichten, Funktionen und gespeicherten Verfahren.

Wenn ich dieses DTS-Paket ausführe (natürlich in der Vorproduktion zu Testzwecken), wird es zu 99 % fertig und gibt den folgenden Fehler aus:

Step Error Source: Microsoft SQL-DMO (ODBC SQLState: 42S02)
Step Error Description:[Microsoft][ODBC SQL Server Driver][SQL Server]Invalid object name 'dbo.vwEstAssetStationAddress'.
Step Error code: 800400D0
Step Error Help File:SQLDMO80.hlp
Step Error Help Context ID:1131

Meine Recherchen im Netz brachten nicht viel Hilfe. Es gibt Berichte über diese Fehler, aber keiner scheint auf meine Situation zuzutreffen. Ein Vorschlag, den ich gefunden habe, war, dass die Tabelle sysdepends beschädigt wurde, so dass der DTS-Job seine Skripte in der falschen Reihenfolge ausführt. Ich habe jedoch das folgende Skript ausgeführt, um die Tabelle zu korrigieren, und es tritt immer noch derselbe Fehler auf:

USE master
GO
ALTER DATABASE [DATABASE NAME]
SET SINGLE_USER
GO

USE [DATABASE NAME]
GO

DBCC CHECKTABLE('sysdepends',REPAIR_REBUILD )
GO

USE master
GO
ALTER DATABASE [DATABASE NAME]
SET MULTI_USER
GO

Ich habe auch gesehen, dass unterschiedliche Objekteigentümer diesen Fehler verursachen können. Ich habe jedoch bestätigt, dass die Objekte in diesem Fall alle dem Benutzer dbo gehören.

Irgendwelche Vorschläge?

0voto

Dr8k Punkte 1088

Ich habe einen weiteren Test durchgeführt, um zu versuchen, das Problem einzugrenzen. Ich habe die erwähnte Ansicht vollständig aus der Zieldatenbank entfernt und dann das DTS erneut ausgeführt. Er schlug mit demselben Fehler fehl. Die Ansicht, die offensichtlich ein ungültiger Objektname ist, wurde jedoch erfolgreich neu erstellt. Es scheint, dass der Fehler von etwas kommt, das versucht, auf diese Ansicht zu verweisen, aber das Skript wird nicht wirklich angehalten, wenn es auf diesen Fehler stößt.

Cade - Ich werde mir den Link ansehen. Ich werde auch versuchen, herauszufinden, worauf die Ansicht und die Unterbrechung verweisen.

CodeJaeger.com

CodeJaeger ist eine Gemeinschaft für Programmierer, die täglich Hilfe erhalten..
Wir haben viele Inhalte, und Sie können auch Ihre eigenen Fragen stellen oder die Fragen anderer Leute lösen.

Powered by:

X