É possível alterar o limite de tamanho ntext no SQL Server 2005?

1

É possível alterar o limite de tamanho nos campos ntext no SQL Server 2005 ou converter um campo em varchar(max) ?

    
por Dave Forgac 22.08.2009 / 18:49

3 respostas

4

O limite de tamanho nos campos CLOB / BLOB é fixo (n / texto e imagem) para 2.147.483.647 bytes. Esses tipos de dados estão obsoletos a partir do SQL 2008 e provavelmente não serão incluídos na próxima versão.

Suas versões atualizadas são os tipos de dados varchar (max), nvarchar (max) e varbinary (max) e possuem os mesmos limites. Observe que o prefixo 'n' em nvarchar e ntext significa que caracteres Unicode são armazenados no campo, portanto, a conversão real de ntext deve ser nvarchar (max).

Espero que ajude!

Joe

    
por 22.08.2009 / 19:32
2

Você deve converter para varchar (max). O limite é codificado e não pode ser controlado de outra forma fora de uma solicitação de recurso para a Microsoft.

No entanto, eu duvido que isso seja permitido, já que ele foi sinalizado para remoção em uma versão futura do SQL Server, conforme o MSDN aqui .

    
por 22.08.2009 / 19:27
2

Para adicionar o que já foi dito:

  • text / ntext / image não serão removidos até pelo menos SQL11 + 1 (ou seja, eles definitivamente ainda estão lá na próxima versão principal do SQL Server - foi a minha equipe que os preteriu)
  • o limite para qualquer um dos tipos de LOB não será aumentado no futuro previsível
  • verifique o recurso FILESTREAM, que permite que valores de LOB maiores que 2 GB sejam armazenados no sistema de arquivos, mas com raiz no banco de dados e mantidos completamente sincronizados de forma transacional. Eu escrevi um whitepaper sobre ele para MS - veja Documentação técnica do SQL Server 2008 FILESTREAM publicada no MSDN .

Espero que isso ajude

    
por 25.08.2009 / 20:56