我有一个名为user1
. user1
可以执行存储过程[Test].[SP1]
EXEC [Test].[TestSortation]
EXEC [TestSortation]
Run Code Online (Sandbox Code Playgroud)
以上两个命令都有效。
现在,如果我给user1
的服务器角色sysadmin
除了public
。上面 2 个语句中的后者失败,并引发此错误:
找不到存储过程“TestSortation”。
我不想手动更改数据库中的每个存储过程以将模式名称包含在 EXECute 命令中。有人可以向我解释为什么会发生这种情况。另外,有没有办法解决这个问题,自动修复我的存储过程,将架构默认为[Test]
?
sql-server stored-procedures permissions role sql-server-2008-r2