Sintomas
Exporte uma tabela como um ficheiro CSV utilizando o Microsoft SQL Server Management Studio (SSMS) ou o SQL Server Data Tools (SSDT). Por exemplo, pode exportar uma tabela para o formato CSV num projeto SQL Server Integration Services (SSIS).
Se selecionar aspas (") como qualificador de texto e se algum registo contiver aspas duplas, é possível que as marcas não escapem corretamente no resultado.
Exemplo
| Dados originais | big"data |
|---|---|
| Resultado esperado | "big""data" |
| Saída real | "big"data" |
Resolução
A correção para este problema está incluída na seguinte atualização para SQL Server:
Atualização cumulativa 8 para SQL Server 2017
Depois de instalar esta atualização, quando exporta uma tabela através do formato CSV, tem de ativar a capacidade "Qualificador de escape" ao definir o respetivo valor como Verdadeiro.
O recurso "Escape Qualifier" precisa ser alterado no SSDT para o pacote SSIS salvo quando você usa o comportamento de escape.
A captura de tela a seguir mostra os detalhes da propriedade EscapeQualifier :
Nota
- O Assistente de Importação e Exportação do SQL Server tem a limitação de que você não pode ativar esse recurso porque a propriedade EscapeQualifier está desabilitada por padrão.
- Só pode guardar o pacote SSIS através do assistente e modificar essa propriedade através do SSDT para obter esta capacidade.
- Para obter mais informações, consulte Propriedades personalizadas de arquivo simples - SQL Server Integration Services (SSIS) | Microsoft Learn.
Acerca de SQL Server compilações
Cada nova compilação para SQL Server contém todos os hotfixes e correções de segurança que estavam na compilação anterior. Recomendamos que instale a compilação mais recente para a sua versão do SQL Server:
A última compilação do SQL Server 2017
Estado
A Microsoft confirmou que se trata de um problema nos produtos Microsoft listados na secção "Aplica-se a".
Referências
Saiba mais sobre a terminologia padrão que a Microsoft utiliza para descrever as atualizações de software.