Microsoft 將 Microsoft SQL Server 2008 R2 發佈為一個可下載的檔案。 因為修正程式是累加的,所以每個新發行版本本都包含舊版 SQL Server 2008 R2 修正程式版本中所包含的所有修復程式及所有安全性修正程式。

徵狀

請試想下列案例:

  • 您在 SQL Server 2008 R2 中建立事務性發佈。

  • 您可以在出版物中新增表格做為文章。

  • 您會初始化事務性發佈,並產生初始快照。

  • 您嘗試執行查詢,以將新資料行新增至資料表。例如,您嘗試執行下列查詢,以將 <的欄名稱> 欄新增至<的 資料表名稱> 資料表:

    Alter table <table name> add <column name> int null

在這種情況下,查詢不會執行,而且您會收到類似以下的錯誤訊息:

位置: replschema:1305Expression:(pCopySrc-command) <= (int) cmdLengthSPID: <Spid>進程識別碼: <進程識別碼>

Msg 4902、Level 16、State 1、Line 2Cannot 找出 <資料表名稱> 的物件,因為它不存在或您沒有許可權。發生這個問題時,會在 SQL Server 錯誤記錄檔中記錄下列錯誤訊息。

或者,您可能會遇到下列稍有不同的錯誤:

Msg 3624,等級20,狀態1,程式 sp_replflush,Line 1A 系統斷言檢查失敗。 如需詳細資訊,請參閱 SQL Server 錯誤記錄。 通常,宣告失敗是由軟體錯誤或資料損毀所導致。 若要檢查資料庫是否損毀,請考慮執行 DBCC CHECKDB。 如果您同意在安裝期間將轉儲傳送至 Microsoft,則會將迷你轉儲傳送至 Microsoft。 您可以從 Microsoft 最新 Service Pack 中的 Microsoft 取得更新,或從技術支援取得 QFE。

此外,錯誤記錄中還會記錄下列專案:

2011-03-25 08:56: 14.71 spid55 錯誤:17066、嚴重性:、狀態: 1.2011-25 08:56: 14.71 spid55 SQL Server Assertion: File: <replschema .cpp>,line = 1305 失敗的 Assertion = ' (pCopySrc-command) <= (int) cmdLength」。 此錯誤可能是與時間有關的。 如果在重新執行語句後發生錯誤,請使用 DBCC CHECKDB 來檢查資料庫的結構完整性,或重新開機伺服器,以確保記憶體中的資料結構未損毀。 2011-03-25 08:14.92: spid55 錯誤:3624、嚴重性:20、State: 1.2011-03-25 08:56: 14.92 spid55 系統斷言檢查已失敗。 如需詳細資訊,請參閱 SQL Server 錯誤記錄。 通常,宣告失敗是由軟體錯誤或資料損毀所導致。 若要檢查資料庫是否損毀,請考慮執行 DBCC CHECKDB。 如果您同意在安裝期間將轉儲傳送至 Microsoft,則會將迷你轉儲傳送至 Microsoft。 您可以從 Microsoft 最新 Service Pack 中的 Microsoft 取得更新,或從技術支援取得 QFE。

解決方案

累積更新資訊

SQL Server 2008 R2 Service Pack 1

此問題的修正程式是在 SQL Server 2008 R2 Service Pack 1 的累積更新1中第一次發行。如需如何取得此累積更新套件的詳細資訊,請按一下下列文章編號,以查看 Microsoft 知識庫中的文章:

2544793 SQL Server 2008 R2 Service Pack 1 的累積更新套件1注意: 因為組建是累加的,所以每個新的修正程式版本都包含先前 SQL Server 2008 R2 修正版本中所包含的所有修復程式及所有安全性修正程式。 我們建議您考慮套用包含此熱修復程式的最新修正版本。 如需詳細資訊,請按一下下面的文章編號,檢視「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 組建

因應措施

若要解決此問題,請修改表格名稱以包含少於8個字元。

狀態

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?

Any additional feedback? (Optional)

Thank you for your feedback!

×