Kopieren Sie die DB-Tabelle zwischen zwei verschiedenen MSSQL-Servern

Kopieren Sie die DB-Tabelle zwischen zwei verschiedenen MSSQL-Servern

Ich habe 2 MSSQL-Server mit mehr oder weniger demselben Datensatz im Einsatz. Es handelt sich eigentlich um eine Produktions-/Entwicklungsumgebung.

Mein Arbeitsablauf sieht nun folgendermaßen aus: Jeden Tag werden Backups von jeder einzelnen Datenbank auf dem Produktionsserver erstellt. Ich übertrage die Backups über das Internet (zehn Gigabyte) auf den Entwicklungsserver. Ich „stelle“ die Datenbank auf dem Entwicklungsserver mithilfe des Backups vom Produktionsserver wieder her, sodass ich einen aktuellen Datensatz habe.

Meine Frage ist folgende:

Gibt es eine einfache und schnelle Möglichkeit, eine einzelne Tabelle aus einer MSSQL-Serverdatenbank zu „exportieren“ und in eine Datenbank auf einem anderen MSSQL-Server zu importieren?

Mich interessiert eher eine Vorgehensweise nach dem „Best Practice“-Prinzip als ein improvisierter POS-Trick.

AKTUALISIEREN

Nach einigem Googeln fand ich eine Funktion des MSSQL-Servers, die ein Skript erzeugt, das die Tabelle exportiert und beim Ausführen wieder importiert. Ich kann das nicht verwenden, da ich die Tabelle in einen anderen Server importieren muss.

Antwort1

Sie können die Daten auch direkt per SQL auf Ihrem Zielserver abholen. Wenn Sie Netzwerkzugriff haben:

SELECT a.*
INTO <YOUR TARGET TABLE>
FROM OPENROWSET('SQLNCLI', 'Server=<IP/SERVERNAME>;Trusted_Connection=yes;',
     'SELECT *
      FROM <YOUR TABLE>
      ') AS a;

Sie müssen die Indizes jedoch selbst erstellen.

Oder Sie verwenden INSERT:

INSERT INTO 
<YOUR TARGET TABLE>
FROM OPENROWSET('SQLNCLI', 'Server=<IP/SERVERNAME>;Trusted_Connection=yes;',
         'SELECT *
          FROM <YOUR TABLE>
          ') AS a;

Antwort2

Der Exportteil wurde beim DBA beantwortet:

https://dba.stackexchange.com/questions/25755/taking-a-backup-of-a-single-table-in-the-sql-server

Wie man eine einzelne Tabelle auf einem SQL-Server exportiert, wurde auch auf Stackoverflow mehrfach beantwortet:

https://stackoverflow.com/questions/680552/table-level-backup

https://stackoverflow.com/questions/19698310/backup-a-single-table-with-its-data-from-a-database-in-sql-server-2008

Google bietet noch viele weitere Möglichkeiten:

https://social.msdn.microsoft.com/Forums/sqlserver/en-US/923d1a5a-2f21-4193-9513-ab944145a58f/exportieren-einer-einzelnen-Tabelle-aus-einer-Datenbank

Sobald Sie den Export einer einzelnen Tabelle haben, übertragen Sie diesen mit beliebigen Mitteln (z. B. rsync oder SFTP, scp) und importieren Sie ihn dann.

verwandte Informationen