Eu tenho algum código que cria tabelas de banco de dados dinamicamente e quero garantir que as pessoas não tentem fazer coisas que resultem em eu tentar criar uma tabela com mais colunas do que o SQL Server permite.
De acordo com este artigo , o limite para o número máximo de colunas por tabela (não larga) é 1024.
No entanto, isso obviamente pode mudar no futuro, então não quero codificá-lo em meu aplicativo.
Existe uma maneira de obter esse valor dinamicamente usando uma consulta SQL (por exemplo, lendo de alguma tabela ou proc do sistema)?
Não, não há nada embutido que seja exposto a nós.
Seu aplicativo precisaria manter algum tipo de tabela de configuração.
Você não pode nem tentar analisá-lo,
sys.messages
pois não está codificado no texto para arquivosmessage_id=1702
.É claro que seu aplicativo pode tentar descobrir dinamicamente o limite simplesmente tentando
CREATE TABLE
instruções com quantidades cada vez maiores de colunas, mas isso não é uma sugestão séria.