Sql server 2005 如何强制使用dbo架构名称?
我在VS2008中使用SQLServer项目在C中创建UDF 然后,我使用DEPLOY命令将DLL发布到MSSQLServer2005中 除了所有创建的自定义项都归我作为用户所有之外,所有这些都工作得很好 但是我想保留dbo模式,例如:dbo.UDF_测试,而不是jonny.UDF_测试Sql server 2005 如何强制使用dbo架构名称?,sql-server-2005,managed,user-defined-functions,Sql Server 2005,Managed,User Defined Functions,我在VS2008中使用SQLServer项目在C中创建UDF 然后,我使用DEPLOY命令将DLL发布到MSSQLServer2005中 除了所有创建的自定义项都归我作为用户所有之外,所有这些都工作得很好 但是我想保留dbo模式,例如:dbo.UDF_测试,而不是jonny.UDF_测试 知道如何管理thar吗?从数据库中的sysadmin或dbo帐户部署UDF。 您可以构建dll,然后通过以dbo的身份登录到management studio并运行以下命令来手动部署它: 从创建程序集地理代码
知道如何管理thar吗?从数据库中的sysadmin或dbo帐户部署UDF。 您可以构建dll,然后通过以dbo的身份登录到management studio并运行以下命令来手动部署它: 从创建程序集地理代码 “C:\PATH\YourUDF.dll”带有 权限设置=安全 或 从中的Visual Studio内部 解决方案资源管理器单击UDF 项目不是解决方案。 转到属性。 单击数据库选项卡。 您可以更改连接 字符串,并更改程序集 这里是店主。
我发现了另一种方法,允许在VS 我已将以下内容添加到名为postdeployscript.SQL的项目SQL脚本中: 声明@SQL NVARCHAR200 SET@SQL='alter schema dbo transfer'+CURRENT_USER+'.[UDF_GET_AUDIT_VALUE]' 执行@SQL 去 在解聚过程中,VS自动执行脚本,并将模式从当前用户更改为DBO 缺点:您需要手动添加每个自定义项/自定义项
PS:请注意,您也可以在部署前使用predeployscript.sql执行一些命令谢谢回复。我被迫使用广告和Windows身份验证。所以我不能轻易地以dbo的身份登录,我会优先考虑您提到的第二个选项。我有一个SQL Server项目,然后在它的属性中,我在assembly owner中输入了dbo作为adviced-不幸的是,这对我的错误没有帮助?您需要是数据库的系统管理员,才能将对象设置为具有dbo ownership您不必手动添加它们-您可以使用类似于从sysobjects中选择名称的东西,其中xtype='FN',然后只需迭代到将更改应用于数据库中的每个函数。