如何修复数据库,如何修复数据库表
内容导航:
一、怎样修复已经损坏的SQL数据库
1.停止SQL Server的服务,备份SQL
Server安装目录下的\data子目录下故障数据库的两个文件,一个数据文件hbposv6_branch_,一个hbposv6_branch_(也有可能非此命名),同时查看磁盘空间是否有足够的空间;
2.启动SQL Server服务(如已停止),创建一个新的数据库,命名为原来数据库的名字。3.停止SQL
Server4.把老数据库的MDF文件(hbposv6_branch_)替换新数据库的相应的MDF文件,并把LDF文件(hbposv6_branch_)删除。5.重新启动SQL
Server服务,然后运行如下命令:Use Mastergosp_configure ‘allow updates’, 1reconfigure with
overridegobegin tranupdate sysdatabases set status = where name =
‘hbposv6_branch’–Verify one row is updated before committingcommit
trango6.停止SQL然后重新启动SQL Server服务,然后运行如下命令(更换日志文件路径地址):use mastergoDBCC
TRACEON(3604)DBCC REBUILD_LOG(‘hbposv6_branch’,’c:\Program Files\Microsoft SQL
Server\MSSQL\Data\hbposv6_branch_’)–在这里,请输入你的数据库的路径go7.停止SQL然后重新启动SQL
Server服务,然后运行:use mastergoupdate sysdatabases set status = 8 where name =
‘hbposv6_branch’gosp_configure ‘allow updates’, 0reconfigure with
overridego8.运行dbcc checkdb(db_name) 检查数据库的完整性9.修复数库–
请在查询分析器中执行下列语句.执行前断开其它所有数据库连接,最好是断开网线–如果不是该数据库名,请将数据库–hbposv6_branch–
改为要修复的数据库USE masterGo–单用户模式EXEC sp_dboption ‘hbposv6_branch’, ‘single user’,
‘TRUE’go–数据库检查DBCC CHECKDB (‘hbposv6_branch’)Go–
如果返回结果出现了红色的提示文字,说明数据库中存在错误,需要修复–数据库修复DBCC CHECKDB
(‘hbposv6_branch’,’repair_rebuild’)Go–再次数据库检查,如果返回结果中没有了红色的提示文字,说明修复成功;DBCC
CHECKDB (‘hbposv6_branch’)Go–
否则意味着还需要更高级别的修复;尝试将上面修复语句的’repair_rebuild’换为’repair_allow_data_loss’再试,之后再次检查数据库。–如果还有错误未修复,请把这些信息以文字的方式发给我们
–退出前请一定要执行以下语句返回到多用户模式EXEC sp_dboption ‘hbposv6_branch’, ‘single
user’,’FALSE’go注:都要把 dbname 替换成真实的数据库名字。
二、数据库如何修复
sql server management 查看数据库中有的表的内容全部消失了,看是数据库的大小还没有变化,谁会修复呀可能有文件缺失或损坏,可以停掉SQL
Server服务,先将数据库文件夹复制一份并安全存储,对数据库所在磁盘执行CHKDSK,排除磁盘错误,然后启动SQL
Server服务,尝试修复数据库:1.在SQL Server Management Studio中随便创建一个数据库,例如:PVLink。
2.停止SQL Server服务。
如果不停止此服务,刚才创建的PVLink数据库将即不能被拷贝,也不能被覆盖。
3.把已经损坏的数据库的mdf文件拷贝并覆盖刚才新建的数据库产生的mdf文件。
4.启动SQL Server服务。
此时可以看见刚才创建的PVLink数据库名字后面没有加号,无法察看其任何信息,其实目前它已经处于无法使用的状态。
5.把数据库设置为紧急状态。
通过在“查询分析器”中执行:alter database PVLink set EMERGENCY
可以将数据库设置为紧急状态,此时数据库PVLink的图标改变成粉红色并出现“紧急”字样。
6.将数据库设置为单用户模式。
如果不设置为单用户模式,我们将无法使用带有效repair选项的DBCC CHECKDB来检查/修复数据库,SQL Server
2005设置单用户模式比SQL Server 2000容易,只要在“查询分析器”中执行:use mastergo sp_dboption
‘PVLink’,single,true7.修复数据库修复数据库主要使用DBCC来操作,一般来讲,我们可以使用以下三个选项来修复:●REPAIR_ALLOW_
DATA_LOSS 尝试修复报告的所有错误。
这些修复可能会导致一些数据丢失。
●REPAIR_FAST 仅为保持向后兼容性而保留。
●REPAIR_REBUILD 执行由 REPAIR_FAST 执行的所有修复,包括需要较长时间的修复(如重建索引)。
执行这些修复时不会有丢失数据的危险。
一般我们通过执行:DBCC CHECKDB(‘PVLink’,REPAIR_REBUILD) 即可完成修复工作,此时 SQL Server
2005会给出很多提示,因为这个过程可能会导致一些数据库设计或者数据的丢失,并且在这个过程中,会产生新的以ldf为扩展名的数据库日志文件。
8.完成以上的步骤后,一般情况下数据库应该可用了,如果数据库此时仍然是紧急状态,可以通过:alter database PVLink set ONLINE
,把数据库变成在线状态。
检查PVLink数据库内数据是否正常,是的话换回原数据库即可。
一,如果你的迅闪的核心服务,传输服务无法启动了,那是你的数据库坏了,必须修复,用下面的方法: 1,停止讯闪所有服务和程序,打开 方法:开始-
运行-,选择系统dsn.点添加选择第二项.点完成.点修复.然后选中你的数据库路径(data目录下的)选中文件点击完成。
2,如果第一步不能解决你的问题,提示无法识别的数据库格式,那你用access来修复试试。
安装微软access数据库软件,停止迅闪所有服务,拷贝出数据库文件(迅闪服务端目录\data\),启动access,打开数据库文件,点击“office按钮”选择菜单中“管理\压缩和修复数据库”功能修复数据库。
修复结束后将文件替换回迅闪服务端。
3,如果以上两部还是不能修复,那只能替换空数据库,附件下载,替换,然后重新添加游戏。
4,如果你修复这个文件成功了,但是服务还是无法启动,你可以试试这个方法,十分关键的一步,把你修复好的复制一份,改名为,直接替换data目录下同名文件,我试过的,都成功了。
二,如果你的服务管理里少了服务,或者一个服务也没了,你可以去相应的版本里的data目录下拷贝文件覆盖到自己版本的data目录下,就可以解决了!附件上传两个文件,一个是带win2虚拟盘的,一个是带win3虚拟盘的。
三、怎样用Oracle8i修复数据库坏块
答:在进行SUNCLUSTER双机切换、意外断电或其它情况下,有时会发生共享盘MOUNT不上的情况,需要使用FSCK对共享盘进行修复。修复完成后,在数据库启动过程中,却又出现“数据块损坏,无法启动数据库“的现象,此时,可以根据不同的数据块损坏类型,检测并修复错误。在此介绍三种使用Oracle8i修复损坏数据块的方法。一、数据块损坏,错误代码为:ORA-
ORA-1115I/OERRORREADINGBLOCK通常后跟ORA-737X错误与操作系统错误(如UNIX中的错误号5)。产生原因:1.硬件问题(磁盘控制器问题或磁盘问题);2.物理级的数据块损坏(通常由前一原因造成);3.处理巨型文件时,后跟错误代码ORA-7371。确定故障原因与恢复的方法:1.查看文件中其它ORA-1115错误的发生情况:1)如果指向不同磁盘的文件,则是磁盘控制器的问题,查看V$DATAFILE,有哪些文件位于该控制器下,转到第二步;2)如果指向相同磁盘的不同文件,则是磁盘的问题,转到第二步;3)如果指向同一个文件,执行以下语句查找文件名:SELECTSEGMENT_NAME,SEGMENT_TYPEFROMDBA_EXTENTSWHEREFILE_ID=ANDBETWEENBLOCK_IDANDBLOCK_ID+BLOCKS-1;其中,文件号与块号是ORA-1115中指出的,如果该查询持续指向某表或索引,则重建它们即可。
四、如何修复Oracle数据库参数文件
答:10.2.0windows版本oracle的spfile和pfile默认在E:\oracle\product\10.2.0\db_1\database目录下,和,oracle默认用spfile,若spfile损坏,则自动用pfile,如果两个都坏了,则提示错误。如果没有备份,那怎么办呢?当然,你可以找到oracle自带的init模板,一个个参数地设置自己系统的参数文件。那这将是一件很糟的事情,它会浪费你宝贵的时间。解决方法:从alert_警告日志里着手,因为它记录着一直以来数据库运行的情况,当然也包括每次启动的参数信息啦,我们要的就是:processes=150__shared_pool_size=__large_pool_size=__java_pool_size=__streams_pool_size=0nls_language=AMERICANnls_territory=AMERICAsga_target=control_files=E:\ORACLE\PRODUCT\10.2.0\ORADATA\ALASKA\,E:\ORACLE\PRODUCT\10.2.0\ORADATA\ALASKA\,E:\ORACLE\PRODUCT\10.2.0\ORADATA\ALASKA\_block_size=8192__db_cache_size=compatible=10.2.0.1.0db_file_multiblock_read_count=16db_recovery_file_dest=e:\oracle\product\10.2.0/alash_recovery_areadb_recovery_file_dest_size=log_checkpoints_to_alert=TRUEundo_management=AUTOundo_tablespace=UNDOTBS1undo_retention=900remote_login_passwordfile=EXCLUSIVEdb_domain=hers=‘(PROTOCOL=TCP)(SERVICE=alaskaXDB)‘#用‘‘引起它们job_queue_processes=10audit_file_dest=E:\ORACLE\PRODUCT\10.2.0\ADMIN\ALASKA\ADUMPbackground_dump_dest=E:\ORACLE\PRODUCT\10.2.0\ADMIN\ALASKA\BDUMPuser_dump_dest=E:\ORACLEPRODUCT\10.2.0ADMIN\ALASKA\UDUMPcore_dump_dest=E:\ORACLE\PRODUCT\10.2.0\ADMIN\ALASKA\CDUMPdb_name=alaskaopen_cursors=300pga_aggregate_target=
版权声明:本文内容由互联网用户自发贡献,该文观点仅代表作者本人。本站仅提供信息存储空间服务,不拥有所有权,不承担相关法律责任。如发现本站有涉嫌抄袭侵权/违法违规的内容,请发送邮件至 55@qq.com 举报,一经查实,本站将立刻删除。转转请注明出处:https://www.szhjjp.com/n/116643.html