SQL Server Data Dude dpproj - при развертывании нельзя сменить владельца на sa - PullRequest
0 голосов
/ 20 декабря 2009

У меня есть функция CLR, которая требует TRUSTWORTHY ON и владельца db = 'sa' для правильной работы.

В моем сценарии развертывания я называю этот код:

  Use MySecurityDB
  go
  EXEC dbo.sp_changedbowner @loginame = N'sa', @map = false 
  go
  Use MyMainDB
  go
  EXEC dbo.sp_changedbowner @loginame = N'sa', @map = false  
  go
  ALTER DATABASE MyMainDB SET TRUSTWORTHY ON 
  go

Когда развертывание завершится, для владельца MyMainDB будет указано мое имя пользователя с аутентификацией в Windows. Я должен вручную запустить вышеупомянутый код (который находится в моем сценарии развертывания), чтобы позволить функции CLR работать. По какой-то причине MySecurityDB изменяется на владельца SA, но не MyMainDB.

Есть идеи, почему это так? Есть ли другой практический способ выполнить задачу настройки владельца и TrustWorthy в развертывании?

Заранее спасибо,

плюшевый

1 Ответ

1 голос
/ 20 декабря 2009

Вы помещаете эти команды в файл сценария после развертывания?

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

Для этого: показать скрытые файлы в Visual Studio; это сделает папку sql видимой; в sql\debug ищите YourProject.sql

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