Sql2008 创建索引与索引重建及删除索引,查询索引碎片信息

浏览 : 8360 次 Sun, 28 Sep 2014 08:42:14 GMT
DROP INDEX ShareALLParentID ON ShareALL
 
CREATE NONCLUSTERED INDEX ShareALLParentID ON ShareALL(ParentID) 
 
-- 查看某個表的索引
SELECT * FROM sys.sysindexes
 
WHERE id=object_id('Dev_ShareALL')
 
-- 查看整個庫的索引
SELECT * FROM sys.sysindexes
 
-- 查看所有庫的索引
IF object_id('tempdb..#')IS NOT NULL
    DROP TABLE #
SELECT * INTO # FROM sys.sysindexes WHERE 1=2
 
INSERT INTO #
    EXEC sys.sp_MSforeachdb @command1='Select * from ?.sys.sysindexes'
     
SELECT * FROM #
 
DROP INDEX index_name ON talbe_name
 
DBCC SHOWCONTIG
 
显示数据库里所有索引的碎片信息
SET NOCOUNT ON
USE pubs
DBCC SHOWCONTIG WITH ALL_INDEXES 
 
显示指定表的所有索引的碎片信息
SET NOCOUNT ONUSE pubs
DBCC SHOWCONTIG (authors) WITH ALL_INDEXES
 
显示指定索引的碎片信息
SET NOCOUNT ON USE pubs
DBCC SHOWCONTIG (authors,aunmind)
 
显示指定索引的碎片信息
SET NOCOUNT ON USE pubs
DBCC SHOWCONTIG (authors,aunmind)
 
索引重建
DBCC DBREINDEX('ShareALL','',70)
 
查询索引
DBCC SHOWCONTIG(ShareALL)
--备份数据库
BACKUP DATABASE www.yakop.com TO DISK='d:\yakop20140906.bak'
--清空日志
DUMP TRANSACTION www.yakop.com WITH NO_LOG        
--截断事务日志   
BACKUP LOG www.yakop.com WITH NO_LOG      
--收缩数据库   
DBCC SHRINKDATABASE(www.yakop.com)   
--设置自动收缩
EXEC SP_DBOPTION www.yakop.com,AUTOSHRINK,TRUE