数据库维护常见问题解决方法
- 1、下载文档前请自行甄别文档内容的完整性,平台不提供额外的编辑、内容补充、找答案等附加服务。
- 2、"仅部分预览"的文档,不可在线预览部分如存在完整性等问题,可反馈申请退款(可完整预览的文档不适用该条件!)。
- 3、如文档侵犯您的权益,请联系客服反馈,我们会尽快为您处理(人工客服工作时间:9:00-18:30)。
数据库维护常见问题解决方法
(1)SQL SERVER日志损坏后,不能用sp_atttach_single_file_db 恢复,用如下步骤:
方法一
1、建一个同名的数据库
2、修改服务器设置:允许对系统目录进行直接修改(sp_configure 'allow updates',1)
3、停止SQL Server
4、用原mdf文件覆盖新建库的数据库文件
5、重启SQL Server(这时数据库应该是置疑)
6、将数据库置为紧急状态:update master.dbo.sysdatabases set status = 32768 where name=dbname
7、重建日志:dbcc rebulid_log('dbname', 'logfile')
8、update master.dbo.sysdatabases set status=16 where name = dbname
9. 修改服务器设置:取消允许对系统目录进行直接修改(sp_configure 'allow updates',0)
方法二
1.新建一个同名的数据库
2.再停掉sql server(注意不要分离数据库)
3.用原数据库的数据文件覆盖掉这个新建的数据库
4.再重启sql server
5.此时打开企业管理器时会出现置疑,先不管,执行下面的语句(注意修改其中的数据库名)
6.完成后一般就可以访问数据库中的数据了,这时,数据库本身一般还要问题,解决办法是,利用
数据库的脚本创建一个新的数据库,并将数据导进去就行了.
USE MASTER
GO
SP_CONFIGURE 'ALLOW UPDATES',1 RECONFIGURE WITH OVERRIDE
GO
UPDATE SYSDA TABASES SET STATUS =32768 WHERE NAME='置疑的数据库名' Go
--重起SQL SERVER
sp_dboption '置疑的数据库名', 'single user', 'true'
Go
DBCC CHECKDB('置疑的数据库名')
Go
update sysdatabases set status=16 where name='置疑的数据库名'
Go
sp_configure 'allow updates', 0 reconfigure with override
Go
sp_dboption '置疑的数据库名', 'single user', 'false'
Go
(2).从旧数据库导入新数据库后,新库会有很多冗余空间,所以请执行下面的瘦身计划:
DBCC SHRINKDATABASE (pacs,NOTRUNCATE)
go
DBCC SHRINKDATABASE (pacs,TRUNCA TEONL Y)
go
--下例将pacs 数据库中的文件减小,以使pacs 中的文件有10% 的可用空间
DBCC SHRINKDATABASE (pacs, 10)
GO
(3)以下是清空pacs库表的一些语句(导数据之前用):
use pacs
go
delete from examrecord
go
delete from image
go
delete from imageback
go
delete from kbase
go
delete from template1
go
delete from template2
go
delete from template3
go
delete from pdfreport
go