關於作者:

本文由微軟最有價值專家 MVP TerryChuang 提供。微軟十分感謝 MVP 主動地將他們的經驗與上百萬名其他技術使用者交流。MVP TerryChuang 同時也將此篇文章放在他的部落格內,歡迎您按 此處  瀏覽 MVP TerryChuang 更多的技術文章、經驗分享與觀點。

問題的來龍去脈

當您嘗試利用資料庫發行精靈來產生指令碼,以做為部署資料庫或進行資料庫降級使用,可能發生【由於該物件目前的狀態,導致作業無效。(SqlPubWiz)】的錯誤(如下圖)。





問題的發生原因

說明發生這個錯誤的環境如下: 

  • Windows 7 Enterprise(x86)

  • SQL Server 2008 R2 with sp1

  • Visual Studio 2010 with sp1

  • 資料庫發行精靈版本:1.4(預設程式路徑為 C:\Program Files\Microsoft SQL Server\90\Tools\Publishing\1.4)

若您嘗試在 SQL Server 2008 R2 中還原 SQL Server 2000 的資料庫備份集,接著使用資料庫發行精靈來把還原後所有的資料庫物件和資料編寫成指令碼,進而作為降級或部署至另一台 SQL Server 2000 伺服器時,執行到第二個步驟發生上圖【由於該物件目前的狀態,導致作業無效。(SqlPubWiz)】的錯誤訊息。發生問題的原因有可能是因為還原時所建立的資料庫名稱與原始的資料庫名稱大小寫不一致所造成。

問題的解決方法

發生這個錯誤的原因,有可能是因為資料庫名稱大小寫的關係,若原本的資料庫名稱為 aBC,若您在還原資料庫時,資料庫名稱全部都輸入成為小寫(abc),可能導致發生這個問題,請試著將資料庫名稱改為和來源資料庫一樣的大小寫,再嘗試使用資料庫發行精靈來編寫指令碼。

請讓我們知道

還滿意我們寫的內容嗎?無論您是遇到了以下任何一種情況:
「太好了!問題解決了。」
「問題沒有解決,我有更好的建議。」
都歡迎您利用本篇文章底部的意見調查表,寫下您寶貴的意見。也期待您的鼓勵,讓我們為您創造更多實用的技術文章。

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!

×