Вопрос

Я использую "SQL SERVER PROJECT" в VS 2008 для создания UDF на C# Затем я использую команду DEPLOY для публикации библиотеки DLL в MS SQL server 2005

Все работает хорошо, за исключением того, что все созданные UDF принадлежат мне (как пользователю) Но я хотел сохранить схему dbo (например:dbo.UDF_TEST - не Джонни.UDF_TEST)

Есть какие-нибудь идеи, как управлять thar?

Это было полезно?

Решение 2

Я нашел другой подход, позволяющий делать все внутри VS.

Я добавил в проект SQL-скрипт с именем "postdeployscript.sql".:

ОБЪЯВИТЬ @SQL NVARCHAR(200)

SET @SQL = 'изменить схему передачи dbo ' + CURRENT_USER +'.[UDF_GET_AUDIT_VALUE]'

ВЫПОЛНИТЬ (@SQL)

Вперед

скрипт автоматически выполняется VS во время процесса деполиментации и изменяет схемы от текущего пользователя к DBO.

Минусы:вам нужно добавить каждый UDF / USP, который вы завершаете вручную

PS:Пожалуйста, обратите внимание, что вы также можете использовать predeployscript.sql для выполнения некоторых команд перед развертыванием

Другие советы

разверните UDF из учетной записи, которая является системным администратором или администратором базы данных.Вы можете создать библиотеку dll, а затем вручную развернуть ее, войдя в Management Studio как dbo для доступа к базе данных и выполнив эти команды:

СОЗДАЙТЕ Геокод СБОРКИ ИЗ

'C:\PATH\YourUDF.dll' С

PERMISSION_SET = БЕЗОПАСНЫЙ

или

  1. Из Visual Studio в обозревателе решений щелкните UDF проект (не решение).
  2. Перейдите в раздел свойства.
  3. Перейдите на вкладку база данных.
  4. Вы можете изменить строку подключения , а также изменить сборку владельца здесь.
Лицензировано под: CC-BY-SA с атрибуция
Не связан с StackOverflow
scroll top