Sql-Server-2008

SQL 2012:在 SQL 2008 R2 中執行生成的 DB 腳本

  • September 9, 2016

我生成了一個腳本(使用 SSMS 2012 中的嚮導)來生成與 SQL 2008 R2 兼容的數據庫腳本。我在 SSMS 2008 R2 實例中執行了這個腳本,我得到了一堆(30)這些可能的“警告”錯誤:

模組“spMoney_Increase”取決於缺少的對象“dbo.spMoney_Decrease”。該模組仍將被創建;但是,在對象存在之前,它無法成功執行。

**我需要擔心這些錯誤嗎?**請注意,這些錯誤並沒有破壞整體執行,我知道不建議嘗試將 2012 數據庫放入 2008 實例,但您知道客戶端請求是如何進行的……

——– 過程描述 ——–

在 SSMS 2012 中 - 伺服器 A

  • 右鍵點擊 MY_DB > 任務 > 生成腳本
  • 在 Set Scripting Options > Advanced > 我選擇了以下設置 高級腳本選項
  • 然後確定 > 下一步 >

在 SSMS 2008 R2 - 伺服器 B 中完成

  • 我在 C 驅動器上創建了模仿伺服器 A 的文件夾位置,因此我不需要更改腳本中的 DIR 路徑:

創建數據庫

$$ MY_DB $$主要(名稱 = N’MY_DB’,文件名 = N’C:\DBS\MY_DB.mdf’,大小 = 16384KB,MAXSIZE = 無限制,文件增長 = 1024KB) 登錄(名稱 = N’MY_DB_log’,文件名 = N’C:\DBS\MY_DB_log.ldf’,大小 = 1280KB,MAXSIZE = 2048GB,文件增長 = 10%)

  • 執行腳本並得到上面的“警告”錯誤。

這是由於缺少依賴關係而出現的警告消息(這也意味著 SQL 依賴關係樹可能未正確設置,因此您在 sys.sql_expression_dependencies 中將沒有正確的條目,這在以後很有用)。然而,這只是一個警告,只要創建了依賴對象,執行程式碼就不會出現問題。

您還可以重新推送您收到警告的項目,這將修復依賴項列表,但同樣不是關鍵。

引用自:https://dba.stackexchange.com/questions/149227