SQL Server 2005/2008的解决办法
(SQL2005中,由于微软做了重大调整,正常情况下不允许对系统表进行即席更新操作,所以要采用和SQL 2000完全不同的操作手法)
孤立帐户,就是某个数据库的帐户只有用户名而没有登录名,这样的用户在用户库的sysusers系统表中存在,而在master数据库的syslogins中却没有对应的记录。
孤立帐户的产生一般是一下两种:
1.将备份的数据库在其它机器上还原;
2.重装系统或SQL SERVER之后只还原了用户库
解决方法是使用sp_change_users_login来修复。
sp_change_users_login的用法有三种
用法1:
exec sp_change_users_login 'REPORT'
列出当前数据库的孤立用户
用法2:
exec sp_change_users_login 'AUTO_FIX','用户名' (SQL Express)
或者
exec sp_change_users_login 'AUTO_FIX','用户名',null,'新用户密码' (SQL Server)
可以自动将用户名所对应的同名登录添加到syslogins中
用法3:
exec sp_change_users_login 'UPDATE_ONE','用户名','登录名'
将用户名映射为指定的登录名。
SQL Server2000-数据库迁移及孤立用户的解决办法
有时候,我们会需要将一个数据库从一个服务器移到另一个服务器上。这种迁移分两种情况,一种是整个数据服务器全部迁移,一种是只移其中的个别数据库。
相对来说,全部迁移比较好办,问题比较少,不过一般要考虑数据库停用造成的服务停顿问题。具体来说,全部迁移我一般采用以下两种简便方法:一、在目标机上做好服务后,目标机和源机都停止服务,直接将所有数据库文件拷到目标机上,此法要求两机数据库文件的目录一致。二、备份源机上所有数据库,包括系统表,然后在目标机上用这些备份文件一个一个数据库还原,注意系统数据库要求用单用户模式才能还原(停数据库,从命令提示符输入:sqlservr.exe -c -m)。此外,如果源与目标数据库的路径不一致时,要设置好还原到什么路径,否则还原也不能成功。
全部还原一般不会出现与用户有关的问题,而迁个别数据库则容易产生用户问题,产生这些问题的原因是保存在数据库的sysusers表中的用户的ID和保存在master.dbo.syslogins的登录ID有出入,造成用户和数据库登录不能联系起来,引起存储过程不能用,权限不能归还用户等等问题,而且这种孤立在数据库中的用户是不能在企业管理器中删除、修改的。
其实在M$的帮助中,这种用户账号叫做“孤立用户”,同时它也提供了解决的方案--把那个用户删除。
可是删除这些用户并不是好方法,因为你以前做的跟这个用户有关的操作又要重新做,所以最好的办法是为这些用户找回与登录的关联。
前提是先建立好了对应的登录。
例子:比如还原时,发现了一个孤立用户abc。
于是,在目标数据库中,先建立名为abc的用户登录,然后以sa身份登录查询分析器,切换到目标数据库,比如ume(use ume;),执行下述语句段(替换具体的数据库名字),即可将孤立用户abc还原成目标库中的新用户abc
exec sp_configure 'allow updates',1 reconfigure with override
update db set sid=s.sid
from 具体的数据库名字.dbo.sysusers db
join master.dbo.syslogins s on db.name=s.name
where db.sid != s.sid and db.islogin=1
exec sp_configure 'allow updates',0 reconfigure with override
分享到:
相关推荐
### SQL还原数据库后孤立用户问题处理 #### 一、什么是孤立账户? 在SQL Server中,孤立账户是指在某个数据库中有用户记录(存在于该数据库的`sysusers`表中),但在`master`数据库的`syslogins`表中却没有对应...
在进行SQL Server数据库的备份与恢复操作时,经常会出现一个棘手的问题:原本数据库中的登录名在恢复到另一台服务器后消失不见,导致原本关联的用户变成孤立用户(即没有对应的登录名)。这种情况通常发生在将数据从...
在使用数据库的过程中,经常会遇到数据库迁移或者数据迁移的问题,或者有突然的数据库损坏,这时需要从数据库的备份中直接恢复。但是,此时会出现问题,这里说明几种常见问题的解决方法。
这通常包括备份和还原登录(使用`sp_help_revlogin`存储过程)以及备份和还原数据库(确保包含用户信息)。 通过理解这些步骤和注意事项,你可以有效地解决SQL Server数据库迁移后的孤立账号问题,确保数据库迁移...
当SQL Server 2000重装或进行数据库备份还原、附加数据库操作后,可能会出现登录名与数据库用户名的关联问题,导致孤立用户,这将影响到用户的正常使用。 首先,让我们探讨孤立用户问题。孤立用户通常是由于数据库...
- **数据库恢复**:使用备份文件还原数据库。假设我们需要恢复的数据库名为`testdb`,其中包含属于用户`test`的表。 - **创建登录用户**:使用具有足够权限的用户(如`sa`)登录,并创建一个与孤立用户同名的新登录...
实施数据库审计方案时,需考虑用户权限管理、数据分类与敏感度、审计策略配置等因素。定期审计报告的生成和分析是持续改进安全策略的关键。同时,要确保系统的更新与升级,以应对新的安全威胁。 总的来说,一个全面...
当从备份还原数据库时,可能会出现孤立用户,这些用户在新环境中没有对应的登录。在这种情况下,需要先用`sp_changeobjectowner`更改对象的所有权,然后删除孤立用户,最后创建新的用户并分配相应的权限。 6. **...
我就开始了对c#的学习,任何语言都不是孤立存在的 ,所以数据交互是很重要的,暑假的时候我把我们这学期的课本数据库系统概论看了一 遍。我记得以前用c语言编程的时候,数据是在内存中申请空间,譬如使用数组等等。...
11.4.3 数据库还原中的孤立用户问题 356 11.4.4 查询备份文件中的信息 360 第 12 章 用户定义数据类型 361 12.1 用户定义数据类型概述 361 12.1.1 创建和删除用户定义数据类型 361 12.1.2 为用户...
11.4.3 数据库还原中的孤立用户问题 356 11.4.4 查询备份文件中的信息 360 第 12 章 用户定义数据类型 361 12.1 用户定义数据类型概述 361 12.1.1 创建和删除用户定义数据类型 361 12.1.2 为用户定义的...
- 使用企业管理器,选择“所有任务”-“还原数据库”,指定恢复的目标数据库名称。 - 选择“从设备”选项,添加所需的备份文件。 - 在“还原备份集”选项中选择“数据库-完全”模式。 - 在“选项”标签页中,...
主要原因是原来的备份还原时保留了原用户的信息,导致产生孤立用户 解决方法: 1.打开mssql企业管理器→数据库→展开出问题的数据库如”mydb”→”用户”→在右侧窗口中选择出问题的用户名如:”***”→右击鼠标→...
在SQL Server中,当尝试删除一个数据库用户时,如果该用户拥有数据库内的对象(如表、视图、存储过程等),系统会阻止你执行删除操作,以保护数据完整性。这通常发生在用户的数据所有权未被转移或者用户仍与数据库...
10. **系统集成**:登录界面往往不是孤立的,它需要与后台业务逻辑和数据库紧密集成,实现用户身份验证和会话管理等功能。 综上所述,企业管理系统登录界面的实现涉及到了用户认证、界面设计、数据安全、数据库管理...
- 解决孤立用户问题通常涉及还原`master`数据库,以恢复用户登录信息。 以上是SQL Server 2008的一些核心概念和操作技巧,掌握这些知识点对于日常管理和维护数据库至关重要。在实际工作中,还需要不断学习和实践,...
- 包括了**2.4.1 创建数据库用户**、**2.4.2 管理数据库用户**以及**2.4.3 管理孤立用户**等内容。 - **2.5 授予数据库权限** - 讨论了如何使用**2.5.1 创建数据库角色**和**2.5.2 管理数据库角色**来简化权限分配...
NetBackup提供的SQL Self-Service功能,明确了备份管理员与数据库管理员(DBA)之间的职责划分,使得DBA能够独立管理数据库备份和还原,同时利用InstantAccess功能快速浏览或装载数据库,增加了灵活性和效率。...
6. 用户接口模块:提供用户友好的操作界面,实现系统的交互功能。 三、算法与技术 AFIS中的关键技术包括指纹图像处理算法和特征匹配算法: 1. 图像处理算法:包括二值化、边缘检测、细化、直方图均衡化等,用于...