1、附加数据库
2、进入查询设计器(选择附加的数据库)
sp_change_users_login 'report'
执行查询出没有登录名的用户
3、执行
sp_change_users_login 'Auto_Fix', '用户名', NULL, '密码'
原文:
MS SQL Server 2000 数据库使用备份还原造成的孤立用户和对象名‘xxx’无效的错误的解决办法 在使用数据库的过程中,经常会遇到数据库迁移或者数据迁移的问题,或者有突然的数据库损坏,这时需要从数据库的备份中直接恢复。但是,此时会出现问题,这里说明几种常见问题的解决方法。
一、孤立用户的问题比如,以前的数据库的很多表是用户test建立的,但是当我们恢复数据库后,test用户此时就成了孤立用户,没有与之对应的登陆用户名,哪怕你建立了一个test登录用户名,而且是以前的用户密码,用该用户登录后同样没办法操作以前属于test的用户表。这个问题有两种办法解决。先说解决的前提条件。
首先,要用备份文件还原数据库,我们这里的数据库名为test,里面有属于用户test的用户表。这个很容易了操作了,不多讲了,在企业管理器中很方便可以恢复。恢复后,就产生了孤立用户test。然后,用sa用户或者具有DBA权限的用户登录,创建一个test数据库登录用户,密码随便设置了,也可以和以前的保持一致。我们用它来对应孤立的test用户。下面就有两种操作方法了,第一种就是改变对象的属主,第二种就是使登录用户和数据库的孤立用户对应起来。
方法:使登录用户和数据库的孤立用户对应起来其实我们建立了同样名称的数据库登录用户后,数据库中的表我们照样不能使用时因为sid的不同,就是系统登录表和数据库用户表中的用户名相同,单是sid字段,数据库中的还是以前旧系统的sid值,所以我们就要把它对应成我们新建的,数据库靠sid来识别用户。
这里可以使用存储过程sp_change_users_login。
它有三种动作,分别是report,update_one和auto_fix。
运行下面的代码,系统会列出当前数据库的孤立用户数。
sp_change_users_login 'report' 我们只需要选择当前数据库为testdb,然后运行sp_change_users_login 'update_one','test','test' 系统就会提示修复了一个孤立用户。
如果没有建立test的登录用户,还可以用sp_change_users_login 'Auto_Fix', 'test', NULL, 'testpassword' 来创建一个登录用户名为test,密码为testpassword的用户与之对应。 好了,到这里通常情况下,数据库对象得到访问问题已经解决了。如果有多个数据库中有同一个用户的数据表,只需要选择不同的数据库,执行update_one的那个就行了。
二、对象名‘xxxx’ 无效的问题
这里可能会有人遇到对象名‘xxxx’无效的问题。系统表却不会产生这个问题,而用户表还要加上用户名,然后是表明才能访问,比如select * from author,会说对象名author 无效,而用select * from test.author就可以访问,这个是用户首选身份的问题。 解决很简单,就是察看test登录用户是否具有dba的权限或者系统管理的权限,有的话去掉就行了。 因为如果用户有dba身份,那么它登陆后的默认表空间是dbo的系统表空间,所以去掉了之后,就会以正常的test表空间访问数据表了.
摘自:http://blog.sina.com.cn/s/blog_45343d050100eo0y.html
分享到:
相关推荐
操作》操作 选择 启动程序》程序或脚本 选择 迷你SQL2000目录下的sql2k.exe; 4、以上设置完成后,点击 确定 进行保存,然后就可以重启win7进行测试了。 分发时请不要包含本说明文件,增加您自定义的说明文本即可...
迷你SQL2000使用环境: Windows OS(Win10/Win8/vista/win7/win8/xp/2000/2003) 不支持Windows 9x 软件功能: 1、MSSQL2000数据库服务开启、关闭控制; 2、基本数据库操作(改密码、数据库新建、删除、分离、附加、...
+在查看我的表中增加导出表结构、索引、视图、存储过程、用户函数为SQL语句的功能。 1.2.8 ^允许修改密码处使用空密码,以方便一些要求空密码的软件连接; *修正win10下查询分析器缺少动态库和语法高亮未激活的...
(2)打开SQL Server 2000中的“企业管理器”,然后展开本地服务器,在“数据库”数据项上单击鼠标右键,在弹出的快捷菜单中选择“所有任务”/“附加数据库”菜单项。 (3)将弹出“附加数据库”对话框,在该对话框...
SQLServer+附加的定时备份功能让您的用户在不知不觉中备份了数据库,从而保证了数据的安全性。 SQLServer+使您基于SQLServer的软件安装不在是噩梦。QQ:120397560网站:http://sql8.zj.com电话:网站上有
(2)打开SQL Server 2000中的“企业管理器”,然后展开本地服务器,在“数据库”数据项上单击鼠标右键,在弹出的快捷菜单中选择“所有任务”/“附加数据库”菜单项。 (3)将弹出“附加数据库”对话框,在该对话框...
SQLServer错误5120:先用widows用户登录附加再分离重新用sa附加就行了 不行的话,绝招:你先用SQLServer创建一个新的数据库,然后用你要附加的文件去覆盖掉创建的文件!覆盖之前,记得计算机-管理-服务-把SQL服务...
本文为大家分享了SQL Server数据库附加失败的具体解决方法,供大家参考,具体内容如下 1、错误3415 问题:附加数据库的时候,发现总是附加失败,查看消息时发现问题如下: 查看消息后发现错误代码为3415 原因:...
支持 SQL数据库损坏 无法附加 各种报错问题修复。 支持 SQL数据库 823 824 825页损坏等各类错误修复。 支持 MDF NDF文件修复 支持备份文件修复完美支持各种字符集,支持从MDF文件反删除记录。 支持 SQL...
2005不论是性能还是安全性都是SQL SERVER2000有所增强,现有不少企业在使用2005,或是有的用户是2000与2005同时使用,那么这中间就涉及到双数据的转换问题: 今天我们就来看一下相关的实现方法: 本人的实现环境介绍...
《SQL Server 2008管理员必备指南》适合所有SQL Server用户参考,更是数据库管理员的必备指南。 编辑推荐 《SQL Server 2008管理员必备指南》教你全面掌握SQL Server 2008的必备指南!这本实用指南讲述了SQL Server ...
(2)打开SQL Server 2000中的“企业管理器”,然后展开本地服务器,在“数据库”数据项上单击鼠标右键,在弹出的快捷菜单中选择“所有任务”/“附加数据库”菜单项。 (3)将弹出“附加数据库”对话框,在该对话框...
第二篇讲解数据库管理的常用知识,包括数据库的管理、表的管理、确保数据的完整性及用户权限的设置等内容。第三篇主要讲解SQL的编程,包括T-SQL语言、存储过程及触发器。第四篇讲解与商业智能有关的内容,包括集成...
(4)单击“下一步”按钮,打开“创建到SQL Server 的新数据源”窗口,选定“使用用户输入登录ID和密 码的SQL Server验证”选项,在“登录ID”文本框中输入“sa”;“密码”文本框为空。 (5)单击“下一步”...
由于某种原因导致数据库质疑、数据文件损坏而无法正常附加到数据库引擎、数据文件能正常附加但查询某些表出现错误等引发的数据丢失,D-Recovery For MS QL Server可以直接分析和提取这些损坏的数据库文件的正常的...
对于 SQL Server 2000 中的 Microsoft 数据访问组件 (MDAC) 客户端,请使用 SQL Server 2000 客户端网络实用工具。对于 SQL 本机客户端,请使用“添加或删除程序”卸载 SQL 本机客户端。在群集中,请卸载所有节点中...
系统开发环境: Windows xp sp2 + MyEclipse5.5 + sqlserver2000 数据库文件:数据库目录下的Hotel_Data.MDF Sqlserver数据库数据源连接方式,数据源名称是: HotelDB 系统默认管理员登陆信息: 帐号admin 密码admin ...
本文件中附带每个系统所用的数据库的mdf文件和log文件,用户可以在SQLServer中进行附加数据库,便可成功,数据库的名字分别是项目申报系统I_d_system考试系统的名字是exam公司内部管理系统的名字是DSN。 4.数据源...
《SQL Server 2008管理员必备指南》适合所有SQL Server用户参考,更是数据库管理员的必备指南。 编辑推荐 《SQL Server 2008管理员必备指南》教你全面掌握SQL Server 2008的必备指南!这本实用指南讲述了SQL Server ...
附加数据时,提示无法打开物理文件,操作系统错误5。如下图: 问题原因:可能是文件访问权限方面的问题。 解决方案:找到数据库的mdf和ldf文件,赋予权限即可。如下图: 找到mdf和ldf文件,本演示以ldf为例。 1....