Настройка сценария проекта базы данных SQL Server с Visual Studio 2017 - PullRequest
0 голосов
/ 11 мая 2019

Я использую проект базы данных SQL Server с Visual Studio 2017 и пытаюсь настроить вывод сценария, чтобы сделать несколько вещей:

  1. Создание сценария только для T-SQL без переменных SQLCMD. Человек, выполняющий скрипт, вообще не допускает SQLCMD. Возможно ли это сделать?
  2. Исключить операторы GRANT ALTER ON SCHEMA::[dbo] и GRANT CONTROL ON SCHEMA::[dbo]. В моей ситуации эти операторы относятся к более низким средам и не должны развертываться в верхних средах.

Что касается # 1, я просмотрел Visual Studio и пока не нашел способа сделать это.

Для # 2 я попытался изменить некоторые параметры в сравнении схем, но почему-то операторы GRANT ALTER и GRANT CONTROL всегда появляются в выходных данных скрипта и Я должен удалить их вручную.

Спасибо

1 Ответ

0 голосов
/ 11 мая 2019

Вы можете создать профиль публикации как часть проекта базы данных и исключить части, которые вы не хотите развертывать. Например, пользователи, разрешения и роли могут быть исключены из развертывания.

Опять же, странно, что эти заявления появляются вообще. У вас есть пользователи и / или логины в вашем проекте базы данных? Я, например, никогда не ставлю их там на первое место, потому что они специфичны для каждого экземпляра и приносят больше вреда, чем пользы, когда у вас несколько сред (что в значительной степени всегда так).

Что касается переменных SQLCMD, я не думаю, что вы можете избежать их полностью. Человек, который получит ваш скрипт, должен будет закомментировать их и заменить действительными значениями в коде. Должно быть что-то удивительно необычное в том, как ваша компания настроила управление изменениями в целом и развертывание изменений в частности. Может быть, вы сможете заставить их пересмотреть свои прежние пути в пользу более современного подхода? ..

...