Развертывание базы данных с помощью VSDBCMD.exe, не использующего встроенную защиту - PullRequest
3 голосов
/ 16 сентября 2009

Я пытаюсь развернуть проект базы данных Visual Studio (GDR R2) с помощью утилиты VSDBCMD.exe. Я могу успешно выполнить развертывание, когда строка подключения использует встроенную защиту, но когда я переключаюсь на использование проверки подлинности Sql Server, я получаю следующую ошибку:

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

Я могу успешно выполнить развертывание с использованием проверки подлинности Sql Server при развертывании через Visual Studio.

Вот команда, которую я использую для запуска:

vsdbcmd
  /a:deploy 
  /dsp:sql 
  /dd- 
  /cs:"Data Source=localhost;Initial Catalog=MyCatalog;User ID=MyUserId;Password=MyPassword" 
  /script:C:\MyDbScriptFile.sql
  /manifest:C:\Database.deploymanifest         
  /p:DeploymentConfigurationFile=C:\Database.sqldeployment      
  /p:SqlCommandVariablesFile=C:\Database.sqlcmdvars

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

Запуск Sql Server Profiler для Visual Studio и VSDBCMD.exe показывает только подключения только для MyUserId. Visual Studio, похоже, не использует другую учетную запись. Но выполняемые запросы разные. Думаю, меня не должно удивлять то, что инструменты, похоже, ведут себя по-другому.

Я не хочу добавлять определенные разрешения View Definition для пользователя, пока не выясню, почему я могу сделать это успешно через Visual Studio.

Спасибо.

1 Ответ

0 голосов
/ 16 сентября 2009

Grant View Definition заставляет его работать. Кажется, Visual Studio тайно получает разрешения в других местах.

Добро пожаловать на сайт PullRequest, где вы можете задавать вопросы и получать ответы от других членов сообщества.
...