/*-----------------------------*/ -- lyfzdb Ϊ���ݿ��� -- ����Ϊlyfzdb�����ݱ�; /*-----------------------------*/ /* MS Sql Server �ṩ�˺ܶ����ݿ�������������ݿ����ɻ����е�����ɶ�ȡʱ���Գ�����Щ����� 1. DBCC CHECKDB ��������������û�н����κβ���������£���SQL��ѯ��������ִ������SQL�������ݿ�����������ݿ���ڵ�һ���Դ����������� */ /* ģ��: use master declare @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'--��Ŀ�����ݿ���Ϊ���û�״̬ */ �÷�ʾ��: use master declare @databasename varchar(255) set @databasename='lyfzdb' 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' */ �÷�ʾ��: use master declare @dbname varchar(255) set @dbname='lyfzdb' exec sp_dboption @dbname,'single user','true' dbcc checktable('dindan',REPAIR_ALLOW_DATA_LOSS) dbcc checktable('dindan',REPAIR_REBUILD) ------�ѡ� ��Ҫ�������ݱ������ơ�����Ϊִ��DBCC CHECKDBʱ���������ݱ������� exec sp_dboption @dbname,'single user','false' 3. ������һЩ���õ������� DBCC DBREINDEX �ؽ�ָ�����ݿ��б���һ���������� �÷���DBCC DBREINDEX(����,����) ���˱����е������� �÷�ʾ��: DBCC DBREINDEX('dindansp',' ') --���˱����е����� ���������������������������������������������������������������������� /* SQL SERVER���ݿ�ļ�⼰������ ����K/3��Ʒ���ƹ㣬Ҫ��ͻ�������Ա��SQL SERVER���ݿ���˽�Ҳ��һ����ߡ���K/3��ʹ�ù����У����ݿ��ļ���Ƶ����ʹ�ã� ����ijЩԭ�����ݿ��п��ܱ������Ľ����������������ݿ��⼰��������һ���⡣ ϣ����λ��ʵ�ʹ������������µķ���ʱ����ʱ�������ṩ��Ϣ���Ա�����һ���ĸ��¡� */ 1.1 SQL SERVER���ݿ�ļ�� SQL SERVER�ṩ�����ݿ�����������DBCC CHECKDB�����ݿ��и�������ķ��估�ṹ����ȷ�Խ��м�⣬ ����ͨ��һ�������ƣ������еĴ�����Ϣ��ʾ������������£� DBCC CHECKDB ('database_name' [,NOINDEX | { REPAIR_ALLOW_DATA_LOSS | REPAIR_FAST | REPAIR_REBUILD }] ) [WITH {ALL_ERRORMSGS | NO_INFOMSGS}] ����˵���� 'database_name'�������������ݿ�ʵ������ NOINDEXָ��ϵͳ���ķǾ�����������⣻ REPAIR_ALLOW_DATA_LOSS | REPAIR_FAST| REPAIR_REBUILD ֱָ�������ֵĴ�������REPAIR_ALLOW_DATA_LOSS���������˴�������ʱ��ϵͳ��ֱ��ɾ��������ݡ�����������������һ��ʱ�����ݿ���봦�ڵ��û�ģʽ������Enterprise Manager�е����ݿ����������ã� ALL_ERRORMSGS���������Ĵ�����Ϣȫ����ʾ������������ÿ�ű����ֻ��ʾ200��������Ϣ�� NO_INFOMSGS�����������е���Ϣ��ռ�ÿռ�ı��档 ������⣬���ڴ���Ķ�����OBJECT ID����ʽ��������������Ϣ���ɸ���OBJECT ID��ϵͳ��sysobjects�в��ҵ���صı�����NAME�� 1.2 SQL SERVER�������ݿ���� --�������ݿ������Գ��ֵ������ȡ��Ӧ�Ĵ�ʩ���д�������ͨ�������ֶ����������Ŵ������⣬����DBCC CHECKALLOC���������� DBCC CHECKALLOC ('database_name' | REPAIR_REBUILD }] ) [WITH {ALL_ERRORMSGS | NO_INFOMSGS}] --���Ƿ�ϵͳ��������������������DBCC DBREINDEX�������� DBCC DBREINDEX ( [ 'database.owner.table_name' [, index_name [, fillfactor ] ] ] ) [WITH NO_INFOMSGS] �������������Ҳ��ֱ��ʹ��DBCC CHECKDB(��db_name��,repair_rebuild)������ ����һ��������ڽ��м��ʱ����ʾ�������������ӣ���ʱ���������ݿ���������������������ǿɲ�ȡ���´�ʩ���������� ���ȣ���SQL Enterprise���½�һ���ݿ⣨�����ݿ���Ϊtest��,�������ݿ��ֹͣSQL Server Service Manager�� �����ͻ����ݿ��MDF�ļ�����Ϊtest _data.mdf(���½����ݿ�����ļ���)��Ȼ���ø�������ļ������½����ݿ�ͬ���ļ��� ���ţ�����SQL Server Service Manager����Master���ݿ⽫ϵͳ������Ϊ�ɸ���״̬ Use Master Go sp_configure 'allow updates', 1 reconfigure with override Go --�����ݿ���Ϊ����״̬�� --update sysdatabases set status = -32768 where database ' update sysdatabases set status = -32768 where dbid=DB_ID('lyfzdb') ֹͣ����������SQL Server Service Manager�����ؽ�Log�ļ��� DBCC TRACEON (3604) DBCC REBUILD_LOG('lyfz','lyfz _log_ldf') --�����ݿ�����Ϊ���û�ģʽ��Ȼ����м�⣺ sp_dboption 'lyfz', 'single user', 'true' DBCC CHECKDB('lyfz') Go �����ݿ�ִ��CHECKDB�Ĺ����з���һЩ�����������ƻ���������Ծ���ı������ؽ������IJ����� DBCC DBREINDEX�������� ��ִ�����ϲ�����Ȼ���ܽ�����������ƻ��ı�����ʱ�����ǹؼ�������ɴ��½����������룬 ���������������ͨ�����ڵı����������ݣ��ָ�����û��һ�����ݣ��������� 1.3 SQL Server���ݿ�Ϊʲô�����أ� ���������ṩ��һЩ�����������ݿ���ԭ��һЩԤ����ʩ�� �������⣬�������������Ȱ�Ӳ�̡�ɾ��һЩ���ݿ��ļ��� Ӳ�����⣬�������̿����������⣻ ����ϵͳ���⣬������ϵͳ��ص�һЩ�������� 1.4 Ԥ����ʩ�� 1������/������ִ��CHKDSK(��������)���Լ��Ӳ�������ṹ����һЩCHKDSK��������⣻ 2�����������ݡ� 1.5 Ӧ�����ݿ������� declare @databasename varchar(255) set @databasename='lyfzdb'------һ��Ҫ�ֹ����� ---------ִ��һ����������������ʱ,�����������ݶ�ʧ���� ---------�����ݶ�ʧ����Ҫ���ڵ��û��½���,��ʱ���˳��м��,�ͻ���,sql������ģ�� ---���й����˳�,�ڲ�ѯ������master���������ݿ�Ϊ���û� exec sp_dboption @databasename, N'single', N'true' -----�ڲ�ѯ������master��,���������ݿ� dbcc checkdb(@databasename,REPAIR_ALLOW_DATA_LOSS) dbcc checkdb(@databasename,REPAIR_REBUILD) ------��ԭ���ݿ�״̬ exec sp_dboption @databasename, N'single', N'false' ��2�����ݿ���־���� ���������²�������ͼ�ؽ����ݿ�������־. ע��: ����������־��ʧ, ���ݿ������û���ύ������. ע:��Ҫ�滻����ʵ�����ݿ����� 2.1 ����1: ����һ���µ����ݿ�,����Ϊԭ�����ݿ������. 2.2����2: ֹͣSQL Server 2.3����3: �������ݿ��MDF�ļ��滻�����ݿ����Ӧ��MDF�ļ�, ����LDF�ļ�ɾ�� 2.4����4: ��������SQL Server ����,Ȼ��������������: Use Master Go sp_configure 'allow updates', 1 reconfigure with override Go begin tran update sysdatabases set status = 32768 where db_name -- Verify one row is updated before committing commit tran 2.5����5: ֹͣSQLȻ����������SQL Server ����,Ȼ��������������: DBCC TRACEON (3604) DBCC REBUILD_LOG('db_name','c:\mssql7\data\dbxxx_3.LDF') Go 2.6����6: ֹͣSQLȻ����������SQL Server ����,Ȼ������: use master update sysdatabases set status = 8 where Go sp_configure 'allow updates', 0 reconfigure with override Go 2.7����7: ����dbcc checkdb(db_name)������ݿ��������. ��3�� ���ݿ����ɵ�һ�㴦�� 1��ִ������SQL������ϵͳ���Ŀ��أ��� EXEC sp_configure 'allow updates', 1 RECONFIGURE WITH OVERRIDE 2�������ݿ�Master�еı���sysdatabases �� status�ֶ���ֵ����Ϊ4 3����ִ������SQL�� EXEC sp_configure 'allow updates', 0 RECONFIGURE WITH OVERRIDE�� ----------------------------------------- --1����SQL��ѯ��������ִ��������䣺��ע�������õ�POSΪ���ݿ����ƣ����û��ֹ���Ϊ�Լ������ݿ����� use pos dbcc checkdb --2���鿴��ѯ������кܶ��ɫ������ʾ�����������������ʾ�� --CHECKDB --������x���������� x ��һ���Դ��������ݿ� 'pos' �У��� --һ������£������������ԭ���Ǵ�����ͻȻͣ�磻һ���Դ�����������ݿ��еı�����������һ�㶼������ --3���鿴��ɫ���壬�����д�������ݿ������¼��������������ı�����¼������ --4�������ݿ�����Ϊ���û�ģʽ��ֱ���ڲ�ѯ��������ִ��������伴�ɣ�(�緢��������в��ɹ�������û��ĵ���ע��һ�£�������������һ�¡�) EXEC sp_dboption 'pos', 'single user', 'TRUE' --5�������ѯ������ִ��������䣺 use pos dbcc checkdb��'pos',repair_allow_data_loss�� -------�����ݿ� dbcc checkdb ('pos',REPAIR_REBUILD) -------�����ݿ����� --6����ִ�У�dbcc checkdb��������ݿ⣬���ֽ��Ϊ�� --CHECKDB ������0���������� 0��һ���Դ��������ݿ� 'pos' �У��� --���ݿ��Ѿ�����ϡ� --7��ȡ�����û�ģʽ����ֱ���ڲ�ѯ��������ִ��������伴�ɣ� EXEC sp_dboption 'pos', 'single user','FALSE'