Especificar tipo de armazenamento de arquivo usando bcp (SQL Server)
O tipo de armazenamento de arquivo descreve como são armazenados os dados no arquivo de dados. Podem ser exportados dados para um arquivo de dados como seu tipo de tabela de banco de dados (formato nativo), em sua representação de caractere (formato de caractere), ou como qualquer tipo de dados onde há suporte para conversão implícita; por exemplo, copiando um smallint
como um int
. Os tipos de dados definidos pelo usuário como tipos básicos são exportados.
Solicitação de bcp para o tipo de armazenamento de arquivo
Se um comando bcp interativo contiver a opção in ou out sem a opção do arquivo de formatos ( -f) ou uma opção do formato de dados ( -n, -c, -wou -N), o comando solicitará o tipo de armazenamento de arquivos de cada campo de dados, da seguinte maneira:
Enter the file storage type of field <field_name> [<default>]:
Sua resposta para esta solicitação depende da tarefa que você executa, como segue:
Para exportar dados em massa de uma instância do Microsoft SQL Server para um arquivo de dados no armazenamento mais compacto possível (formato de dados nativo), aceite os tipos de armazenamento de arquivos padrão fornecidos pelo bcp. Para obter uma lista de tipos de armazenamento de arquivos nativos, digite "Tipos de Armazenamento de Arquivos Nativos", mais adiante neste tópico.
Para exportar dados em massa de uma instância de SQL Server para um arquivo de dados no formato de caractere, especifique
char
como o tipo de armazenamento de arquivos para todas as colunas na tabela.Para importar dados em massa para uma instância de SQL Server de um arquivo de dados, especifique o tipo de armazenamento de arquivos como
char
para tipos armazenados no formato de caractere e, para dados armazenados no formato de tipo de dados nativo, especifique um dos tipos de armazenamento de arquivos, conforme apropriado:tipo de armazenamento de arquivo Digite no prompt de comando char
char
c
[har
]varchar
c[har]
nchar
w
nvarchar
w
text
2T
[ext
]ntext2
W
binary
x
varbinary
x
image
2I
[mage
]datetime
d[ate] smalldatetime
D
time
te
date
de
datetime2
d2
datetimeoffset
do
decimal
n
numeric
n
float
f[loat] real
r
Int
i[nt] bigint
B[igint]
smallint
s[mallint] tinyint
t[inyint] money
m[oney] smallmoney
M
bit
b[it]
uniqueidentifier
u
sql_variant
V[ariant]
timestamp
x
UDT
(um tipo de dados definido pelo usuário)U
XML
X
1 A interação de comprimento do campo, comprimento do prefixo e terminadores determina a quantidade de espaço de armazenamento alocada em um arquivo de dados para dados não gráficos exportados como o
char
tipo de armazenamento de arquivos.2 Os
ntext
tipos de dados ,text
eimage
serão removidos em uma versão futura do SQL Server. No novo projeto de desenvolvimento, evite usar esses tipos de dados e planeje modificar os aplicativos que atualmente os utilizam. Em vez disso, usenvarchar(max)
,varchar(max)
evarbinary(max)
.
Tipos de armazenamento de arquivos nativos
Cada tipo de armazenamento de arquivo nativo é registrado no arquivo de formato como um tipo de dados do arquivo host correspondente.
tipo de armazenamento de arquivo | Tipo de dados do arquivo host |
---|---|
char char |
SQLCHAR |
varchar |
SQLCHAR |
nchar |
SQLNCHAR |
nvarchar |
SQLNCHAR |
text 2 |
SQLCHAR |
ntext 2 |
SQLNCHAR |
binary |
SQLBINARY |
varbinary |
SQLBINARY |
image 2 |
SQLBINARY |
datetime |
SQLDATETIME |
smalldatetime |
SQLDATETIM4 |
decimal |
SQLDECIMAL |
numeric |
SQLNUMERIC |
float |
SQLFLT8 |
real |
SQLFLT4 |
int |
SQLINT |
bigint |
SQLBIGINT |
smallint |
SQLSMALLINT |
tinyint |
SQLTINYINT |
money |
SQLMONEY |
smallmoney |
SQLMONEY4 |
bit |
SQLBIT |
uniqueidentifier |
SQLUNIQUEID |
sql_variant |
SQLVARIANT |
timestamp |
SQLBINARY |
UDT (um tipo de dados definido pelo usuário) | SQLUDT |
1 Os arquivos de dados armazenados no formato de caractere usam char
como o tipo de armazenamento de arquivos. Então, para arquivos de dados de caractere, SQLCHAR é o único tipo de dados que aparece em um arquivo de formato.
2 Você não pode importar dados em massa para text
colunas , ntext
e image
que têm valores DEFAULT.
Considerações adicionais para tipos de armazenamento de arquivo
Quando você agrupa dados exportados de uma instância do SQL Server para um arquivo de dados:
Você sempre pode especificar
char
como o tipo de armazenamento de arquivo.Se você inserir um tipo de armazenamento de arquivos que representa uma conversão implícita inválida, o bcp falhará; por exemplo, embora você possa especificar
int
parasmallint
dados, se você especificarsmallint
paraint
dados, os erros de estouro resultarão.Quando tipos de dados não gráficos como
float
,money
,datetime
ouint
são armazenados como seus tipos de banco de dados, os dados são gravados no arquivo de dados no formato nativo SQL Server.Observação
Depois que você especificar interativamente todos os campos em um comando bcp, o comando solicitará que salve suas respostas para cada campo em um arquivo de formato não XML. Para saber mais sobre arquivos de formato não XML, confira Arquivos de formato não XML (SQL Server).
Consulte Também
Utilitário bcp
Tipos de dados (Transact-SQL)
Especificar tamanho do campo usando bcp (SQL Server)
Especificar terminadores de campo e linha (SQL Server)
Especificar o tamanho de prefixo em arquivos de dados usando bcp (SQL Server)