Microsoft 將 Microsoft SQL Server 2008 R2 發佈為一個可下載的檔案。 因為修正程式是累加的,所以每個新發行版本本都包含舊版 SQL Server 2008 R2 修正程式版本中所包含的所有修復程式及所有安全性修正程式。
徵狀
請考慮下列案例:
案例 1
-
您可以在 Microsoft SQL Server 2008 R2、Microsoft SQL Server 2012 或 Microsoft SQL Server 2008 中,除去已分區資料表的資料行。
-
您可以為表格建立新的磁碟分割。
-
您嘗試將資料插入表格的新分區中。
-
您可以切換資料表的分區。
-
您嘗試將資料插入表格的新分區中。
在這種情況下,可能會發生存取衝突。 此外,您收到下列錯誤訊息:
目前的命令發生嚴重錯誤。 結果(如果有的話)應該捨棄。
案例 2
-
您在 SQL Server 2008 R2、SQL Server 2012 或 SQL Server 2008 中有一個已分區的資料表。
-
您變更分區的壓縮類型。
-
您嘗試更新分區或將資料插入到分區中。
在這種情況下,可能會發生存取衝突。 此外,您收到下列錯誤訊息:
目前的命令發生嚴重錯誤。 結果(如果有的話)應該捨棄。
原因
之所以發生這個問題,是因為 SQL Server 用來將資料插入不同的分區的存取器可識別中繼資料的不正確變更。 將資料插入到刪除欄之後所建立的新分區之後,新分區中的最大可為 null 的欄數可能比舊分區中的最大可為 null 的欄數少1。
解決方案
累積更新資訊
SQL Server 2012 SP1 的累積更新4
此問題的修正程式是以累積更新4第一次發行。如需有關如何取得 SQL Server 2012 SP1 累積更新套件的詳細資訊,請按一下下列文章編號,移至 Microsoft 知識庫中的文章:
2833645 SQL Server 2012 SP1 的累積更新4注意: 假設組建是累加的,每個新的修正版本都包含舊版 SQL Server 2012 SP1 修正版本中所包含的所有修復程式及所有安全修正程式。 我們建議您考慮套用包含此熱修復程式的最新修正版本。 如需更多資訊,請點選下方文章編號,前往 Microsoft 知識庫查閱文章:
2772858 在發行 SQL Server 2012 Service Pack 1 之後發行的 SQL Server 2012 組建
SQL Server 2008 R2 Service Pack 2 的累積更新6
此問題的修正程式是在累積更新6中第一次發行。如需有關如何取得適用于 SQL Server 2008 R2 Service Pack 2 之累積更新套件的詳細資訊,請按一下下列文章編號,以查看 Microsoft 知識庫中的文章:
2830140 SQL Server 2008 R2 Service Pack 2 的累積更新套件6注意: 因為組建是累加的,所以每個新的修正程式版本都包含舊版 SQL Server 2008 R2 Service Pack 2 (修正版本)所包含的所有修復程式及所有安全修正程式。 我們建議您考慮套用包含此熱修復程式的最新修正版本。 如需詳細資訊,請按一下下面的文章編號,檢視「Microsoft 知識庫」中的文章:
2730301 在發行 SQL Server 2008 R2 Service Pack 2 之後發行的 SQL Server 2008 R2 組建
SQL Server 2012 累積更新7
此問題的修正程式是在累積更新7中第一次發行。如需如何取得此 SQL Server 2012 累積更新套件的詳細資訊,請按一下下列文章編號,以查看 Microsoft 知識庫中的文章:
2823247 SQL Server 2012 的累積更新套件7注意: 因為組建是累加的,所以每個新的修正程式版本都包含先前 SQL Server 2012 修正版本中所包含的所有修復程式及所有安全性修正程式。 我們建議您考慮套用包含此熱修復程式的最新修正版本。 如需詳細資訊,請按一下下面的文章編號,檢視「Microsoft 知識庫」中的文章:
2692828 在發行 SQL Server 2012 之後發行的 SQL Server 2012 組建
SQL Server 2008 R2 Service Pack 1 的累加更新12
此問題的修正程式是在累積更新12中第一次發行。如需有關如何取得適用于 SQL Server 2008 R2 Service Pack 1 之累積更新套件的詳細資訊,請按一下下列文章編號,以查看 Microsoft 知識庫中的文章:
2828727 SQL Server 2008 R2 Service Pack 1 的累積更新套件12注意: 因為組建是累加的,所以每個新的修正程式版本都包含先前 SQL Server 2008 R2 Service Pack 1 修正版本中所包含的所有修復程式及所有安全修正程式。 我們建議您考慮套用包含此熱修復程式的最新修正版本。 如需詳細資訊,請按一下下面的文章編號,檢視「Microsoft 知識庫」中的文章:
2567616 在發行 SQL Server 2008 R2 Service Pack 1 之後發行的 SQL Server 2008 R2 組建
SQL Server 2008 累積更新 10 Service Pack 3
此問題的修正程式是在累積更新10中第一次發行。如需有關如何取得 SQL Server 2008 Service Pack 3 的累積更新套件的詳細資訊,請按一下下列文章編號,以查看 Microsoft 知識庫中的文章:
2814783 SQL Server 2008 的累積更新套件 10 Service Pack 3注意: 因為組建是累加的,所以每個新的修正版本都包含舊版 SQL Server 2008 Service Pack 3 修復程式版本中所包含的所有修復程式及所有安全性修正程式。 我們建議您考慮套用包含此熱修復程式的最新修正版本。 如需詳細資訊,請按一下下面的文章編號,檢視「Microsoft 知識庫」中的文章:
2629969 在發行 SQL Server 2008 Service Pack 3 之後發行的 SQL Server 2008 組建
SQL Server 2008 R2 Service Pack 1
此問題的修正程式是在累積更新9中第一次發行。如需有關如何取得適用于 SQL Server 2008 R2 Service Pack 1 之累積更新套件的詳細資訊,請按一下下列文章編號,以查看 Microsoft 知識庫中的文章:
2756574 SQL Server 2008 R2 Service Pack 1 的累積更新套件9注意: 因為組建是累加的,所以每個新的修正程式版本都包含先前 SQL Server 2008 R2 Service Pack 1 修正版本中所包含的所有修復程式及所有安全修正程式。 我們建議您考慮套用包含此熱修復程式的最新修正版本。 如需詳細資訊,請按一下下面的文章編號,檢視「Microsoft 知識庫」中的文章:
2567616 在發行 SQL Server 2008 R2 Service Pack 1 之後發行的 SQL Server 2008 R2 組建
SQL Server 2008 R2
此問題的修正程式是在累積更新7中第一次發行。如需有關如何取得 SQL Server 2008 R2 累積更新套件的詳細資訊,請按一下下列文章編號,以查看 Microsoft 知識庫中的文章:
2507770 SQL Server 2008 R2 的累積更新套件7 注意: 因為組建是累加的,所以每個新的修正程式版本都包含先前 SQL Server 2008 R2 修正版本中所包含的所有修復程式及所有安全性修正程式。 我們建議您考慮套用包含此熱修復程式的最新修正版本。 如需詳細資訊,請按一下下面的文章編號,檢視「Microsoft 知識庫」中的文章:
981356 在發行 SQL Server 2008 R2 之後發行的 SQL Server 2008 R2 組建
SQL Server 2008 R2 的 Service pack 資訊
若要解決此問題,請取得最新的 SQL Server 2008 R2 service pack。如需詳細資訊,請按一下下列文章編號,以查看 Microsoft 知識庫中的文章:
2527041如何取得最新的 SQL Server 2008 R2 service pack
因應措施
若要解決此問題,請在您刪除其中一個資料表的資料行之後,重建分區資料表的所有分區。
狀態
Microsoft 已確認本篇文章<適用於>一節所列之 Microsoft 產品確實有上述問題。這個問題首先是在 SQL Server 2008 R2 Service Pack 1 中修正。
其他相關資訊
如需如何建立壓縮資料表與索引的詳細資訊,請移至下列 MSDN 網站: