Потеря данных vsdbcmd может произойти, но где?

При использовании 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

Есть ли способ получить vsdbcmd для отображения этой информации при развертывании непосредственно на БД без необходимости сначала создавать sql?

Спасибо

2 ответа

Решение

Нет способа сделать это, это ошибка (или отсутствующая функция). Смотрите комментарий Тома к моему вопросу.

Мне нужно было очистить мою БД перед развертыванием SQL

Другие вопросы по тегам