使用 Microsoft 登录
登录或创建帐户。
你好,
使用其他帐户。
你有多个帐户
选择要登录的帐户。

Microsoft 分发 Microsoft SQL Server 2008 Service Pack 3 (SP3)、Microsoft SQL Server 2008 R2 或 Microsoft SQL Server 2012 作为一个可下载文件修复。 由于修补程序是累积的,因此每个新版本都包含以前的 SQL Server 2008 Service Pack 3 (SP3)、SQL Server 2008 R2 或 SQL Server 2012 修复版本附带的所有修补程序和所有安全修补程序。

症状

假设你有一个客户端应用程序,该应用程序使用 GetSchema 方法检索表的架构信息。 此表包含一个包含句点(.)的列名称。 例如,表中的其中一个列名称为 "Column1"。 在这种情况下, GetSchema 方法返回的结果中缺少名称包含句点的列。注意 当你使用 OleDbConnection 方法时,不会出现此问题。

原因

为了评估列的权限,SQL Server 2008 Service Pack 1 使用HAS_PERMS_BY_NAME函数,而不是sys.spt_columns_view_managed系统视图中的权限函数。 但是,如果某个列名称包含句点且未包含在 QUOTENAME 函数中,则 HAS_PERMS_BY_NAME 函数会认为用户对该列没有足够的权限。 因此,将出现 "症状" 部分所述的问题。

解决方案

累积更新信息

SQL Server 2008 R2 Service Pack 2

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

2720425 SQL Server 2008 R2 Service Pack 2 的累积更新包1注意 由于这些版本是累积的,因此每个新的修复版本都包含了以前的 SQL Server 2008 R2 修补程序版本附带的所有修补程序和所有安全修补程序。 我们建议你考虑应用包含此修补程序的最新修复版本。 有关更多信息,请单击下面的文章编号,以查看 Microsoft 知识库中相应的文章:

2730301 发布 SQL Server 2008 R2 Service Pack 2 后发布的 SQL Server 2008 R2 版本

SQL Server 2012

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

2703275 SQL Server 2012 累积更新包2注意 由于这些版本是累积的,因此每个新的修复版本都包含以前的 SQL Server 2012 修复版本附带的所有修补程序和所有安全修补程序。 Microsoft 建议你考虑应用包含此修补程序的最新修复版本。 有关更多信息,请单击下面的文章编号,以查看 Microsoft 知识库中相应的文章:

2692828 在 SQL Server 2012 发布后发布的 SQL Server 2012 版本 必须将 SQL Server 2012 修补程序应用到 SQL Server 2012 的安装。

SQL Server 2008 R2 Service Pack 1

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

2703282 SQL Server 2008 R2 Service Pack 1 的累积更新包7注意 由于这些版本是累积的,因此每个新的修复版本都包含了以前的 SQL Server 2008 R2 修补程序版本附带的所有修补程序和所有安全修补程序。 我们建议你考虑应用包含此修补程序的最新修复版本。 有关更多信息,请单击下面的文章编号,以查看 Microsoft 知识库中相应的文章:

2567616 在发布 SQL Server 2008 R2 Service Pack 1 之后发布的 SQL Server 2008 R2 版本

SQL Server 2008 R2

此问题的修补程序首次在累积更新13中发布。有关如何为 SQL Server 2008 R2 获取此累积更新包的详细信息,请单击下面的文章编号,以查看 Microsoft 知识库中相应的文章:

2679366 SQL Server 2008 R2 的累积更新程序包13 注意 由于这些版本是累积的,因此每个新的修复版本都包含了以前的 SQL Server 2008 R2 修补程序版本附带的所有修补程序和所有安全修补程序。 我们建议你考虑应用包含此修补程序的最新修复版本。 有关更多信息,请单击下面的文章编号,以查看 Microsoft 知识库中相应的文章:

981356 发布 SQL Server 2008 R2 后发布的 SQL Server 2008 R2 版本

SQL Server 2008 的累积更新程序包 4 SP3

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

2673383 SQL Server 2008 的累积更新程序包 4 Service Pack 3注意 由于这些版本是累积的,因此每个新的修复版本都包含以前的 SQL Server 2008 Service Pack 4 修复版本附带的所有修补程序和所有安全修补程序。 我们建议你考虑应用包含此修补程序的最新修复版本。 有关更多信息,请单击下面的文章编号,以查看 Microsoft 知识库中相应的文章:

2629969 发布 SQL server 2008 Service Pack 3 后发布的 SQL Server 2008 版本

更多信息

有关 GetSchema 方法的详细信息,请访问以下 MSDN 网站:

有关 SqlConnection GetSchema 方法的常规信息

状态

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

需要更多帮助?

需要更多选项?

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

社区可帮助你提出和回答问题、提供反馈,并听取经验丰富专家的意见。

此信息是否有帮助?

你对语言质量的满意程度如何?
哪些因素影响了你的体验?
按“提交”即表示你的反馈将用于改进 Microsoft 产品和服务。 你的 IT 管理员将能够收集此数据。 隐私声明。

谢谢您的反馈!

×