MS Sql2000 和“方案”

MS Sql2000 和“方案”

我遇到了一个问题,我不知道该去哪里查找或如何修复它。问题如下。我们有一个带有 sql2000database 的站点。从中恢复了备份以创建开发环境。一些存储过程被命名为 [owner].name(所有者不是 dbo,我希望在实时和开发环境中保持相同的结构)

当我尝试在未指定所有者姓名的情况下运行这些存储过程时,出现“无法找到存储过程”错误。(使用所有者凭据)

但是我创建了一个新用户,以及一个新的存储过程,这个新用户是所有者。然后使用新用户登录。然后我可以通过其名称找到存储过程。

例子:

所有者 = Daniel SPTest = 存储过程(名称 Daniel.SPTest)

以 Daniel 身份登录,执行 SPTest = 未找到存储过程<--这里出了什么问题?

在数据库中创建新用户和存储过程 所有者新用户 SPTest2 = 存储过程(名称新用户.SPTest2) 以新用户身份登录 exec SPTest2 = 运行过程

我尝试删除用户 Daniel,然后使用用户名 Daniel 创建一个新用户。但我仍然收到相同的错误。还有其他表存在这种映射吗?

答案1

在服务器上创建用户“Daniel”(不仅针对该数据库,而且在服务器的安全对象中),然后运行:

USE YOUR_SQL_2000DB
sp_change_users_login 'auto_fix', 'Daniel'

问题(最有可能)在于您的数据库未将新“Daniel”视为与旧“Daniel”相同的用户。该系统存储过程应该可以修复该问题。

相关内容