
Ich muss eine Sicherungskopie der SQL 2000-Datenbank eines Clients erstellen, es gibt jedoch einige Probleme, die mich daran hindern, dies mit den herkömmlichen Methoden zu tun. Ich habe versucht, SQL Management Studio Express zu verwenden, aber der Host erteilt nicht genügend Berechtigungen, um eine Sicherungskopie zu erstellen, und ich erhalte einige seltsame Fehlermeldungen. Ich habe auch versucht, das Schema mithilfe von „Skripts generieren“ neu zu erstellen und dann den DTS-Assistenten zum Migrieren der Daten zu verwenden, aber die mit der Identitätsspezifikationseigenschaft eingerichteten IDs stimmen nach dem Kopieren nicht mit der Live-Datenbank überein. Dies führt zu einigen Fremdschlüsselbeschädigungen ...
Wenn ich mich recht erinnere, konnte ich die Aufgabe vorher mit Microsoft SQL 2000 Enterprise Manager ausführen, aber ich kann das nirgends finden ... es scheint, als hätte Microsoft die meisten SQL Server 2000-Sachen von seiner Site entfernt.
Weiß jemand, wo ich eine Kopie von Enterprise Manager (oder eine Testversion von SQL Server 2000, die meines Wissens mit der Komponente mitgeliefert wird) finden kann? Oder kennt jemand andere Tools (vorzugsweise nicht kommerziell), mit denen sich Remote-SQL Server 2000-Datenbanken spiegeln lassen?
Danke!
Antwort1
DerMicrosoft Download Centersind Service Packs verfügbar, ich bin mir jedoch nicht sicher, ob Sie damit die Client-Tools direkt vom SP-Installationsprogramm installieren können.
Antwort2
Suchen und verwenden Sie den Befehlszeilenclient „osql.exe“, um eine Verbindung zur Instanz herzustellen. Damit können Sie Transact SQL-Befehle ausführen. Dieser war in SQL2000 (und SQL Server 7.0 und SQL Server 6.5, wenn ich mich recht erinnere) enthalten. Neuere Versionen von SQL Server bieten ein ähnliches Tool namens „sqlcmd.exe“. Entweder osql.exe oder sqlcmd.exe sollte vorhanden sein, unabhängig davon, ob die anderen „Client-Tools“ installiert wurden oder nicht. Im schlimmsten Fall können Sie das Laufwerk durchsuchen, auf dem die SQL Server-Binärdateien installiert sind, indem Sie den Explorer oder etwas Ähnliches verwenden:
dir c:\osql.exe /s
Sobald Sie über die CLI mit der Instanz verbunden sind, führen Sie einfach einen Backup-Befehl aus. Es gibt viele Beispiele online. Microsoft stellt keine Dokumentation für SQL Server 2000 mehr online zur Verfügung, aberdie Dokumentation für SQL Server 2005 finden Sie hier. Solange Sie den Befehl einfach halten und neue Features (wie Backup-Komprimierung) vermeiden, hat sich die Syntax für den Backup-Befehl (und den Restore-Befehl) zwischen 2000 und 2005 (oder 2012, was das betrifft) nicht wesentlich geändert. Das einfachste Backup für eine SQL2000-Instanz würde ungefähr so aussehen:
backup database my_databasename to disk = 'c:\backups\my_databasename.bak' with init
go
Sie benötigen „go“, sonst wird der Befehl nicht ausgeführt. Stellen Sie sicher, dass der Pfad vorhanden ist und dass der SQL Server-Dienst über die Berechtigung zum Schreiben dort verfügt. Sie können einen UNC-Pfad für die Sicherungsdatei verwenden, aber manchmal ist es aufgrund von Berechtigungen/Sicherheit/usw. einfacher, eine lokale Sicherung durchzuführen.