Observação
O acesso a essa página exige autorização. Você pode tentar entrar ou alterar diretórios.
O acesso a essa página exige autorização. Você pode tentar alterar os diretórios.
Aplica-se a:SQL Server
Banco de Dados SQL do Azure
Instância Gerenciada de SQL do Azure
Azure Synapse Analytics
Banco de Dados SQL no Microsoft Fabric
O tipo de armazenamento de arquivo descreve como são armazenados os dados no arquivo de dados. Dados podem ser exportados 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 em que há suporte para conversão implícita; por exemplo, copiando um smallint como um int. Tipos de dados definidos por usuários são exportados como tipos base.
Prompt do bcp para o tipo de armazenamento de arquivo
Se um comando bcp interativo contiver a opção in ou out sem o comutador de arquivo de formato (-f) ou um comutador de 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 agrupar dados exportados de uma instância do SQL Server para um arquivo de dados no formato de caractere, especifique char como o tipo de armazenamento de arquivo para todas as colunas na tabela.
Para agrupar dados importados para uma instância do SQL Server de um arquivo de dados, especifique o tipo de armazenamento de arquivo 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 arquivo como apropriado:
tipo de armazenamento de arquivo Digite no prompt de comando char c[har]varchar c[har]nchar wnvarchar wtext T[ext]ntext2 Wbinary xvarbinary ximagem I[mage]datetime d[ate]smalldatetime Dtime tedate dedatetime2 d2datetimeoffset dodecimal nnumeric nfloat f[loat]real rInt i[nt]bigint B[igint]smallint s[mallint]tinyint t[inyint]money m[oney]smallmoney Mbit b[it]uniqueidentifier usql_variant V[ariant]timestamp xUDT (um tipo de dados definido pelo usuário) UXML Xvector v[ector]A interação do tamanho do campo, do tamanho do prefixo e dos terminadores determina a quantidade de espaço de armazenamento alocado em um arquivo de dados para dados não-caracteres que são exportados como tipo de armazenamento de arquivos char.
** Os tipos de dados ntext, text e image 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, use nvarchar(max), varchar(max)e varbinary(max) .
Tipos de armazenamento de arquivos nativos
Cada tipo nativo de armazenamento de arquivos é registrado no arquivo de formato como um tipo de dados correspondente do arquivo host.
| tipo de armazenamento de arquivo | Tipo de dados do arquivo host |
|---|---|
| char | SQLCHAR |
| varchar | SQLCHAR |
| nchar | SQLNCHAR |
| nvarchar | SQLNCHAR |
| text | SQLCHAR |
| ntext | SQLNCHAR |
| binary | SQLBINARY |
| varbinary | SQLBINARY |
| imagem | 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 |
| vector | SQLVECTOR |
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.
Você não pode importar dados em massa para colunas de texto, ntext e imagem que tenham
DEFAULTvalores.
Considerações adicionais para tipos de armazenamento de arquivos
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 arquivos, exceto para colunas de tipo de vetor que não dão suporte à conversão de e para char.
Se você inserir um tipo de armazenamento de arquivo que represente uma conversão implícita inválida, bcp falhará; por exemplo, embora você possa especificar int para dados smallint , se você especificar smallint para dados int , isso resultará em erros de estouro.
Quando tipos de dados que não são de caractere, como float, money, datetime ou int, são armazenados como seus tipos de bancos de dados, os dados são gravados para o arquivo de dados no formato nativo do 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).