1、檢查數據庫完整性
復制代碼 代碼如下:dbcc checkdb(test)
--通過加tablock提高速度
dbcc checkdb(test) with tablock
2、數據庫重命名、修改恢復模式、修改用戶模式
復制代碼 代碼如下:
--數據庫重命名
ALTER DATABASE WC
MODIFY NAME = test
--設置數據庫為完整恢復模式
alter database test
set recovery full
--只允許一個用戶訪問數據庫
alter database test
set single_user
with rollback after 10 seconds --指定多少秒後回滾事務
--只有sysadmin,dbcreator,db_owner角色的成員可以訪問數據庫
alter database wc
set restricted_user
with rollback immediate --立即回滾事務
--多用戶模式
alter database wc
set multi_user
with no_wait --不等待立即改變,如不能立即完成,那麼會導致執行錯誤
2、擴展數據庫:增加文件組、增加文件、修改文件大小、修改文件的邏輯名稱
復制代碼 代碼如下:
--添加文件組
ALTER DATABASE test
ADD FILEGROUP WC_FG8
--添加數據文件
ALTER DATABASE test
ADD FILE
(
NAME = WC_FG8,
FILENAME = 'D:\WC_FG8.ndf',
SIZE = 1mb,
MAXSIZE = 10mb,
FILEGROWTH = 1mb
)
TO FILEGROUP WC_FG8
--添加日志文件
ALTER DATABASE test
ADD LOG FILE
(
NAME = WC_LOG3,
FILENAME = 'D:\WC_FG3.LDF',
SIZE = 1MB,
MAXSIZE = 10MB,
FILEGROWTH = 100KB
)
--修改數據文件的大小,增長大小,最大大小
ALTER DATABASE test
MODIFY FILE
(
NAME = 'WC_FG8',
SIZE = 2MB, --必須大於之前的大小,否則報錯
MAXSIZE= 8MB,
FILEGROWTH = 10%
)
--修改數據文件或日志文件的邏輯名稱
ALTER DATABASE test
MODIFY FILE
(
NAME = WC_LOG3,
NEWNAME = WC_FG33
)
3、移動文件
復制代碼 代碼如下:--由於在SQL Server中文件組、文件不能離線
--所以必須把整個數據庫設置為離線
checkpoint
go
ALTER DATABASE WC
SET OFFLINE
go
--修改文件名稱
ALTER DATABASE WC
MODIFY FILE
(
NAME = WC_fg8,
FILENAME = 'D:\WC\WC_FG8.NDF'
)
go
--把原來的文件復制到新的位置:'D:\WC\WC_FG8.NDF'
--設置數據庫在線
ALTER DATABASE WC
SET ONLINE
4、設置默認文件組、只讀文件組
復制代碼 代碼如下:
--設置默認文件組
ALTER DATABASE WC
MODIFY FILEGROUP WC_FG8 DEFAULT
--設為只讀文件組
--如果文件已經是某個屬性,不能再次設置相同屬性
ALTER DATABASE WC
MODIFY FILEGROUP WC_FG8 READ_WRITE
5、收縮數據庫、 收縮文件
--收縮數據庫
DBCC SHRINKDATABASE('test', --要收縮的數據庫名稱或數據庫ID
10 --收縮後,數據庫文件中空間空間占用的百分比
)
DBCC SHRINKDATABASE('test', --要收縮的數據庫名稱或數據庫ID
10, --收縮後,數據庫文件中空閒空間占用的百分比
NOTRUNCATE --在收縮時,通過數據移動來騰出自由空間
)
DBCC SHRINKDATABASE('test', --要收縮的數據庫名稱或數據庫ID
10, --收縮後,數據庫文件中空間空間占用的百分比
TRUNCATEONLY --在收縮時,只是把文件尾部的空閒空間釋放
)
--收縮文件
DBCC SHRINKFILE(wc_fg8, --要收縮的數據文件邏輯名稱
7 --要收縮的目標大小,以MB為單位
)
DBCC SHRINKFILE(wc_fg8, --要收縮的數據文件邏輯名稱
EMPTYFILE --清空文件,清空文件後,才可以刪除文件
)
6、刪除文件、 刪除文件組
復制代碼 代碼如下:
--要刪除文件,必須要先把文件上的數據刪除,或者移動到其他文件或文件組上
--刪除數據後,必須要清空文件的內容
DBCC SHRINKFILE(WC_FG8,EMPTYFILE)
--刪除文件,同時也在文件系統底層刪除了文件
ALTER DATABASE test
REMOVE FILE WC_FG8
--要刪除文件組,必須先刪除所有文件
--最後刪除文件組
ALTER DATABASE test
REMOVE FILEGROUP WC_FG8
7、重新組織索引
ALTER INDEX [idx_temp_lock_id] ON [dbo].[temp_lock]
REORGANIZE
WITH ( LOB_COMPACTION = ON )
8、重新生成索引
復制代碼 代碼如下:
ALTER INDEX [idx_temp_lock_id] ON [dbo].[temp_lock]
REBUILD PARTITION = ALL
WITH ( PAD_INDEX = OFF,
STATISTICS_NORECOMPUTE = OFF,
ALLOW_ROW_LOCKS = ON,
ALLOW_PAGE_LOCKS = ON,
ONLINE = OFF,
SORT_IN_TEMPDB = OFF )
9、更新統計信息
復制代碼 代碼如下:
--更新表中某個的統計信息
update statistics temp_lock(_WA_Sys_00000001_07020F21)
update statistics temp_lock(_WA_Sys_00000001_07020F21)
with sample 50 percent
update statistics temp_lock(_WA_Sys_00000001_07020F21)
with resample, --使用最近的采樣速率更新每個統計信息
norecompute --查詢優化器將完成此統計信息更新並禁用將來的更新
--更新索引的統計信息
update statistics temp_lock(idx_temp_lock_id)
with fullscan
--更新表的所有統計信息
update statistics txt
with all
10、執行SQL Server代理作業
11、備份數據庫(完整、差異、日志備份),這個在其他文章中已有詳細描述,這裡不再贅述。
復制代碼 代碼如下:
ALTER INDEX [idx_temp_lock_id] ON [dbo].[temp_lock]
REBUILD PARTITION = ALL
WITH ( PAD_INDEX = OFF,
STATISTICS_NORECOMPUTE = OFF,
ALLOW_ROW_LOCKS = ON,
ALLOW_PAGE_LOCKS = ON,
ONLINE = OFF,
SORT_IN_TEMPDB = OFF )