SSMS
 sql >> Base de données >  >> Database Tools >> SSMS

Copier un grand champ (varbinary(max)) dans un fichier/presse-papiers

Pour copier de manière fiable des chaînes volumineuses hors du volet des résultats de votre requête SSMS, vous devez porter une attention particulière aux paramètres suivants (je regarde actuellement SSMS 10.50.2500.0) :

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

Vous devrez peut-être au moins ouvrir une nouvelle fenêtre de requête pour que les paramètres s'appliquent. Notez que puisque XML est illimité, vous pouvez potentiellement convertir en XML pour obtenir des résultats complets. Dans ce cas, vous pouvez procéder comme suit :

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

Cela dit, il existe peut-être de meilleures méthodes (et automatisables/reproductibles) pour déplacer les données dans vos systèmes, comme d'autres l'ont mentionné :

  • Configurer un serveur lié pour exécuter simplement une instruction d'insertion
  • Utilisez openrowset pour interroger un serveur distant
  • SSMS :exporter des données, générer des scripts, résultats dans un fichier
  • SSIS
  • Outils tiers (Redgate Data Compare, etc.)