A Microsoft distribui o Microsoft SQL Server 2008 Service Pack 3 (SP3), o Microsoft SQL Server 2008 R2 ou o Microsoft SQL Server 2012 corre correções como um arquivo que pode ser baixado. Como as correções são cumulativas, cada nova versão contém todos os hotfixes e todas as correções de segurança incluídas na versão anterior do SQL Server 2008 Service Pack 3 (SP3), SQL Server 2008 R2 ou SQL Server 2012 Fix.
Sintomas
Suponha que você tenha um aplicativo cliente que usa o método SqlConnection. GetSchema para recuperar as informações de esquema de uma tabela. Esta tabela inclui um nome de coluna que contém um ponto (.). Por exemplo, um dos nomes de coluna na tabela é "Coluna1. A". Nessa situação, a coluna cujo nome contém um período está ausente nos resultados que o método SqlConnection. GetSchema retorna.Observação Esse problema não ocorre quando você usa o método OleDbConnection. GetSchema .
Causa
Para avaliar as permissões para colunas, o SQL Server 2008 Service Pack 1 usa a função HAS_PERMS_BY_NAME em vez da função de permissões na Sys.spt_columns_view_managed exibição do sistema. No entanto, se um nome de coluna contém um ponto e não está incluído na função QUOTENAME , a função HAS_PERMS_BY_NAME considera que o usuário tem permissões insuficientes para essa coluna. Portanto, o problema mencionado na seção "sintomas" ocorre.
Resolução
Informações sobre a atualização cumulativa
SQL Server 2008 R2 Service Pack 2
A correção para esse problema foi lançada pela primeira vez na atualização cumulativa 1 para SQL Server 2008 R2 Service Pack 2. Para obter mais informações sobre como obter esse pacote de atualização cumulativa, clique no número abaixo para ler o artigo na base de dados de conhecimento da Microsoft:
2720425 Pacote de atualização cumulativa 1 para SQL Server 2008 R2 Service Pack 2Observação Como as compilações são cumulativas, cada nova versão de correção contém todos os hotfixes e todas as correções de segurança incluídas na versão anterior do SQL Server 2008 R2. Recomendamos que você considere a aplicação do lançamento de correção mais recente que contém esse hotfix. Para obter mais informações, clique no número abaixo para ler os artigos na Base de Dados de Conhecimento Microsoft:
2730301 Versões do SQL Server 2008 R2 lançadas após a liberação do SQL Server 2008 R2 Service Pack 2
SQL Server 2012
A correção para esse problema foi lançada pela primeira vez na atualização cumulativa 2 do SQL Server 2012. Para obter mais informações sobre esse pacote de atualizações cumulativas, clique no número abaixo para ler o artigo na base de dados de conhecimento da Microsoft:
2703275 Pacote de atualizações cumulativas 2 para SQL Server 2012Observação Como as compilações são cumulativas, cada nova versão de correção contém todos os hotfixes e todas as correções de segurança incluídas na versão anterior do SQL Server 2012 Fix. A Microsoft recomenda que você considere a aplicação do lançamento de correção mais recente que contém esse hotfix. Para obter mais informações, clique no número abaixo para ler os artigos na Base de Dados de Conhecimento Microsoft:
2692828 As compilações do SQL Server 2012 lançadas após o lançamento do SQL Server 2012 Você deve aplicar um hotfix do SQL Server 2012 a uma instalação do SQL Server 2012.
SQL Server 2008 R2 Service Pack 1
A correção para esse problema foi lançada pela primeira vez na atualização cumulativa 7 para SQL Server 2008 R2 Service Pack 1. Para obter mais informações sobre como obter esse pacote de atualização cumulativa, clique no número abaixo para ler o artigo na base de dados de conhecimento da Microsoft:
2703282 Pacote de atualizações cumulativas 7 para SQL Server 2008 R2 Service Pack 1Observação Como as compilações são cumulativas, cada nova versão de correção contém todos os hotfixes e todas as correções de segurança incluídas na versão anterior do SQL Server 2008 R2. Recomendamos que você considere a aplicação do lançamento de correção mais recente que contém esse hotfix. Para obter mais informações, clique no número abaixo para ler os artigos na Base de Dados de Conhecimento Microsoft:
2567616 As compilações do SQL Server 2008 R2 que foram lançadas após o lançamento do SQL Server 2008 R2 Service Pack 1
SQL Server 2008 R2
A correção para esse problema foi lançada pela primeira vez na atualização cumulativa 13. Para obter mais informações sobre como obter este pacote de atualização cumulativa do SQL Server 2008 R2, clique no número abaixo para ler o artigo na base de dados de conhecimento da Microsoft:
2679366 Pacote de atualizações cumulativas 13 para SQL Server 2008 R2 Observação Como as compilações são cumulativas, cada nova versão de correção contém todos os hotfixes e todas as correções de segurança incluídas na versão anterior do SQL Server 2008 R2. Recomendamos que você considere a aplicação do lançamento de correção mais recente que contém esse hotfix. Para obter mais informações, clique no número abaixo para ler os artigos na Base de Dados de Conhecimento Microsoft:
981356 As compilações do SQL Server 2008 R2 que foram lançadas após a liberação do SQL Server 2008 R2
Pacote de atualização cumulativa 4 para SQL Server 2008 SP3
A correção para esse problema foi lançada pela primeira vez na atualização cumulativa 4. Para obter mais informações sobre como obter este pacote de atualização cumulativa do SQL Server 2008 Service Pack 4, clique no número abaixo para ler o artigo na base de dados de conhecimento da Microsoft:
2673383 Pacote de atualização cumulativa 4 para SQL Server 2008 Service Pack 3Observação Como as compilações são cumulativas, cada nova versão de correção contém todos os hotfixes e todas as correções de segurança que foram incluídas no lançamento anterior do SQL Server 2008 Service Pack 4 Fix. Recomendamos que você considere a aplicação do lançamento de correção mais recente que contém esse hotfix. Para obter mais informações, clique no número abaixo para ler os artigos na Base de Dados de Conhecimento Microsoft:
2629969 Compilações do SQL Server 2008 lançadas após o lançamento do SQL Server 2008 Service Pack 3
Informações adicionais
Para obter mais informações sobre o método SqlConnection. GetSchema , acesse o seguinte website da MSDN:
Status
A Microsoft confirmou que este é um problema nos produtos Microsoft listados na seção "Aplicável a".