2009-07-01 6 views
0

Angenommen, Sie haben zwei verbundene Server mit der Bezeichnung "Lokal" bzw. "Remote".Komprimieren von Daten innerhalb einer Abfrage

Gibt es eine Syntax, die die Daten komprimiert (und dekomprimiert), die von Lokal nach Remote (oder umgekehrt) gesendet werden müssen.

Zum Beispiel, wenn ich mit den Daten aus meiner Remote-Datenbank meine lokale Datenbank bin Aktualisierung, würde ich Folgendes tun:

INSERT INTO [Local Server].[Local DB Name].dbo.[Table] 
SELECT * 
FROM [Remote Server].[Remote DB Name].dbo.[Table] 

Gibt es eine Syntax ich anwenden kann, dass die Daten komprimiert von Fern gesendet werden, um Lokale reduzieren somit die Bandbreitenkosten und Ausführungszeit beteiligt?

Antwort

1

Es ist nichts in SQL Server integriert.

Eine Alternative ist es, es in eine Datei zu senden, zip die Datei, übertragen Sie es und bringen Sie es auf der anderen Seite. Es ist möglich, dies alles von einer Seite mit Dingen wie xp_cmdshell zu automatisieren.

+0

Danke dafür! – super9

1

Sie könnten das SQL Server-Dienstprogramm bcp verwenden, um Ihre Daten zu kopieren, sie selbst zu komprimieren und dann an den Remote-Server zu senden. Außerdem ist das Hochladen in die Datenbank viel schneller als die Verwendung von INSERT-Anweisungen.

+0

Kombinieren Sie dies mit Cade Roux 'Zip-Datei Empfehlung könnte helfen - aber nur, wenn Sie ernsthafte Mengen von Daten über kopiert werden. Die Einsparungen würden durch die Verwendung von Bulk-Import-Logging und ohne eine große Transaktion mit entsprechenden Auswirkungen auf die Protokolldatei erzielt werden. –