网络编程
位置:首页>> 网络编程>> 数据库>> sql 附加数据库后,孤立用户的解决办法

sql 附加数据库后,孤立用户的解决办法

  发布时间:2011-01-22 13:46:00 

标签:数据库,附加,sql

孤立帐户,就是某个数据库的帐户只有用户名而没有登录名,这样的用户在用户库的sysusers系统表中存在,而在master数据库的syslogins中却没有对应的记录。如下图所示

由上图可看出,有些用户(如user),在数据库附加时其丢失了登录者。这样会造成user登录数据库时无权限操作user所有者的数据库对象。


解决方法如下:

一、解决方法1

1.创建同名新登录。企业管理器-> 安全性->登录->(右键点击)新建登录,出现下图所示对话框,创建登录用户

2.打开查询分析器,输入“select sid ,name from master.dbo.syslogins where name='user'”,得到 登录名用“ user”的SID。如下图:

3.打开SQL Server属性,选择服务器设置,勾选“允计系统目录直接进行修改”。只有进行此操作后,才可以进行4操作

4.将MYDB数据库中用户为'user'的对应SID改为由1获得的SID。这样用户‘user’的权限就附给了登录名'user',实现的语句如下。MYDB是你要修改的那个数据库的名字。

update MYDB.dbo.sysusers

SET sid=CONVERT(varbinary, 0x25B815968D1B5D48B4C82AF12417C5D0)

where name='user'

5.打开SQL Server属性,选择服务器设置,勾去“允计系统目录直接进行修改”。

6.重新连接SQL服务,你会发现。User用户的权限已经附给了登录”user”

0
投稿

猜你喜欢

手机版 网络编程 asp之家 www.aspxhome.com