use Sfis
GO
--如果出现错误:未处理修复语句。数据库需处于单用户模式下。
--更改成单用户
USE master
GO
sp_dboption initSfis, single, true
alter database initSfis set single_user with rollback immediate
DBCC CHECKFILEGROUP(1) --{ 'filegroup' | filegroup_id } 适用于文件组,分区表机制的数据库
DBCC CHECKDB('initSfis') --加上WITH TABLOCK 参数很快,但会阻塞
DBCC CHECKDB('initSfis', REPAIR_FAST) --快速修复
DBCC CHECKDB('initSfis', REPAIR_REBUILD) --重建索引并修复
DBCC CHECKDB('initSfis', REPAIR_ALLOW_DATA_LOSS)--如果必要允许丢失数据修复
DBCC CHECKALLOC('initSfis') --检查指定数据库的磁盘空间分配结构的一致性
--还原数据库为多用户模式
alter database initSfis set multi_user with rollback immediate
dbcc checktable('dbo.t_productarrage')
dbcc checkdb('initSfis')
--检查表的特定索引
USE Sfis;
GO
DECLARE @indid int;
SET @indid = (SELECT index_id
FROM sys.indexes
WHERE object_id = OBJECT_ID('dbo.t_productarrage')
AND name = 'IX_gd');
DBCC CHECKTABLE ("dbo.t_productarrage", @indid);
DBCC SHOWCONTIG('dbo.t_productarrage', 'pk_t_productarrage') --索引情况
DBCC SHOW_STATISTICS ('dbo.t_productarrage', 'pk_t_productarrage'); --统计情况 WITH HISTOGRAM;
UPDATE STATISTICS dbo.t_productarrage --更新统计
DBCC DBREINDEX('dbo.t_productarrage','IX_gd',80) --重建索引,填充因子为%80
DBCC INDEXDEFRAG('initSfis', 'dbo.t_productarrage','IX_gd') --索引碎片整理
ALTER INDEX IX_gd ON dbo.t_productarrage REBUILD --重建索引
ALTER INDEX IX_gd ON dbo.t_productarrage REORGANIZE --重组索引
DBCC FREEPROCCACHE WITH NO_INFOMSGS --缓存中删除所有元素
DBCC PROCCACHE --以表格格式显示有关过程缓存的信息
DBCC UPDATEUSAGE('initSfis', 'dbo.t_productarrage') --报告目录视图中的页数和行数错误并进行更正
DBCC LOG('initSfis') --查看数据库的事务日志信息
dbcc traceon(3604)
SP_HELPDB Sfis
dbcc page(Sfis,1,100,1) --查看Sfis数据库第1个文件中的100页
--修改数据库名字
sp_renamedb 'old_name', 'new_name'
--修改 Tempdb 路径,修改完成后,重启 SQL Server生效
sp_helpdb Tempdb /* (查看路径) */
ALTER DATABASE TEMPDB MODIFY FILE
(NAME='TEMPDEV',FILENAME='NEWPATH\tempdb.mdf',SIZE=500MB)
ALTER DATABASE TEMPDB MODIFY FILE
(NAME='TEMPLOG',FILENAME='NEWPATH\templog.ldf',SIZE=500MB)
--数据库快照
Create Database Data_snapshot_Credit
ON
( NAME = 'Credit', --这里的名称必须为实际数据库名称,查出所对应的NAME名称(exec sp_helpdb 'Credit')
Filename = N'D:\Program Files\Microsoft SQL Server\MSSQL10_50.MSSQLSERVER\MSSQL\DATA\Credit_snapshot.snap'
)
AS Snapshot of Credit
GO
DROP DATABASE Data_snapshot_Credit --删除快照
GO
RESTORE DATABASE Credit FROM Database_snapshot = 'Data_snapshot_Credit' --利用快照恢复数据库
GO
/*
* 收缩数据库
*
*/
USE [Sfis_PrintBarcode]
GO
SELECT * FROM sys.database_files
GO
/*
USE [Sfis_PrintBarcode]
GO
DBCC SHRINKDATABASE(N'Sfis_PrintBarcode' )
GO
*/
USE [master]
GO
ALTER DATABASE [Sfis_PrintBarcode] SET RECOVERY SIMPLE WITH NO_WAIT
GO
USE [Sfis_PrintBarcode]
GO
DBCC SHRINKFILE (N'sfis' , 0, TRUNCATEONLY)
GO
USE [Sfis_PrintBarcode]
GO
DBCC SHRINKFILE (N'sfis_log' , 0, TRUNCATEONLY)
GO
/*
* 恢复模式为完整
USE [master]
GO
ALTER DATABASE [Sfis_PrintBarcode] SET RECOVERY FULL WITH NO_WAIT
GO
*/
USE [Sfis_PrintBarcode]
GO
SELECT * FROM sys.database_files
GO