O trabalho em torno das colunas máximas do SQL Server limita o tamanho do registro de 1024 e 8kb

Eu estou criando uma tabela com 1000 colunas. A maioria das colunas sãonvarchar tipo. A tabela é criada, mas com um aviso

Aviso: A tabela "Teste" foi criada, mas seu tamanho máximo de linha excede o máximo permitido de 8060 bytes. INSERT ou UPDATE para esta tabela falhará se a linha resultante exceder o limite de tamanho.

A maioria das colunas da tabela já possui dados (ou seja, 99% das colunas possuem dados). Quando estou tentando atualizar qualquer coluna após o 310º (onde como todas as 309 colunas iniciadoras possuem algum valor) dá erro:

Não é possível criar uma linha de tamanho 8061 que seja maior que o tamanho de linha máximo permitido de 8060.

Estou inserindo esses dados em todas as 308 colunas iniciais

"Lorem ipsum dolor sente-se amet, consectetur adipisicing elit."

Quando estou usandontext tipo de dados, então ele está me permitindo atualizar cerca de 450 colunas, mas além dissontext também não está me permitindo. Eu tenho que atualizar pelo menos 700 colunas. Qual SQL Server não está permitindo fazer isso. Eu tenho o cenário que não posso mover algumas colunas da tabela para outra tabela.

Na verdade, estou trabalhando para um aplicativo de janela existente. É um aplicativo muito grande do Windows.

Na verdade, a tabela em que estou tentando inserir até 700 dados de colunas nvarchar é criada dinamicamente no tempo de execução. Somente em alguns casos é necessário inserir 400-600 colunas. Mas geralmente precisa de 100 -200 colunas que eu possa processar facilmente.

O problema é que não posso dividir essa tabela em várias tabelas. Como muitas tabelas criadas com essas estruturas e nomes de tabelas são mantidas em outra tabela, ou seja, há mais de 100 tabelas com essa estrutura e elas estão sendo criadas dinamicamente. Para criar a tabela e manipular seus dados, são usados ​​4-5 idiomas (C #, Java ..) e o WCF, o Windows Service e o Webservices também.

Então eu não acho que seria fácil manipular a tabela e seus dados depois de dividir a tabela. Se eu dividir a tabela, isso exigiria muitas mudanças estruturais.

Então, por favor, me sugira que essa seria a melhor maneira de resolver esse problema.

Eu também tentei usarColuna esparsa gostar:

Create table ABCD(Id int, Name varchar(100) Sparse, Age int);

Eu também pensei sobreColumnStoreIndex mas meu propósito não está resolvido.

Coluna esparsa me permite criar 3000 colunas para uma tabela, mas também me restringir no tamanho da página.

Existe alguma maneira de alcançá-lo usando alguma tabela temporária ou usando qualquer outro tipo de objeto do SQL Server?