SQL SERVER的SID和表的所有权问题
2007-02-02 16:39
281 查看
今天碰到一个很纳闷的问题,在远程服务器上面调试一个数据库,一切正常,将备份文件下载到本地,还原后,却不能正常使用,老是提示对表的操作失败,似乎是权限问题,很纳闷、、、
查了点资料,发现是用户权限问题,但是建立了和原服务器上一样的用户名,甚至连密码都是一样的,却还是不行,郁闷至极、、、
后来发现,是表的所有者问题引起的,可我明明是建立了所有者的用户名啊,不解,又查资料,发现SQL SERVER在验证用户权限的时候,是根据用户的SID字段里面的值来进行验证的,终于明白了,只要将sysusers表中的SID和实际新建用户的SID更新为一致,应该就可以了,问题解决。
另外,如果要直接更改一个数据库中所有的表的所有者为另外一个用户,可以用下面的语句:
exec sp_msforeachtable 'sp_changeobjectowner ''?'', ''dbo'''
终于搞定了,运行程序,一切正常。
查了点资料,发现是用户权限问题,但是建立了和原服务器上一样的用户名,甚至连密码都是一样的,却还是不行,郁闷至极、、、
后来发现,是表的所有者问题引起的,可我明明是建立了所有者的用户名啊,不解,又查资料,发现SQL SERVER在验证用户权限的时候,是根据用户的SID字段里面的值来进行验证的,终于明白了,只要将sysusers表中的SID和实际新建用户的SID更新为一致,应该就可以了,问题解决。
另外,如果要直接更改一个数据库中所有的表的所有者为另外一个用户,可以用下面的语句:
exec sp_msforeachtable 'sp_changeobjectowner ''?'', ''dbo'''
终于搞定了,运行程序,一切正常。
相关文章推荐
- SQL Server 2005数据库重装后将原数据库直接附加新数据库实例时遇到的所有权问题
- SQL Server中的所有权链及其问题
- SQL Server中的所有权链及其问题
- SQL Server开发人员应聘常见问题妙解
- 如何解决 SQL Server 中的无法连接问题
- Sql Server 2005 数据库备份还原后出现“受限制用户”问题的解决
- sql server选择了混合模式问题
- SQL Server无法通过IP地址注册服务器及连接问题的解决
- 解决SQL SERVER 2005无法远程连接,1433无法打开的问题
- 关于sql server分页查询的问题
- sql server 2000卸载后,再次安装的问题
- SQL Server 内存泄露(memory leak)——游标导致的内存问题
- sql server版本问题
- sql server转mysql 问题
- 汇总SQL Server 2000安装常见问题
- SQL Server 连接问题圣经-命名管道 (1)
- PowerDesigner生成SQL Server 2008脚本注释乱码的问题
- SQL Server使用Merge语句当源表数据集为空时,无法进行查询的问题
- 解决SQL Server本地Windows身份无法登录,错误代码18456问题
- 解决SQL Server 2005中锁的问题