Importar datos con formato nativo y de caracteres de versiones anteriores de SQL Server

En SQL Server 2012 puede utilizar bcp para importar datos con formato nativo y de caracteres de SQL Server 2000, SQL Server 2005 o SQL Server 2008, utilizando el modificador -V. El modificador -V hace que SQL Server 2012 utilice los tipos de datos de la versión anterior especificada de SQL Server, y el formato del archivo de datos es el mismo que el de esa versión anterior.

Para especificar una versión anterior de SQL Server para un archivo de datos, utilice el modificador -V con uno de los siguientes calificadores:

Versión de SQL Server

Calificador

SQL Server 2000 

-V 80

SQL Server 2005

-V 90

SQL Server 2008

-V 100

Interpretación de los tipos de datos que se introdujeron en SQL Server 2005

SQL Server 2005 y versiones posteriores tienen compatibilidad para algunos nuevos tipos. Si desea importar un tipo de datos nuevo en una versión anterior de SQL Server, debe almacenarlo en un formato que pueda ser leído por la versión anterior de los clientes bcp. La tabla siguiente resume cómo se convierten los tipos de datos nuevos de SQL Server 2005 por compatibilidad con las versiones anteriores de SQL Server.

Nuevos tipos de datos de SQL Server 2005

Tipos de datos compatibles de la versión 6x

Tipos de datos compatibles de la versión 70

Tipos de datos compatibles de la versión 80

bigint

decimal

decimal

*

sql_variant

text

nvarchar(4000)

*

varchar(max)

text

text

text

nvarchar(max)

ntext

ntext

ntext

varbinary(max)

image

image

image

XML

ntext

ntext

ntext

UDT1

image

image

image

* Este tipo es compatible en modo nativo.

1 UDT significa tipo definido por el usuario.

Exportar desde SQL Server 2005 y versiones posteriores

Si realiza una exportación masiva de datos mediante el modificador –V 80 de SQL Server 2005 o versiones posteriores, los datos nvarchar(max), varchar(max), varbinary(max), XML y UDT en formato nativo se almacenan con un prefijo de 4 bytes, como datos text, image y ntext, en lugar de usar un prefijo de 8 bytes, que es el valor predeterminado en SQL Server 2005 y versiones posteriores.

Copiar valores de fecha

bcp utiliza la API de copia masiva de ODBC. Por tanto, para importar valores de fecha en SQL Server, bcp utiliza el formato de fecha ODBC (yyyy-mm-dd hh:mm:ss[.f...]).

El comando bcp exporta los archivos de datos con formato de caracteres utilizando el formato predeterminado ODBC para los valores datetime y smalldatetime. Por ejemplo, una columna datetime que contiene la fecha 12 Aug 1998 se copia de forma masiva en un archivo de datos como la cadena de caracteres 1998-08-12 00:00:00.000.

Nota importanteImportante

Cuando importe datos en un campo smalldatetime utilizando bcp, asegúrese de que el valor de los segundos sea 00.000; de lo contrario, se producirá un error en la operación. El tipo de datos smalldatetime contiene únicamente valores hasta el minuto más cercano. BULK INSERT e INSERT ... SELECT * FROM OPENROWSET(BULK...) no darán error en esta instancia, pero truncarán el valor de los segundos.

Tareas relacionadas

Para usar formatos de datos para la importación o exportación masivas

Icono de flecha usado con el vínculo Volver al principio[Top]

Vea también

Referencia

bcp (utilidad)

BULK INSERT (Transact-SQL)

OPENROWSET (Transact-SQL)

Tipos de datos (Transact-SQL)

CAST y CONVERT (Transact-SQL)

Otros recursos

Compatibilidad con versiones anteriores del Motor de base de datos de SQL Server