Sql-Server
暫時關閉開發數據庫上的表類型引用檢查
在我的數據庫設計過程中,我已經開始將表類型添加到數據庫中,並且遇到了更改表類型的需要。很明顯,如果在儲存過程中使用表類型,則無法刪除或刪除它;除非首先刪除相關的儲存過程,否則不能刪除/更改表類型。
我明白為什麼表類型在活動數據庫中很重要,為什麼不應該刪除它,但如果一個處於開發模式*,那麼*/為什麼不能關閉數據庫,所以要刪除表類型,並添加修改後的類型並重新啟動?…
💡 那麼有沒有辦法停止檢查並允許刪除表類型,從而避免警告能夠改變類型?
不,沒有辦法改變表類型,或者在任何對象直接引用它時刪除它。有一個“相信我,我知道我在做什麼”模式會很好,但我們沒有;您必須送出功能請求才能獲得該功能。
同時,我的建議是創建一個新的表類型,然後按照需要使用新類型定義的順序更新儲存過程。這可以防止破壞舊程序,直到您也可以修改它們。更多資訊在這裡:
您還可以使用 SSDT(SQL Server 數據工具)之類的工具。
如果您將數據庫模式導入項目,您只需更改代表類型定義的文件。進行此類更改後,SSDT 將自動生成發布腳本,該腳本將:
- 刪除所有相關的儲存過程。
- 丟棄舊類型。
- 創建新類型。
- 重新創建所有過程。