我要在本地的ms sqlserver中还原别人的一个数据库。还原操作提示成功。
这个数据库中有N多别人建的表和存储过程,属于一个我数据库中不存在的用户。
这个用户删不掉,提示拥有对象。
在用此用户登陆的时候,提示登陆失败。
如果换用自己建的用户登陆,则无法使用原用户的表和存储过程。
请问如何才能登陆数据库并使用原用户的表和存储过程?
这个数据库中有N多别人建的表和存储过程,属于一个我数据库中不存在的用户。
这个用户删不掉,提示拥有对象。
在用此用户登陆的时候,提示登陆失败。
如果换用自己建的用户登陆,则无法使用原用户的表和存储过程。
请问如何才能登陆数据库并使用原用户的表和存储过程?
解决方案 »
- 基础问题:有个表的一个字段:分数decimal(18,2),为什么向分数字段,写入数据比如89.15时实际上是写入数据库的是89.00,即都是进行了四舍五入
- 触发器执行了 可是更新失败了,请高手看看问题出在哪里?
- 帮忙写个存储过程
- 分割字符串的问题(再问)
- 禁用了 Xp_regread 之后无法用Sql代理新建作业,有什么办法?
- 100分求一句SQL语句
- 如何从SQLServer中用sql语句将数据转到Excel中去
- SQL SERVER中如何截取日期?
- 在sql语句中怎样把一个datetime的值转换为一个只含年月日不含小时分钟的值?
- SQL条件查询-根据日期筛选物料代码的采购单价
- 已知某张表中的触发器被触发,想知道是由哪个事件导致的,应该怎么处理?
- 每天等间隔时间存入数据(如 每隔15分钟),现想得到数据没有存入的时间
delete sysusers where name='username', username就是你那个恢复数据库中的用户,删除之后就用企业管理器再建立一个同样名称的帐号登陆就行了要了解详细的信息可以google一下“孤儿帐号”
然后,把DatabaseA.MDF和DatabaseA.LDF拷到别的服务器B上附加上。
想用LoginA登录到服务器B。
结果失败!
此问题可以解决吗?Answer:
把数据库备份还原到另一个服务器时,可能会遇到孤立用户的问题。下面的方案显示并解决了这个问题: 通过执行 sp_addlogin,把登录 janetl 改名为 dbo。
sp_addlogin 'janetl', 'dbo'
备份数据库。在本例中,备份 Northwind。
BACKUP DATABASE Northwind
TO DISK = 'c:\mssql\backup\northwnd'除去刚刚备份的数据库。 DROP DATABASE Northwind除去登录。 sp_droplogin 'janetl'还原备份的数据库。
RESTORE DATABASE Northwind
FROM DISK = 'c:\mssql\backup\northwnd'select * from sysusersjanetl 登录不能访问 Northwind 数据库,除非允许 guest 登录。尽管 janetl 登录已经删除,它仍然(作为一个孤立行)显示在 sysusers 表中:USE Northwind
SELECT *
FROM sysusers
WHERE name = 'janetl'解决孤立用户问题 用 sp_addlogin 添加一个临时登录。为孤立用户指定安全标识符 (SID)(从 sysusers)。
sp_addlogin @loginame = 'nancyd',
@sid = 0x32C864A70427D211B4DD00104B9E8A00用 sp_dropalias 除去属于别名 SID 的临时别名。 sp_dropalias 'nancyd'用 sp_dropuser 除去原始用户(即现在的孤立用户)。 sp_dropuser 'janetl'用 sp_dropuser 除去原始登录。 sp_droplogin 'nancyd'
不过他的 “要了解详细的信息可以google一下“孤儿帐号””
让我找到了答案
谢谢!给分!