应用对象
SQL Server 2008 Developer SQL Server 2008 Enterprise SQL Server 2008 Standard SQL Server 2008 Workgroup

Microsoft将Microsoft SQL Server 2008 修补程序分发为一个可下载的文件。 由于修补程序是累积的,因此每个新版本都包含上一个SQL Server 2008 修补程序版本中包含的所有修补程序和所有安全修补程序。

症状

在运行 Microsoft SQL Server 2008 的计算机上,使用 SQL Native Client 提供程序 (Sqlncli.dll) 创建链接服务器时,会遇到以下一个或多个问题。注意 Microsoft SQL Server 2005 Service Pack 3 (SP3) 中也会出现这些问题。 但是,本文中的修补程序不适用于 SQL Server 2005 SP3。

问题 1

请考虑以下情况:

  • 在 SQL Server Management Studio 中,打开“新建链接服务器”窗口,并使用以下设置之一创建链接服务器:

    • 服务器类型SQL Server 的 SQL Native Client 提供程序

    • SQL Native Client (不是 SQL Native Client 10) 提供程序, 服务器类型其他数据源

    • Microsoft用于SQL Server的 OLE DB 提供程序,服务器类型其他数据源

  • 展开 SQL Server Management Studio 中的链接服务器目录以查看链接服务器。

在这种情况下,SQL Server服务意外关闭,或者在“SQL Server错误日志”文件夹中重复生成一个微型转储文件。 此问题一直持续到停止SQL Server服务。 此外,SQL Server Management Studio报告以下错误:TITLE: Microsoft SQL Server Management Studio------------------------------Failed 检索此请求的数据。 (Microsoft.SqlServer.Management.Sdk.Sfc) 如需帮助,请单击: http://go.microsoft.com/fwlink?ProdName=Microsoft+SQL+Server&LinkId=20476------------------------------ADDITIONAL 信息:执行 Transact-SQL 语句或批处理时发生异常。 (Microsoft.SqlServer.ConnectionInfo) ------------------------------Timeout 已过期。 操作完成之前已过的超时期限或服务器未响应。 (Microsoft SQL Server,错误: -2) 注意 如果在使用具有服务器类型作为SQL Server的 SQL Native Client 提供程序时运行链接服务器查询,则不会出现此问题。

问题 2

请考虑以下情况:

  • 使用用于 ODBC 驱动程序的 Microsoft OLE DB 提供程序创建链接服务器。

  • 使用 SQL Native Client 提供程序创建 ODBC 数据源,服务器 类型“其他”数据源

在此方案中,链接服务器不返回任何结果。

解决方法

此问题的修补程序首次发布在累积更新 7 for SQL Server 2008 Service Pack 1 中。 有关此累积更新包的详细信息,请单击下面的文章编号以查看Microsoft知识库中的文章: -

979065SQL Server 2008 Service Pack 1 的累积更新包 7 注意由于内部版本是累积的,每个新修补程序版本都包含上一个SQL Server 2008 修补程序版本中包含的所有修补程序和所有安全修补程序。 建议考虑应用包含此修补程序的最新修补程序版本。 有关详细信息,请单击以下文章编号以查看Microsoft知识库中的文章: -

970365SQL Server 2008 Service Pack 1 发布后发布的SQL Server 2008 内部版本Microsoft SQL Server 2008 修补程序是为特定SQL Server Service Pack 1 创建的。 必须将 SQL Server 2008 Service Pack 1 修补程序应用于 SQL Server 2008 Service Pack 1 的安装。 默认情况下,SQL Server Service Pack 中提供的任何修补程序都包含在下一个SQL Server Service Pack 中。

更多信息

可以通过运行以下查询来确认 Sqlncli.dll 和 Sqlservr.exe 文件的版本:

select * from sys.dm_os_loaded_modules where name like '%sqlncli.dll' or name like '%sqlservr.exe'

如果使用 Microsoft SQL Server 2008 Service Pack 1 (SP1) 或更高版本的 Microsoft SQL Server 2008,查询将返回以下版本信息:

  • Sqlncli.dll 文件的版本将高于 9.0:3207.0。

  • Sqlservr.exe 文件的版本将高于或等于 10.0:2531.0,但早于 10.0:2766.0。

如果使用 Microsoft SQL Server 2008 RTM 或更高版本的 SQL Server 2008 RTM,则查询将返回以下版本信息:

  • Sqlncli.dll 文件的版本将低于版本 9.0:3207.0。

  • Sqlservr.exe 文件的版本将晚于或等于 10.0:1600.0,但早于 10.0:1835.0。

解决方法

若要解决这些问题,请执行以下步骤:解决方法 1:1。     删除失败的链接服务器。2.     使用 SQL Server Native Client 10.0 (SQLNCLI10) 提供程序创建新的链接服务器。 为此,: a。 右键单击“链接服务器”,然后选择“新建链接服务器”。 B。 选择“其他数据源”,并为“提供程序”选择“SQL Server Native Client 10.0”。解决方法 2:

  1. 在以下路径中创建名为“SQLNCLI”的注册表子项:

    HKLM\Software\Microsoft\DataAccess

  2. 在此子项下创建名为“SQLOSPartitioning”的REG_DWORD类型注册表项。

  3. 将此条目的值设置为0x0。

状态

Microsoft 已确认这是在“适用范围”部分中列出的 Microsoft 产品存在的问题。

更多信息

规则软件

规则标题

规则说明

评估规则时所针对的产品版本

System Center 顾问

SQL Server缺少更新KB979779,以防止 SQL 本机客户端内存损坏

此服务器中存在与 SQL Server 2005 对应的 SQL Native Client 提供程序。 枚举提供程序和创建链接服务器时,可能会在 SQL Server 2008 和 SQL Server 2008 R2 中加载此较旧版本的 SQLNCLI.dll。 SQL Server 2008 和 SQL Server 2008 R2 的特定版本在创建或使用使用此受影响的 SQLNCLI.dll 创建的链接服务器时可能会遇到问题并挂起。 使用所需的修补程序更新受影响的 SQL Server 2008 和 SQL Server 2008 R2 实例,或者在创建链接服务器时避免使用此 SQLNCLI.dll。

2008 SQL ServerSQL Server 2008 R2

参考

有关SQL Server的增量服务模型的详细信息,请单击下面的序列号以查看Microsoft知识库中的文章:

935897 SQL Server团队提供了增量服务模型,用于为报告的问题提供修补程序 有关SQL Server更新的命名架构的详细信息,请单击以下序列号以查看Microsoft知识库中的文章:

822499Microsoft SQL Server软件更新包的新命名架构 有关软件更新术语的详细信息,请单击以下序列号以查看Microsoft知识库中的文章:

824684 有关用于描述 Microsoft 软件更新标准术语的说明

需要更多帮助?

需要更多选项?

了解订阅权益、浏览培训课程、了解如何保护设备等。