在实时数据库上重命名函数以匹配本地数据库

时间:2012-03-08 09:26:49

标签: sql-server ssms

我在使用sqlserver 2008创建的表函数时遇到了问题。

我在我的本地数据库中创建了它,它显示为:

当我在管理工作室查看时,

[dbo] .MyFunction

但是当我在live db上创建函数时(我使用共享主机btw)它显示为:

当我在管理工作室查看时,

[myusername] .MyFunction

这会导致我出现问题,因为我使用sqlmetal来生成基于db的类。 我认为这两个名字对于db&#39>都是一致的

如何重命名?因为我试图修改它,但没有工作

1 个答案:

答案 0 :(得分:1)

运行以下语句(具有足够权限的用户)

exec sp_rename '[myusername].MyFunction', '[dbo].MyFunction'

当您的用户不是db_owner角色的成员时,您创建的任何对象(未指定架构)都将在“用户架构”中创建

为了防止以后出现这种情况,请将您的功能创建为:

create function dbo.MyFunction()
returns ...