Compatibilidade entre versões

Aplica-se a:SQL ServerBase de Dados SQL do AzureInstância Gerida do Azure SQLAzure Synapse Analytics

Conflitos entre versões podem ocorrer quando se espera que instâncias cliente ou servidor do SQL Server anteriores ao SQL Server 2008 (10.0.x) processem parâmetros com valores de tabela.

De um modo geral, a funcionalidade de parâmetros com valores de tabela está disponível apenas para clientes do SQL Server 2008 (10.0.x) (usando o SQL Server Native Client 10.0) ou posteriores que estejam ligados a servidores SQL Server 2008 (10.0.x) (ou posteriores). Novas colunas nos conjuntos de resultados de funções de catálogo só estarão presentes quando ligadas a um servidor SQL Server 2008 (10.0.x) (ou posterior).

Se uma aplicação cliente compilada com uma versão anterior do SQL Server Native Client executar instruções que esperam parâmetros de valor de tabela, o servidor deteta esta condição através de um erro de conversão de dados, e o ODBC devolve esta condição como SQLSTATE 07006 e a mensagem "Violação do atributo do tipo de dado restrito".

Se uma aplicação cliente compilada com o SQL Server Native Client 10.0 ou posterior tentar usar parâmetros de tabela quando ligada a uma instância de servidor anterior ao SQL Server 2008 (10.0.x), o SQL Server Native Client irá detetar isto, e as chamadas SQLBindCol, SQLBindParameter, SQLSetDescFields e SQLSetDescRec falharão com SQLSTATE 07006 e a mensagem "Restricted data type violação de atributos (a versão do SQL Server para esta ligação não suporta parâmetros de valores de tabela)".