sql >> Base de Datos >  >> Database Tools >> SSMS

Copiar un campo grande (varbinary (max)) al archivo/portapapeles

Para copiar de forma fiable cadenas grandes del panel de resultados de la consulta de SSMS, debe prestar mucha atención a las siguientes configuraciones (estoy viendo SSMS 10.50.2500.0 en este momento):

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

Es posible que deba al menos abrir una nueva ventana de consulta para que se aplique la configuración. Tenga en cuenta que dado que XML es ilimitado, puede potencialmente convertir a XML para obtener resultados completos. En este caso, podría hacer lo siguiente:

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

Dicho todo esto, puede haber métodos mejores (y automatizables/reproducibles) para mover datos entre sus sistemas, como han mencionado otros:

  • Configure un servidor vinculado para simplemente ejecutar una declaración de inserción
  • Utilice openrowset para consultar un servidor remoto
  • SSMS:exportar datos, generar scripts, resultados en archivo
  • SSIS
  • Herramientas de terceros (Redgate Data Compare, etc.)