2015-08-19 6 views
1

Я создал проект базы данных в visual studio 2013. Проект успешно завершен. В этом проекте я вставил некоторые тестовые данные в пост-развертывание. Если какие-либо данные не были вставлены, то как узнать, что один из сценариев не удался в определенном месте.Как я знаю, что какая-либо команда некорректна при развертывании/публикации данных в базе данных?

На самом деле я хочу отменить все, если какая-либо команда не удалась из самого файла сценария. Поскольку SQL Server 2012 не поддерживает откат от сценария до/после развертывания.

ответ

1

Окно результатов даст вам строку и детали любой ошибки, это немного раздражает, так как иногда будет отображаться текст начала скрипта, но номер строки ошибки будет правильным.

Главное, что вам нужно сделать, это убедиться, что ваши скрипты вставки перезапустимы, а затем, если вы действительно не видите ошибку, вы можете запустить скрипт самостоятельно, чтобы его отладить.

Я бы очень рекомендовал использовать MERGE заявления делать вставки :)

я обычно рекомендую использовать sqlpackage.exe подтолкнуть местные экземпляры DEB, а не против публиковать, см:

https://the.agilesql.club/blog/Ed-Elliott/Visual-Studio-SSDT-Publish-My-Personal-Best-Practices

Ed

+0

Да, вы правильно говорите. Но 1) Мне нужно откат, если какая-либо из заявлений терпит неудачу. 2) Также я развертываю свои данные с помощью dacpac. Есть ли способ узнать то же самое. Поскольку SQL-сервер не позволяет мне откатиться, чтобы опубликовать сценарий развертывания, так что я должен сделать это вручную. –

+0

Вы можете добавить свои собственные транзакции/откат к сценарию пост-развертывания (он не откажется от изменений схемы) * BUT *, поскольку это экземпляр dev, я всегда буду просто исправлять проблему и повторно развертывать, и, в процессе, чтобы остановить его таким образом снова :) –

 Смежные вопросы

  • Нет связанных вопросов^_^