A Microsoft distribui correções do Microsoft SQL Server 2008 como um arquivo para download. Como as correções são cumulativas, cada versão nova contém todos os hotfixes e todas as correções de segurança que foram incluídas com o SQL Server de 2008 a anterior corrigir lançamento.
Sintomas
Em um computador que esteja executando o Microsoft SQL Server 2008, você enfrentar um ou mais dos seguintes problemas quando você cria um servidor vinculado usando o provedor do SQL Native Client (sqlncli. dll).
Observação: Esses problemas também ocorrem no Microsoft SQL Server 2005 Service Pack 3 (SP3). No entanto, o hotfix descrito neste artigo não se aplica ao SQL Server 2005 SP3.
Problema 1
Considere o seguinte cenário:
-
No SQL Server Management Studio, abra a janela novo servidor vinculado e cria um servidor vinculado usando uma das seguintes configurações:
-
Provedor do SQL Native Client com o tipo de servidor como o SQL Server
-
Provedor do SQL Native Client (não SQL Native Client 10) com o tipo de servidor como outra fonte de dados
-
Microsoft OLE DB Provider para SQL Server com outra fonte de dados de tipo de servidor
-
-
Expanda o catálogo de Servidores vinculados no SQL Server Management Studio para ver servidores vinculados.
Nesse cenário, o serviço do SQL Server é desligado inesperadamente ou um arquivo de despejo simplificado é gerado repetidamente na pasta de log de erro do SQL Server. Esse problema continua até que o serviço do SQL Server é interrompido. Além disso, o SQL Server Management Studio relata o seguinte erro:
TÍTULO: Microsoft SQL Server Management Studio
------------------------------
Falha ao recuperar dados para esta solicitação. (Microsoft.SqlServer.Management.Sdk.Sfc)
Para obter ajuda, clique em: http://go.microsoft.com/fwlink?ProdName=Microsoft+SQL+Server&LinkId=20476
------------------------------
INFORMAÇÕES ADICIONAIS:
Ocorreu uma exceção ao executar uma instrução Transact-SQL ou um lote. (Microsoft.SqlServer.ConnectionInfo)
------------------------------
Tempo limite expirou. O tempo limite esgotou antes da conclusão da operação ou o servidor não está respondendo. (Microsoft SQL Server, erro: -2)
Observação: Esse problema não ocorre se você executar uma consulta de servidor vinculado ao usar o provedor do SQL Native Client com o tipo de servidor como o SQL Server.
Problema 2
Considere o seguinte cenário:
-
Você cria um servidor vinculado usando o Microsoft OLE DB Provider para Drivers ODBC.
-
A fonte de dados ODBC é criada usando o provedor do SQL Native Client com o tipo de servidor como outra fonte de dados.
Nesse cenário, o servidor vinculado não retorna nenhum resultado.
Resolução
A correção para esse problema foi lançada pela primeira vez na atualização cumulativa 7 para SQL Server 2008 Service Pack 1. Para obter mais informações sobre esse pacote de atualizações cumulativas, clique no número abaixo para ler o artigo na Base de Conhecimento da Microsoft:-
979065 Pacote de atualizações cumulativas 7 para SQL Server 2008 Service Pack 1
Observação: Como as compilações são cumulativas, cada novo lançamento de correções contém todos os hotfixes e todas as correções de segurança que foram incluídas com o SQL Server de 2008 lançamento de correção. Recomendamos que você considere aplicar o lançamento mais recente de correção que contém esse hotfix. Para obter mais informações, clique no número abaixo para ler o artigo na Base de Conhecimento da Microsoft:-
970365 O SQL Server 2008 compilações disponibilizadas após o lançamento do SQL Server 2008 Service Pack 1
Os hotfixes do Microsoft SQL Server 2008 são criados para service packs específicos do SQL Server. Você deve aplicar um hotfix do SQL Server 2008 Service Pack 1 para uma instalação do SQL Server 2008 Service Pack 1. Por padrão, todos os hotfixes fornecidos em um service pack do SQL Server estão incluídos no próximo service pack do SQL Server.
Mais informações
Você pode confirmar a versão dos arquivos SQLNCLI. dll e Sqlservr.exe em execução seguinte consulta:
select * from sys.dm_os_loaded_modules where name like '%sqlncli.dll' or name like '%sqlservr.exe'
Se você estiver usando o Microsoft SQL Server 2008 Service Pack 1 (SP1) ou versões posteriores do Microsoft SQL Server 2008, a consulta retornará as informações de versão a seguir:
-
O arquivo SQLNCLI. dll terá uma versão posterior à 9.0:3207.0.
-
O arquivo Sqlservr.exe terá uma versão posterior ou igual a 10.0:2531.0, mas antes de 10.0:2766.0.
Se você estiver usando o Microsoft SQL Server 2008 RTM ou versões posteriores do SQL Server 2008 RTM, a consulta retornará as informações de versão a seguir:
-
O arquivo SQLNCLI. dll terá uma versão posterior à versão 9.0:3207.0.
-
O arquivo Sqlservr.exe terá uma versão posterior ou igual a 10.0:1600.0, mas antes de 10.0:1835.0.
Solução alternativa
Para contornar esses problemas, execute estas etapas:
Workaround 1:
1. Exclua do servidor vinculado com falha.
2. Crie um novo servidor vinculado usando o provedor SQL Server Native Client 10.0 (SQLNCLI10). Para fazer isso
r. Clique com o botão direito em Servidores vinculados e selecione Novo servidor vinculado.
b. Selecione outra fonte de dados e escolha o SQL Server Native Client 10.0 para o provedor.
Workaround 2:
-
Crie uma subchave denominada "SQLNCLI" no seguinte caminho:
HKLM\Software\Microsoft\DataAccess
-
Crie uma entrada de registro do tipo REG_DWORD chamada "SQLOSPartitioning" sob essa subchave.
-
Defina o valor desta entrada para 0x0.
Status
A Microsoft confirma que este é um problema em seus produtos listados na seção "Aplica-se a".
Mais informações
Software de regra |
Título de regra |
Descrição da regra |
Versões do produto em relação à qual a regra será avaliada |
O System Center Advisor |
SQL Server faltando atualização KB979779 para evitar corrupção de memória do SQL native client |
Um provedor SQL Native Client que corresponde ao SQL Server 2005 está presente no servidor. Essa versão mais antiga de SQLNCLI. dll pode potencialmente carregado no SQL Server 2008 e SQL Server 2008 R2 ao enumerar os provedores e a criação de servidores vinculados. Versões específicas do SQL Server 2008 e SQL Server 2008 R2 podem ter problemas e trava ao criar ou usar um servidor vinculado criado com este afetado SQLNCLI. dll. Atualizar as instâncias do SQL Server 2008 e SQL Server 2008 R2 afetadas com as correções necessárias ou evite usar essa SQLNCLI. dll durante a criação de servidores vinculados. |
Referências
Para obter mais informações sobre o modelo de serviços incrementais para SQL Server, clique no número abaixo para ler o artigo na Base de Conhecimento da Microsoft:
935897 um modelo de serviços incrementais está disponível da equipe do SQL Server para fornecer hotfixes para problemas relatados
Para obter mais informações sobre o esquema para nomeação para atualizações do SQL Server, clique no número abaixo para ler o artigo na Base de Conhecimento da Microsoft:
822499 Novo esquema para nomeação para pacotes de atualização de software do Microsoft SQL Server
Para obter mais informações sobre a terminologia de atualização de software, clique no número abaixo para ler o artigo na Base de Conhecimento da Microsoft:
824684 descrição da terminologia padrão usada para descrever as atualizações de software