我在 VS 2008 中使用“SQL SERVER PROJECT”在 C# 中创建 UDF 然后我使用 DEPLOY 命令将 DLL 发布到 MS SQL Server 2005
除了所有创建的 UDF 都归我所有(作为用户)之外,所有工作都很好但我想保留 dbo 模式(例如:dbo.UDF_TEST - 不是 jonny.UDF_TEST)
知道如何管理 thar 吗?
我在 VS 2008 中使用“SQL SERVER PROJECT”在 C# 中创建 UDF 然后我使用 DEPLOY 命令将 DLL 发布到 MS SQL Server 2005
除了所有创建的 UDF 都归我所有(作为用户)之外,所有工作都很好但我想保留 dbo 模式(例如:dbo.UDF_TEST - 不是 jonny.UDF_TEST)
知道如何管理 thar 吗?
从数据库上的 sysadmin 或 dbo 帐户部署 UDF。您可以构建 dll,然后通过以 dbo 身份登录到管理工作室并运行以下命令来手动部署它:
从以下位置创建程序集地理编码
'C:\PATH\YourUDF.dll' 与
PERMISSION_SET = 安全
或者
我找到了另一种方法,允许在 VS 中执行所有操作。
我已经添加到名为“postdeployscript.sql”的项目 SQL 脚本中:
声明 @SQL NVARCHAR(200)
SET @SQL = 'alter schema dbo transfer ' + CURRENT_USER +'.[UDF_GET_AUDIT_VALUE]'
执行 (@SQL)
去
脚本在分解过程中由 VS 自动执行,并将模式从当前用户更改为 DBO。
缺点:您需要手动添加每个 UDF/USP
PS:请注意您也可以使用 predeployscript.sql 在部署前执行一些命令