SQL SERVER 2005与Windows 7的问题

首先我从其他服务器恢复数据库,现在所有的存储过程被命名为[azamsharp]。[usp_getlatestposts]。 我认为[azamsharp]是前缀,因为它是原始服务器上的用户。

现在,在我的本地机器上,这个不运行。 我不希望所有存储过程的[azamsharp]前缀。

另外,当我右键点击Sproc,我甚至不能看到属性选项。 我在Windows 7上运行SQL SERVER 2005。

更新:

奇怪的是,如果我从我的机器访问生产数据库,我可以看到属性选项。 所以,Windows 7的安全性确实有问题。

更新2:

当我运行孤儿用户存储过程时,显示两个用户“azamsharp”和“dbo1”。 我修复了“azamharp”用户,但“dbo1”没有得到修复。 当我运行以下脚本时:

exec sp_change_users_login'update_one','dbo1','dbo1'我得到以下错误:

消息15291,级别16,状态1,过程sp_change_users_login,行131终止此过程。 login名“dbo1”不存在或无效。

你可能有孤儿用户。 从计算机访问服务器时,您的域凭据可能具有作为DBadmin访问生产服务器的权限。 运行此代码来检测孤立的用户:

Use TestDB sp_change_users_login 'report' 

输出列出了sysusers系统表中的条目,TestDB数据库中的条目和master数据库中的sysxlogins系统表之间不匹配的所有login名。 解决这个问题:

解决孤立的用户

 Use TestDB sp_change_users_login 'update_one', 'test', 'test' SELECT sid FROM dbo.sysusers WHERE name = 'test' 0x40FF09E48FBD3354B7833706FD2C61E4 use master SELECT sid FROM dbo.sysxlogins WHERE name = 'test' 0x40FF09E48FBD3354B7833706FD2C61E4 

这将重新链接服务器login“test”与TestDB数据库用户“test”。 sp_change_users_login存储过程也可以使用“auto_fix”参数执行所有孤立用户的更新,但不build议这样做,因为SQL Server尝试按名称匹配login名和用户。 大多数情况下, 但是,如果错误的login与用户关联,则用户可能具有不正确的权限。