1

我在 VS 2008 中使用“SQL SERVER PROJECT”在 C# 中创建 UDF 然后我使用 DEPLOY 命令将 DLL 发布到 MS SQL Server 2005

除了所有创建的 UDF 都归我所有(作为用户)之外,所有工作都很好但我想保留 dbo 模式(例如:dbo.UDF_TEST - 不是 jonny.UDF_TEST)

知道如何管理 thar 吗?

4

2 回答 2

1

从数据库上的 sysadmin 或 dbo 帐户部署 UDF。您可以构建 dll,然后通过以 dbo 身份登录到管理工作室并运行以下命令来手动部署它:

从以下位置创建程序集地理编码

'C:\PATH\YourUDF.dll' 与

PERMISSION_SET = 安全

或者

  1. 在解决方案资源管理器的 Visual Studio 中,单击 UDF 项目(不是解决方案)。
  2. 转到属性。
  3. 单击数据库选项卡。
  4. 您可以更改连接字符串,也可以在此处更改程序集所有者。
于 2009-03-12T15:29:27.490 回答
1

我找到了另一种方法,允许在 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 在部署前执行一些命令

于 2009-03-13T11:45:17.553 回答