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 修正版本中所包含的所有修復程式及所有安全性修正程式。

徵狀

假設您有一個用戶端應用程式使用 SqlConnection GetSchema 方法來檢索資料表的架構資訊。 此表格包含一個包含句號(.)的資料行名稱。 例如,資料表中的其中一個資料行名稱是 "欄 1."。 在這種情況下, GetSchema 方法傳回的結果中找不到名稱包含句號的資料行。注意: 當您使用 OleDbConnection GetSchema 方法時,就不會發生這個問題。

原因

若要評估欄的許可權,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 SP3 的累積更新套件4

此問題的修正程式是以累積更新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 組建

其他相關資訊

如需 SqlConnection GetSchema 方法的詳細資訊,請造訪下列 MSDN 網站:

有關 SqlConnection GetSchema 方法的一般資訊

狀態

Microsoft 已確認本篇文章<適用於>一節所列之 Microsoft 產品確實有上述問題。

Need more help?

Expand your skills
Explore Training
Get new features first
Join Microsoft Insiders

Was this information helpful?

How satisfied are you with the translation quality?
What affected your experience?

Thank you for your feedback!

×