症状
请考虑以下情形:
应用程序尝试使用 Microsoft SQL Server Native Client 10.0 OLE DB 提供程序连接到 Microsoft SQL Server 的实例。
应用程序在连接字符串中使用扩展的 OLE DB 初始化属性。 例如,应用程序在以下连接字符串中使用 Server、 Database 和 FailOverPartner 属性:
Provider=SQLNCLI10.1;Integrated Security=SSPI; Server =<instance_name>; Database =<database_name>; FailOverPartner=<failover_partner_name>;便笺
- <instance_name> 是表示实例名称的占位符。
- <database_name> 是表示数据库名称的占位符。
- <failover_partner_name> 是一个占位符,表示故障转移伙伴的名称。
在此方案中,不会在应用程序与 SQL Server 实例之间创建连接。 此外,你还会收到 Winsock (10061 Windows 套接字) 错误代码和以下错误消息:
注意
由于目标机器主动拒绝,因此无法连接。
原因
发生此问题的原因是 SQL Server Native Client 10.0 OLE DB 提供程序中出现错误。
如果在连接字符串中使用 SQL Server Native Client 10.0 OLE DB 提供程序的扩展 OLE DB 初始化属性,则连接字符串将加密。 但是,提供程序可能不会解密扩展的属性。 例如,提供程序可能无法解密 数据源 和 初始目录 名称。 因此,您会收到“症状”部分中提到的错误。
解决方法
累积更新信息
SQL Server 2008 Service Pack 2
此问题的修补程序首次在 SQL Server 2008 Service Pack 2 的累积更新 3 中发布。 有关此累积更新包的更多信息,请单击下面的文章编号,以查看 Microsoft 知识库中相应的文章:
2498535 SQL Server 2008 Service Pack 2 累积更新程序包 3 注意 由于版本是累积的,因此每个新的修补程序版本都包含之前 SQL Server 2008 修补程序版本中包含的所有修补程序和所有安全修补程序。 Microsoft 建议考虑应用包含此修补程序的最新修补程序版本。 有关更多信息,请单击下面的文章编号,以查看 Microsoft 知识库中相应的文章:
2402659 SQL Server 2008 Service Pack 2 发布之后发布的 SQL Server 2008 内部版本Microsoft为特定的 SQL Server Service Pack 创建 SQL Server 2008 修补程序。 必须将 SQL Server 2008 Service Pack 2 修补程序应用于 SQL Server 2008 Service Pack 2 的安装。 默认情况下,SQL Server Service Pack 中提供的任何修补程序都包含在下一个 SQL Server Service Pack 中。
SQL Server 2008 R2
此问题的修补程序首次在累积更新 6 中发布。 有关如何获取 SQL Server 2008 R2 的此累积更新程序包的更多信息,请单击下面的文章编号,以查看 Microsoft 知识库中相应的文章:
2489376 SQL Server 2008 R2 累积更新程序包 6 注意:由于版本是累积的,因此每个新的修补程序版本都包含之前 SQL Server 2008 R2 修补程序版本中包含的所有修补程序和安全修补程序。 建议应用包含此修补程序的最新修补程序版本。 有关更多信息,请单击下面的文章编号,以查看 Microsoft 知识库中相应的文章:
981356 在 SQL Server 2008 R2 发布之后发布的 SQL Server 2008 R2 内部版本
SQL Server 2005 Service Pack 3
此问题的修补程序首次在 SQL Server 2005 Service Pack 3 的累积更新 14 中发布。 有关此累积更新包的更多信息,请单击下面的文章编号,以查看 Microsoft 知识库中相应的文章:
2489375 SQL Server 2005 Service Pack 3 累积更新程序包 14 注意 由于版本是累积的,因此每个新的修补程序版本都包含之前 SQL Server 2005 修补程序版本中包含的所有修补程序和所有安全修补程序。 Microsoft 建议考虑应用包含此修补程序的最新修补程序版本。 有关更多信息,请单击下面的文章编号,以查看 Microsoft 知识库中相应的文章:
960598 SQL Server 2005 Service Pack 3 发布之后发布的 SQL Server 2005 内部版本Microsoft为特定的 SQL Server Service Pack 创建 SQL Server 2005 修补程序。 必须将 SQL Server 2005 Service Pack 3 修补程序应用于 SQL Server 2005 Service Pack 3 的安装。 默认情况下,SQL Server Service Pack 中提供的任何修补程序都包含在下一个 SQL Server Service Pack 中。
SQL Server 2008 Service Pack 1
此问题的修补程序首次在 SQL Server 2008 Service Pack 1 的累积更新 12 中发布。 有关此累积更新包的更多信息,请单击下面的文章编号,以查看 Microsoft 知识库中相应的文章:
2467236 SQL Server 2008 Service Pack 1 累积更新程序包 12 注意 由于版本是累积的,因此每个新的修复程序版本都包含之前 SQL Server 2008 修复版本中包含的所有修补程序和所有安全修补程序。 Microsoft 建议考虑应用包含此修补程序的最新修补程序版本。 有关更多信息,请单击下面的文章编号,以查看 Microsoft 知识库中相应的文章:
970365 在发布 SQL Server 2008 Service Pack 1 之后发布的 SQL Server 2008 内部版本Microsoft为特定的 SQL Server Service Pack 创建 SQL Server 2008 修补程序。 必须将 SQL Server 2008 Service Pack 1 修补程序应用于 SQL Server 2008 Service Pack 1 的安装。 默认情况下,SQL Server Service Pack 中提供的任何修补程序都包含在下一个 SQL Server Service Pack 中。
SQL Server 2005 Service Pack 4
此问题的修补程序首次在 SQL Server 2005 Service Pack 4 的累积更新 2 中发布。 有关此累积更新包的更多信息,请单击下面的文章编号,以查看 Microsoft 知识库中相应的文章:
2489409 SQL Server 2005 Service Pack 4 累积更新程序包 2 注意 由于版本是累积的,因此每个新的修补程序版本都包含之前 SQL Server 2005 修补程序版本中包含的所有修补程序和所有安全修补程序。 Microsoft 建议考虑应用包含此修补程序的最新修补程序版本。 有关更多信息,请单击下面的文章编号,以查看 Microsoft 知识库中相应的文章:
2485757 SQL Server 2005 Service Pack 4 发布之后发布的 SQL Server 2005 内部版本Microsoft为特定的 SQL Server Service Pack 创建 SQL Server 2005 修补程序。 必须将 SQL Server 2005 Service Pack 4 修补程序应用于 SQL Server 2005 Service Pack 4 的安装。 默认情况下,SQL Server Service Pack 中提供的任何修补程序都包含在下一个 SQL Server Service Pack 中。
修补程序信息
Microsoft 提供了一个受支持的修补程序。 但此程序只用于解决本文中提到的问题。 仅将此修补程序应用于遇到此特定问题的系统。
如果该修补程序可供下载,则此知识库文章的顶部将出现“提供修补程序下载”部分。 如果此部分不存在,请向 Microsoft 客户服务和支持部门提交请求以获取该修补程序。
注意 如果发生其他问题或需要进行任何故障排除,您应该另行创建服务请求。 对于此特定修补程序无法解决的其他支持问题和事项,将照常收取支持费用。 若要获取 Microsoft 客户服务和支持部门的完整电话号码列表或另行创建服务请求,请访问以下 Microsoft 网站:
/contactus/?ws=support 注意 “修补程序下载可用”窗体显示了修补程序的可用语言版本。 如果您找不到需要的语言,则说明该语言版本的修补程序未提供。
先决条件
若要应用此修补程序,必须安装 SQL Server 2008 Service Pack 1 (SP1) 。
重启信息
应用此修补程序后,可能需要重启计算机。
注册表信息
应用此修补程序后,无需更改注册表。
修补程序替代信息
此修补程序不替代任何其他修补程序。
文件信息
此修补程序的英文版具有下表列出的文件属性 (或更高版本的文件属性) 。 这些文件的日期和时间以协调世界时 (UTC) 格式列出。 在查看文件信息时,文件时间将转换为本地时间。 要了解 UTC 与本地时间之间的时差,请使用“控制面板”中“日期和时间”项中的“时区”选项卡。
对于所有受支持的基于 x86 的 SQL Server 2008 版本
| 文件名 | 文件版本 | 文件大小 | 日期 | 时间 | 平台 |
|---|---|---|---|---|---|
| sqlncli10.dll | 2007.100.2806.0 | 2,560,872 | 2010 年 12 月 14 日 | 16:43 | x86 |
| Sqlncli_keyfile.dll | 2007.100.2806.0 | 13,672 | 2010 年 12 月 14 日 | 15:30 | x86 |
对于所有受支持的基于 x64 的 SQL Server 2008 版本
| 文件名 | 文件版本 | 文件大小 | 日期 | 时间 | 平台 |
|---|---|---|---|---|---|
| sqlncli10.dll | 2007.100.2806.0 | 2,560,872 | 2010 年 12 月 14 日 | 16:43 | x86 |
| sqlncli10.dll | 2007.100.2806.0 | 3,161,960 | 2010 年 12 月 14 日 | 23:45 | x64 |
| Sqlncli_keyfile.dll | 2007.100.2806.0 | 14,184 | 2010 年 12 月 14 日 | 22:48 | x64 |
对于所有受支持的基于 IA-64 的 SQL Server 2008 版本
| 文件名 | 文件版本 | 文件大小 | 日期 | 时间 | 平台 |
|---|---|---|---|---|---|
| sqlncli10.dll | 2007.100.2806.0 | 2,560,872 | 2010 年 12 月 14 日 | 16:43 | x86 |
| Sqlncli_keyfile.dll | 2007.100.2806.0 | 13,672 | 2010 年 12 月 14 日 | 15:30 | x86 |
状态
Microsoft 已确认在 "适用于" 部分中所列的 Microsoft 产品中存在问题。
详细信息
有关连接字符串和适用于 SQL Server Native Client 的 OLE DB 提供程序的详细信息,请访问下面的 Microsoft Developer Network (MSDN) 网站:
有关连接字符串和 SQL Server Native Client 的 OLE DB 提供程序的一般信息
有关连接字符串语法的详细信息,请访问以下 MSDN 网站:
有关连接字符串语法的一般信息
有关 OLE DB 初始化属性的详细信息,请访问以下 MSDN 网站: