6

vsdbcmdを使用してデータベースをデプロイする場合:

vsdbcmd.exe /a:Deploy /manifest:MyDatabase.deploymanifest

私は得る:

SQL01268 .Net SqlClient Data Provider: Msg 50000, Level 16, State 127, Line 6 Rows were detected. The schema update is terminating because data loss might occur. SQL01268 An error occurred while the batch was being executed.

これは問題ありませんが、データ損失が発生する場所はわかりません。を使用する必要があることを確認するには<DeployToScript>True</DeployToScript>、スクリプトをロードして以下を確認します。

IF EXISTS (select top 1 1 from [dbo].[MyTable]) RAISERROR ('Rows were detected. The schema update is terminating because data loss might occur.', 16, 127) WITH NOWAIT

最初にSQLを生成せずに、DBに直接デプロイするときにvsdbcmdにこの情報を表示させる方法はありますか?

ありがとう

4

2 に答える 2

0

これを行う方法はありません。これはバグ(または機能の欠如)です。私の質問に対するトムのコメントを参照してください。

于 2012-01-24T16:48:10.887 に答える
-1

私の場合、SQLを展開する前にDBを空にする必要がありました

于 2011-09-27T12:02:55.390 に答える