Nota
O acesso a esta página requer autorização. Pode tentar iniciar sessão ou alterar os diretórios.
O acesso a esta página requer autorização. Pode tentar alterar os diretórios.
Aplica-se a:SQL Server
Base de Dados SQL do Azure
Azure SQL Managed Instance
Azure Synapse Analytics
Sistema de Plataforma de Análise (PDW)
Base de dados SQL no Microsoft Fabric
O tipo de armazenamento de ficheiros descreve como os dados são armazenados no ficheiro de dados. Os dados podem ser exportados para um ficheiro de dados como o seu tipo de tabela de base de dados (formato nativo), na sua representação de caracteres (formato de caracteres), ou como qualquer tipo de dado onde seja suportada conversão implícita; Por exemplo, copiar um smallint como um INT. Os tipos de dados definidos pelo utilizador são exportados como os seus tipos base.
O prompt bcp para o tipo de armazenamento de ficheiros
Se um comando bcp interativo contiver as in ou out opções sem o interruptor de formato (-f) ou um interruptor de formato de dados (-n, -c, -w, ou -N), o comando pede o tipo de armazenamento de ficheiro de cada campo de dados, da seguinte forma:
Enter the file storage type of field <field_name> [<default>]:
A sua resposta a este prompt depende da tarefa que realiza, da seguinte forma:
Para exportar em massa dados de uma instância do Microsoft SQL Server para um ficheiro de dados no armazenamento mais compacto possível (formato nativo de dados), aceite os tipos de armazenamento de ficheiros predefinidos fornecidos pelo bcp. Para uma lista dos tipos nativos de armazenamento de ficheiros, veja "Native File Storage Types", mais adiante neste tópico.
Para exportar em massa dados de uma instância de SQL Server para um ficheiro de dados em formato de caracteres, especifique char como o tipo de armazenamento de ficheiro para todas as colunas da tabela.
Para importar em massa dados para uma instância de SQL Server a partir de um ficheiro de dados, especifique o tipo de armazenamento de ficheiro como char para os tipos armazenados em formato de carácter e, para dados armazenados em formato nativo, especifique um dos tipos de armazenamento de ficheiros, conforme apropriado:
Tipo de armazenamento de ficheiros Introduzir no prompt de comandos char c[har]Varchar c[har]Nchar wnvarchar wtexto T[ext]ntext2 Wbinary xVarbinary ximage I[mage]datetime d[ate]smalldatetime Dtime tedate dedatetime2 d2datetimeoffset dodecimal nnumérico nfloat f[loat]real rInt i[nt]bigint B[igint]smallint s[mallint]tinyint t[inyint]dinheiro m[oney]dinheiro pequeno Mbit b[it]uniqueidentifier usql_variant V[ariant]timestamp xUDT (um tipo de dado definido pelo utilizador) UXML Xvector v[ector]*A interação entre comprimento do campo, comprimento do prefixo e terminadores determina a quantidade de espaço de armazenamento alocada num ficheiro de dados para dados não caracteres que são exportados como o tipo de armazenamento do ficheiro char .
** Os tipos de dados ntext, texto e imagem serão removidos numa versão futura do SQL Server. Em novos trabalhos de desenvolvimento, evite usar estes tipos de dados e planeie modificar as aplicações que os utilizam atualmente. Use nvarchar(max), varchar(max)e varbinary(max) em vez disso.
Tipos nativos de armazenamento de ficheiros
Cada tipo nativo de armazenamento de ficheiro é registado no ficheiro de formato como um tipo de dado de ficheiro anfitrião correspondente.
| Tipo de armazenamento de ficheiros | Tipo de dado para ficheiro host |
|---|---|
| char | SQLCHAR |
| Varchar | SQLCHAR |
| Nchar | SQLNCHAR |
| nvarchar | SQLNCHAR |
| texto | SQLCHAR |
| ntext | SQLNCHAR |
| binary | SQLBINARY |
| Varbinary | SQLBINARY |
| image | SQLBINARY |
| datetime | SQLDATETIME |
| smalldatetime | SQLDATETIM4 |
| decimal | SQLDECIMAL |
| numérico | SQLNUMERIC |
| float | SQLFLT8 |
| real | SQLFLT4 |
| int | SQLINT |
| bigint | SQLBIGINT |
| smallint | SQLSMALLINT |
| tinyint | SQLTINYINT |
| dinheiro | SQLMONEY |
| dinheiro pequeno | SQLMONEY4 |
| bit | SQLBIT |
| uniqueidentifier | SQLUNIQUEID |
| sql_variant | SQLVARIANT |
| timestamp | SQLBINARY |
| UDT (um tipo de dado definido pelo utilizador) | SQLUDT |
| vector | SQLVECTOR |
Os ficheiros de dados armazenados em formato de carácter usam char como tipo de armazenamento de ficheiro. Portanto, para ficheiros de dados de caracteres, SQLCHAR é o único tipo de dado que aparece num ficheiro de formato.
Não podes importar dados em massa em texto, ntext e colunas de imagem que tenham
DEFAULTvalores.
Considerações adicionais para tipos de armazenamento de ficheiros
Quando exporta dados em massa de uma instância do SQL Server para um ficheiro de dados:
Podes sempre especificar char como tipo de armazenamento de ficheiro, exceto para colunas de tipo vetorial que não suportam conversão para e a partir de char.
Se introduzires um tipo de armazenamento de ficheiro que representa uma conversão implícita inválida, o bcp falha; por exemplo, embora possas especificar int para dados smallint, se especificares smallint para dados int, resultam erros de sobrecarga.
Quando tipos de dados não caracteres, como float, money, datetime, ou int , são armazenados como tipos de base de dados, os dados são escritos no ficheiro de dados no formato nativo do SQL Server.
Observação
Depois de especificar interativamente todos os campos em um comando bcp , o comando solicita que você salve suas respostas para cada campo em um arquivo de formato não XML. Para mais informações sobre ficheiros em formato não-XML, consulte Ficheiros de Formato Não XML (SQL Server).