Importar dados de formato de caractere e nativo de versões anteriores do SQL Server
No SQL Server 2012, você pode usar o bcp para importar dados de formato de caractere e nativo do SQL Server 2000, do SQL Server 2005 ou do SQL Server 2008 usando a opção -V. A opção -V faz com que o SQL Server 2012 use tipos de dados da versão anterior especificada do SQL Server e o formato de arquivo de dados é igual ao formato da versão anterior.
Para especificar uma versão anterior do SQL Server para um arquivo de dados, use a opção -V com os seguintes qualificadores:
Versão do SQL Server |
Qualificador |
---|---|
SQL Server 2000 |
-V 80 |
SQL Server 2005 |
-V 90 |
SQL Server 2008 |
-V 100 |
Interpretação de tipos de dados que foram introduzidos no SQL Server 2005
O SQL Server 2005 e versões posteriores oferecem suporte para alguns novos tipos. Para importar um novo tipo de dados para uma versão anterior do SQL Server, o tipo de dados deve ser armazenado em um formato legível pelos clientes bcp antigos. A tabela a seguir resume como os novos tipos de dados do SQL Server 2005 são convertidos para compatibilidade com versões anteriores do SQL Server.
Novos tipos de dados no SQL Server 2005 |
Tipos de dados compatíveis na versão 6x |
Tipos de dados compatíveis na versão 70 |
Tipos de dados compatíveis na versão 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 |
* Esse tipo tem suporte nativo.
1 UDT indica um tipo definido pelo usuário.
Exportando do SQL Server 2005 e versões posteriores
Quando você exporta dados em massa usando a opção –V 80 do SQL Server 2005 ou de versões posteriores, nvarchar(max), varchar(max), varbinary(max), XML e UDT, dados no modo nativo são armazenados com um prefixo de 4 bytes, como dados text, image e ntext em vez de um prefixo de 8 bytes, que é o padrão do SQL Server 2005 e de versões posteriores.
Copiando valores de dados
O bcp usa a API de cópia em massa do ODBC. Portanto, para importar valores de data para o SQL Server, o bcp usa o formato de data do ODBC (yyyy-mm-dd hh:mm:ss[.f...]).
O comando bcp exporta arquivos de dados de formato de caractere usando o formato padrão ODBC para os valores datetime e smalldatetime. Por exemplo, uma coluna datetime que contém a data 12 Aug 1998 é copiada em massa em um arquivo de dados como a cadeia de caracteres 1998-08-12 00:00:00.000.
Importante |
---|
Ao importar dados em um campo smalldatetime com o bcp, verifique se o valor por segundo é 00.000; caso contrário, a operação falhará. O tipo de dados smalldatetime só mantém valores do minuto mais próximo. BULK INSERT e INSERT ... SELECT * FROM OPENROWSET(BULK...) não falharão nesta instância, mas truncarão o valor de segundos. |
Tarefas relacionadas
Para usar formatos de dados para importação ou exportação em massa
Usar o formato de caractere para importar ou exportar dados (SQL Server)
Usar o formato nativo para importar ou exportar dados (SQL Server)
Usar o formato de caractere Unicode para importar ou exportar dados (SQL Server)
Usar o formato nativo Unicode para importar ou exportar dados (SQL Server)
[Top]
Consulte também
Referência
Outros recursos
Compatibilidade com versões anteriores do Mecanismo de Banco de Dados do SQL Server