Share via


Importare dati in formato nativo e carattere da versioni precedenti di SQL Server

In SQL Server 2014 è possibile usare bcp per importare dati in formato carattere e nativo da SQL Server 2000, SQL Server 2005, SQL Server 2008, SQL Server 2008 R2 o SQL Server 2012 usando l'opzione -V. L'opzione -V causa SQL Server 2014 di usare i tipi di dati dalla versione precedente specificata di SQL Server e il formato del file di dati è uguale al formato in quella versione precedente.

Per specificare una versione di SQL Server precedente per un file di dati, usare l'opzione -V con uno dei qualificatori seguenti:

Versione di SQL Server Qualifier
SQL Server 2000 -V80
SQL Server 2005 -V90
SQL Server 2008 -V100
SQL Server 2012 -V 110

Interpretazione dei tipi di dati

SQL Server 2005 e versioni successive supportano alcuni nuovi tipi. Se si desidera importare un nuovo tipo di dati in una versione precedente di SQL Server, è necessario archiviarlo in un formato leggibile dai client bcp precedenti. Nella seguente tabella viene riepilogata la modalità di conversione dei nuovi tipi di dati per la compatibilità con le versioni precedenti di SQL Server.

Nuovi tipi di dati in SQL Server 2005 Tipi di dati compatibili nella versione 6x Tipi di dati compatibili nella versione 70 Tipi di dati compatibili nella versione 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

* Questo tipo viene supportato a livello nativo.

1 UDT indica un tipo definito dall'utente.

Esportazione usando –V 80

Quando si esportano in blocco i dati usando l'opzione -V80, XML e i dati UDT in modalità nativa vengono archiviati con un prefisso a 4 byte, ad esempio textimage, varchar(max)nvarchar(max)varbinary(max)e ntext dati, anziché con un prefisso a 8 byte, che è l'impostazione predefinita per SQL Server 2005 e versioni successive.

Copia dei valori di data

bcp consente di usare l'API della copia bulk ODBC. Quindi, per importare i valori di dati in SQL Server, bcp usa il formato di data ODBC (aaaa-mm-gg hh:mm:ss[.f...]).

Il comando bcp esporta i file di dati di formato carattere usando il formato predefinito ODBC per datetime e smalldatetime i valori. Ad esempio, per una colonna datetime contenente la data 12 Aug 1998 verrà eseguita la copia bulk in un file di dati come stringa di caratteri 1998-08-12 00:00:00.000.

Importante

Quando si importano dati in un smalldatetime campo usando bcp, assicurarsi che il valore per secondi sia 00,000. In caso contrario, l'operazione avrà esito negativo. Il tipo di dati smalldatetime contiene solo valori approssimati al minuto più vicino. In questa istanza, le istruzioni BULK INSERT e INSERT ... SELECT * FROM OPENROWSET(BULK...) verranno eseguite ma il valore dei secondi verrà troncato.

Attività correlate

Per utilizzare formati di dati per l'importazione o l'esportazione bulk

Vedere anche

Utilità bcp
BULK INSERT (Transact-SQL)
OPENROWSET (Transact-SQL)
Tipi di dati (Transact-SQL)
Compatibilità con le versioni precedenti del motore di database di SQL Server
CAST e CONVERT (Transact-SQL)