我在VS 2008中使用“SQL SERVER PROJECT”在C#中创建UDF 然后我使用DEPLOY命令将DLL发布到MS SQL Server 2005
一切正常,除了所有创建的UDF都归我所有(作为用户) 但我想保留dbo架构(例如:dbo.UDF_TEST - 而不是jonny.UDF_TEST)
知道如何管理thar吗?
答案 0 :(得分:1)
从sysadmin帐户部署UDF,或在数据库上部署dbo。 您可以构建dll,然后通过以dbo身份登录到管理工作室并手动执行这些命令来手动部署它:
创建装配地理编码FROM
'C:\ PATH \ YourUDF.dll'WITH
PERMISSION_SET =安全
或
答案 1 :(得分:1)
我发现了另一种允许在VS内部做所有事情的方法。
我已经添加了名为“postdeployscript.sql”的项目SQL脚本:
DECLARE @SQL NVARCHAR(200)
SET @SQL ='alter schema dbo transfer'+ CURRENT_USER +'。[UDF_GET_AUDIT_VALUE]'
执行(@SQL)
GO
脚本在解码过程中由VS自动执行,并将模式从当前用户更改为DBO。
缺点:您需要添加手动停止的每个UDF / USP
PS:请注意,您还可以使用predeployscript.sql在部署之前执行某些命令