A Microsoft distribui as correções do Microsoft SQL Server 2008 como um ficheiro transferível. Uma vez que as correções são cumulativas, cada nova versão contém todas as correções e todas as correções de segurança incluídas na versão de correção anterior SQL Server 2008.
Sintomas
Num computador com o Microsoft SQL Server 2008, ocorre um ou mais dos seguintes problemas quando cria um servidor ligado com o fornecedor sqL Native Client (Sqlncli.dll).Nota Estes problemas também ocorrem no Microsoft SQL Server 2005 Service Pack 3 (SP3). No entanto, a correção neste artigo não se aplica ao SQL Server 2005 SP3.
Problema 1
Considere o seguinte cenário:
-
No SQL Server Management Studio, abre a janela Novo Servidor Ligado e cria um servidor ligado com uma das seguintes configurações:
-
Fornecedor de Cliente Nativo SQL com Tipo de servidor como SQL Server
-
Fornecedor sqL Native Client (não SQL Native Client 10) com Tipo de servidor como Outra origem de dados
-
Fornecedor OLE DB da Microsoft para SQL Server com Tipo de servidor como Outra origem de dados
-
-
Expanda o catálogo de Servidores Ligados no SQL Server Management Studio para ver os servidores ligados.
Neste cenário, o serviço SQL Server é encerrado inesperadamente ou é gerado repetidamente um ficheiro de mini-captura na pasta registo de erros SQL Server. Este problema continua até que o serviço SQL Server seja parado. Além disso, SQL Server Management Studio comunica o seguinte erro:TITLE: Microsoft SQL Server Management Studio------------------------------ Não foi possível obter dados para este pedido. (Microsoft.SqlServer.Management.Sdk.Sfc)Para obter ajuda, clique em: http://go.microsoft.com/fwlink?ProdName=Microsoft+SQL+Server&LinkId=20476------------------------------ADDITIONAL INFORMATION:Ocorreu uma exceção ao executar um lote ou instrução Transact-SQL. (Microsoft.SqlServer.ConnectionInfo)------------------------------Timeout expirou. O período de tempo limite decorrido antes da conclusão da operação ou o servidor não está a responder. (Microsoft SQL Server, Erro: -2)Nota Este problema não ocorre se executar uma consulta de servidor ligado quando utiliza o fornecedor de Cliente Nativo SQL com o Tipo de servidor como SQL Server.
Problema 2
Considere o seguinte cenário:
-
Pode criar um servidor ligado com o Fornecedor OLE DB da Microsoft para Controladores ODBC.
-
A origem de dados ODBC é criada com o fornecedor de Cliente Nativo do SQL com o Tipo de servidor como Outra origem de dados.
Neste cenário, o servidor ligado não devolve resultados.
Resolução
A correção para este 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 este pacote de atualização cumulativa, clique no seguinte número de artigo para ver o artigo na Base de Dados de Conhecimento Microsoft: -
979065Pacote de atualização cumulativa 7 para SQL Server Service Pack 1 de 2008 NoteBecause que as compilações são cumulativas, cada nova versão de correção contém todas as correções e todas as correções de segurança incluídas na versão de correção do SQL Server 2008 anterior. Recomendamos que considere aplicar a versão de correção mais recente que contém esta correção. Para obter mais informações, clique no seguinte número de artigo para ver o artigo na Base de Dados de Conhecimento Microsoft: -
970365As compilações SQL Server 2008 que foram lançadas após o lançamento do Service Pack 1 SQL Server 2008 do Microsoft SQL Server 2008 são criadas para pacotes de serviços SQL Server específicos. Tem de aplicar uma correção do SQL Server 2008 Service Pack 1 a uma instalação do SQL Server 2008 Service Pack 1. Por predefinição, qualquer correção fornecida num service pack SQL Server está incluída no SQL Server service pack seguinte.
Informações adicionais
Pode confirmar a versão dos ficheiros Sqlncli.dll e Sqlservr.exe ao executar a seguinte consulta:
select * from sys.dm_os_loaded_modules where name like '%sqlncli.dll' or name like '%sqlservr.exe'
Se estiver a utilizar o Microsoft SQL Server 2008 Service Pack 1 (SP1) ou versões posteriores do Microsoft SQL Server 2008, a consulta devolverá as seguintes informações de versão:
-
O ficheiro Sqlncli.dll terá uma versão posterior à 9.0:3207.0.
-
O ficheiro Sqlservr.exe terá uma versão posterior ou igual a 10.0:2531.0, mas anterior a 10.0:2766.0.
Se estiver a utilizar o Microsoft SQL Server 2008 RTM ou versões posteriores do SQL Server 2008 RTM, a consulta devolverá as seguintes informações de versão:
-
O ficheiro Sqlncli.dll terá uma versão posterior à versão 9.0:3207.0.
-
O ficheiro Sqlservr.exe terá uma versão posterior ou igual a 10.0:1600.0, mas anterior a 10.0:1835.0.
Solução alternativa
Para contornar estes problemas, siga estes passos:Solução 1:1. Elimine o servidor ligado com falha.2. Crie um novo servidor ligado com o fornecedor de SQL Server Native Client 10.0 (SQLNCLI10). Para fazer isto: a. Clique com o botão direito do rato em Servidores Ligados e selecione Novo Servidor Ligado. b. Selecione Outra origem de dados e escolha SQL Server Native Client 10.0 para Fornecedor.Solução 2:
-
Crie uma subchave de registo com o nome "SQLNCLI" no seguinte caminho:
HKLM\Software\Microsoft\DataAccess
-
Crie uma entrada de registo do tipo REG_DWORD denominada "SQLOSPartitioning" nesta subchave.
-
Defina o valor desta entrada como 0x0.
Status
A Microsoft confirmou que este é um problema nos produtos Microsoft listados na seção "Aplicável a".
Informações adicionais
|
Software de regras |
Título da regra |
Descrição da regra |
Versões do produto em relação às quais a regra é avaliada |
|
System Center Advisor |
SQL Server KB979779 de atualização em falta para evitar danos na memória do cliente nativo do SQL |
Está presente neste servidor um fornecedor de SqL Native Client que corresponde ao SQL Server 2005. Esta versão mais antiga do SQLNCLI.dll pode ser potencialmente carregada no SQL Server 2008 e SQL Server 2008 R2 ao enumerar fornecedores e criar servidores ligados. As compilações específicas do SQL Server 2008 e do SQL Server 2008 R2 podem ter problemas e bloqueios ao criar ou utilizar um servidor ligado criado com este SQLNCLI.dll afetado. Atualize as instâncias afetadas do SQL Server 2008 e SQL Server 2008 R2 com as correções necessárias ou evite utilizar este SQLNCLI.dll ao criar servidores ligados. |
Referências
Para obter mais informações sobre o Modelo de Manutenção Incremental para SQL Server, clique no seguinte número de artigo para ver o artigo na Base de Dados de Conhecimento Microsoft:
935897 Está disponível um Modelo de Manutenção Incremental da equipa de SQL Server para fornecer correções para problemas reportadosPara obter mais informações sobre o esquema de nomenclatura para atualizações de SQL Server, clique no seguinte número de artigo para ver o artigo na Base de Dados de Conhecimento Microsoft:
822499Novo esquema de nomenclatura para pacotesde atualização de software do Microsoft SQL Server Para obter mais informações sobre a terminologia da atualização de software, clique no seguinte número de artigo para ver o artigo na Base de Dados de Conhecimento Microsoft:
824684 Descrição da terminologia padrão utilizada para descrever as atualizações de software da Microsoft