SQL 2000还原数据库单用户问题解决方法
- 格式:doc
- 大小:20.00 KB
- 文档页数:1
USE MASTERGOSP_CONFIGURE 'ALLOW UPDATES',1 RECONFIGURE WITH OVERRIDEGOUPDATE SYSDATABASES SET STATUS =32768 WHERE NAME='置疑的数据库名'Gosp_dboption '置疑的数据库名', 'single user', 'true'GoDBCC CHECKDB('置疑的数据库名')Goupdate sysdatabases set status =28 where name='置疑的数据库名'Gosp_configure 'allow updates', 0 reconfigure with overrideGosp_dboption '置疑的数据库名', 'single user', 'false假设数据库为TEST:按以下步骤执行A.设置数据库允许直接操作系统表。
此操作可以在SQL Server Enterprise Manager 里面选择数据库服务器,按右键,选择“属性”,在“服务器设置”页面中将“允许对系统目录直接修改”一项选中。
也可以使用如下语句来实现。
use mastergosp_configure 'allow updates',1goreconfigure with overridegoB.设置test为紧急修复模式update sysdatabases set status=-32768 where dbid=DB_ID('test')此时可以在SQL Server Enterprise Manager里面看到该数据库处于“只读\置疑\脱机\紧急模式”可以看到数据库里面的表,但是仅仅有系统表C.下面执行真正的恢复操作,重建数据库日志文件dbcc rebuild_log('test','C:\Program Files\Microsoft SQL Server\MSSQL\Data\test_log.ldf')执行过程中,如果遇到下列提示信息:服务器: 消息5030,级别16,状态1,行 1未能排它地锁定数据库以执行该操作。
Sql2000r 提供了很多数据库修复的命令,当数据库质疑或是有的无法完成读取时可以尝试这些修复命令。
1. DBCC CHECKDB重启服务器后,在没有进行任何操作的情况下,在SQL查询分析器中执行以下SQL进行数据库的修复,修复数据库存在的一致性错误与分配错误。
use masterdeclare @databasename varchar(255)set @databasename='需要修复的数据库实体的名称'exec sp_dboption @databasename, N'single', N'true' --将目标数据库置为单用户状态dbcc checkdb(@databasename,REPAIR_ALLOW_DATA_LOSS)dbcc checkdb(@databasename,REPAIR_REBUILD)exec sp_dboption @databasename, N'single', N'false'--将目标数据库置为多用户状态然后执行DBCC CHECKDB('需要修复的数据库实体的名称') 检查数据库是否仍旧存在错误。
注意:修复后可能会造成部分数据的丢失。
2. DBCC CHECKTABLE如果DBCC CHECKDB 检查仍旧存在错误,可以使用DBCC CHECKTABLE来修复。
use 需要修复的数据库实体的名称declare @dbname varchar(255)set @dbname='需要修复的数据库实体的名称'exec sp_dboption @dbname,'single user','true'dbcc checktable('需要修复的数据表的名称',REPAIR_ALLOW_DATA_LOSS)dbcc checktable('需要修复的数据表的名称',REPAIR_REBUILD)------把’ 需要修复的数据表的名称’更改为执行DBCC CHECKDB时报错的数据表的名称exec sp_dboption @dbname,'single user','false'3. 其他的一些常用的修复命令DBCC DBREINDEX 重建指定数据库中表的一个或多个索引用法:DBCC DBREINDEX (表名,’’) 修复此表所有的索引。
SQL Server 2000 数据库还原实例操作教程SQL Server是一个关系数据库管理系统它最初是由Microsoft Sybase和Ashton- Tate三家公司共同开发的于1988年推出了第一个OS/2版本在Windows NT推出后Microsoft 与Sybase在SQL Server 的开发上就分道扬镳了Microsoft 将SQL Server 移植到Windows NT系统上专注于开发推广SQL Server的Windows NT版本Sybase则较专注于SQL Server在UNIX操作系统上的应用在本书中介绍的是Microsoft SQL Server 以后简称为SQL Server或MS SQL Server。
SQL Server 2000是Microsoft公司推出的SQL Server数据库管理系统的最新版本该版本继承了SQL Server 7.0版本的优点同时又比它增加了许多更先进的功能具有使用方便可伸缩性好与相关软件集成程度高等优点可跨越从运行Microsoft Windows 98的膝上型电脑到运行Microsoft Windows 2000的大型多处理器的服务器等多种平台使用。
SQL Server 2000共有4个版本,分别是个人版,标准版,企业版和开发版。
网页吧的一些网友询问怎么调试MSSQL数据库的程序,开始简单说了下,但怕大家不明白,还是做了个图片版的说明,希望大家能看懂。
第一步:安装SQL2000,并启动SQL2000。
到网上下载SQL2000,并安装完毕。
(我操作系统是XP,装的是SQL个人版,按照下面所示的图片打开SQL服务管理器方法:开始----- 程序 ---- M icrosoft SQL Server ----- 服务管理器机山.化即WMUfitr*丹AariLE■-■iaflUBH1n t*J fttt MH>J UII«|I«IEr a电&点开始/继续左边的小图标启动SQL,稍等五秒钟左右,刷新服务后就可以看到SQL启动了。
sql server 2000数据库备份还原图文教程详解
MSSQL是微软公司的一款数据库管理系统,本文将详细介绍了sql server 2000数据库备份还原功能,需要的朋友可以参考下。
MSSQL是微软公司的一款数据库管理系统,本文将详细介绍MSSQL2000中数据库的备份和还原功能。
1、首先请保证您的备份文件是bak文件,并且备份文件能够正常还原。
2、打开企业管理器”→数据库”,选择您要还原的数据库,右键所有任务”→还原数据库”。
如图:
MSSQL2000数据库备份还原的图文教程
3、如果需要还原以前备份过的文件,直接在还原”选择数据库
”,然后在下方选择要还原的备份即可,如果是从其他地方上传或者复制过来的,请选择从设备”还原。
点添加”,添加您需要还原的备份文件。
如图:。
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' 系统就会提示修复了一个孤立用户。
SQLserver2000数据库修复办法总结Praymid 戴华倪总结步骤如下:1、检测数据库,使用命令(Dbcc checkdb)拿到数据库后附加到本地SQLserver使其运行,打开企业管理器,查看它。
同时打开查询分析器,在里面输入Dbcc checkdb 检测数据库命令然后回车即可以看到数据库的分析资料看到问题,评注:拿到问题先不要盲目的卸载SQLServer,本次因为新手,上手后就把数据库卸载,这样就耗费了一天的时间,过没有任何作用,测试服务器的完整性可以拿一个好的数据库做对比,自己可以建一个“test”,如果测试数据库运行正常,则不需要对服务器做任何改动。
千万不要改动系统,麻烦会更大。
提示:错误会以红色显示。
2、简单修复:命令:dbcc checkdb输入以下两句尝试修复。
DBCC CHECKDB('AIS20110120172605',repair_allow_data_loss)DBCC CHECKDB('AIS20110120172605',repair_rebuild)不管他究竟哪里错了,先用这两句试试一般的索引系统文件丢失,SQLserver 都可以解决这个问题,基本就差不多了。
但是对于主键索引损坏,这个命令基本修不好,所以对一个满身是伤的数据库,他可以修复70%。
注:修复时系统提示必须要在单用户模式下才可以生效,用户可以去企业管理器,对要修理的数据库:右击属性—选项—限制访问—单用户。
也可以使用以下语句实现:ALTER DATABASE AIS20110420091143 SET single_USERGO 改为单用户ALTER DATABASE AIS20110420091143 SET MULTI_USERGO 改为多用户。
继续使用dbcc checkdb检测,如果继续报错。
再次运行:DBCC CHECKDB('DataBasename') with NO_INFOMSGS,PHYSICAL_ONLY然后再运行:DBCC CHECKDB(' DataBasename ',repair_allow_data_loss) WITH TABLOCK 再次运行:DBCC CHECKDB('DB name') 系统显示修复成功,说明本次问题主要由索引等数据库系统本身问题引起,这样的修复可能会导致数据丢失,但是绝对不会是大批丢失,基本没有影响。
sqlserver2000数据库备份还原的图⽂教程MSSQL是微软公司的⼀款数据库管理系统,本⽂将详细介绍MSSQL2000中数据库的备份和还原功能。
1、⾸先请保证您的备份⽂件是bak⽂件,并且备份⽂件能够正常还原。
2、打开“企业管理器”→“数据库”,选择您要还原的数据库,右键“所有任务”→“还原数据库”。
如图:MSSQL2000数据库备份还原的图⽂教程3、如果需要还原以前备份过的⽂件,直接在“还原”选择“数据库”,然后在下⽅选择要还原的备份即可,如果是从其他地⽅上传或者复制过来的,请选择“从设备”还原。
点“添加”,添加您需要还原的备份⽂件。
如图:MSSQL2000数据库备份还原的图⽂教程4、点击确定后,点还原数据库上的“选项”查看恢复后数据库的路径,有时可能会还原失败,可以勾选“在现有数据库上强制还原”,⾄此,数据库还原的过程就讲完了。
如图:MSSQL2000数据库备份还原的图⽂教程5、如果您已经有MDF和LDF⽂件,可以⽤数据库的附加功能进⾏附加。
⾸先将您的数据库mdf和ldf⽂件上传到服务器的某个⽬录(⼀般不要放在系统盘,以免系统损坏造成数据丢失),⽐如d:\mssql⽬录,并给该⽬录mssqluser的完全控制权限。
然后打开企业管理器,右键点击“数据库” ——“所有任务”——“附加数据库”,如图:MSSQL2000数据库备份还原的图⽂教程点击“…”添加需要附加的mdf⽂件,并指定要附加的数据库名和数据库所有者如图:MSSQL2000数据库备份还原的图⽂教程点击确定附加数据库成功,如图:MSSQL2000数据库备份还原的图⽂教程注意,如果放在其他⽬录,务必保证该⽬录先加上mssqluser的完全控制权限,否则还原或备份会失败。
保存备份的⽬录也必须有这个权限!!。