Sql-Server

暫時關閉開發數據庫上的表類型引用檢查

  • June 23, 2020

在我的數據庫設計過程中,我已經開始將表類型添加到數據庫中,並且遇到了更改表類型的需要。很明顯,如果在儲存過程中使用表類型,則無法刪除或刪除它;除非首先刪除相關的儲存過程,否則不能刪除/更改表類型。

我明白為什麼表類型在活動數據庫中很重要,為什麼不應該刪除它,但如果一個處於開發模式*,那麼*/為什麼不能關閉數據庫,所以要刪除表類型,並添加修改後的類型並重新啟動?…

💡 那麼有沒有辦法停止檢查並允許刪除表類型,從而避免警告能夠改變類型?

不,沒有辦法改變表類型,或者在任何對象直接引用它時刪除它。有一個“相信我,我知道我在做什麼”模式會很好,但我們沒有;您必須送出功能請求才能獲得該功能。

同時,我的建議是創建一個的表類型,然後按照需要使用新類型定義的順序更新儲存過程。這可以防止破壞舊程序,直到您也可以修改它們。更多資訊在這裡:

您還可以使用 SSDT(SQL Server 數據工具)之類的工具。

如果您將數據庫模式導入項目,您只需更改代表類型定義的文件。進行此類更改後,SSDT 將自動生成發布腳本,該腳本將:

  1. 刪除所有相關的儲存過程。
  2. 丟棄舊類型。
  3. 創建新類型。
  4. 重新創建所有過程。

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