SSMS
 sql >> Datenbank >  >> Database Tools >> SSMS

Kopieren eines großen Feldes (varbinary(max)) in Datei / Zwischenablage

Um große Zeichenfolgen zuverlässig aus Ihrem SSMS-Abfrageergebnisbereich zu kopieren, sollten Sie die folgenden Einstellungen genau beachten (ich schaue mir gerade SSMS 10.50.2500.0 an):

Tools > Options > Query Results > SQL Server > Results to Grid
    Max chars retreived:
        Non-XML: 65535
        XML: Unlimited

Tools > Options > Query Results > SQL Server > Results to Text
    Max chars displayed:    
        8192

Möglicherweise müssen Sie zumindest ein neues Abfragefenster öffnen, damit die Einstellungen übernommen werden. Beachten Sie, dass Sie, da XML unbegrenzt ist, möglicherweise können in XML umwandeln, um vollständige Ergebnisse zu erhalten. In diesem Fall können Sie Folgendes tun:

select cast(convert(varchar(max), MyColumn, 1) as xml) -- Use style 1 to get "0x..."

Alles in allem gibt es möglicherweise bessere (und automatisierbare/reproduzierbare) Methoden zum Verschieben von Daten auf Ihren Systemen, wie andere bereits erwähnt haben:

  • Richten Sie einen verknüpften Server ein um einfach eine Insert-Anweisung auszuführen
  • Verwenden Sie openrowset um einen entfernten Server abzufragen
  • SSMS:Daten exportieren, Skripte generieren, Ergebnisse in Datei speichern
  • SSIS
  • Tools von Drittanbietern (Redgate Data Compare usw.)