vsdbcmd データ損失が発生する可能性がありますが、どこで発生するのでしょうか?

StackOverflow https://stackoverflow.com/questions/5898395

質問

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 にこの情報を表示させる方法はありますか?

ありがとう

役に立ちましたか?

解決

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

他のヒント

私の場合、SQL をデプロイする前に DB を空にする必要がありました。

ライセンス: CC-BY-SA帰属
所属していません StackOverflow
scroll top