使用 Visual Studio 的 SQL Server 結構描述比較時發生「偵測到資料列。結構描述更新即將終止,因為可能造成資料遺失。」

當使用 Visual Studio 的 SQL Server 結構描述比較時,若要刪除目標 SQL Server 上的欄位且該資料表已經有資料時就會發生「偵測到資料列。結構描述更新即將終止,因為可能造成資料遺失。」,這是預防我們誤刪資料所做的檢查。

解決方法

如果確認可以刪除,只要移除這段檢查語法,並重新執行就可以了。(若不知道在哪裡,透過錯誤訊息顯示的行數去找。)

1
2
3
IF EXISTS (select top 1 1 from [dbo].[Table])
RAISERROR (N'偵測到資料列。結構描述更新即將終止,因為可能造成資料遺失。', 16, 127) WITH NOWAIT
GO

取消檢查

將常用的比對設定檔 SchemaCompare (*.scmp) 存檔。

點選比較視窗的選項

取消勾選「可能遺失資料時即封鎖」,之後這個比對設定檔在比對時就不會再檢查了,這個設定值是跟隨 .scmp 檔,所以下次另開新的 .scmp 時要再設定一次。