程序師世界是廣大編程愛好者互助、分享、學習的平台,程序師世界有你更精彩!
首頁
編程語言
C語言|JAVA編程
Python編程
網頁編程
ASP編程|PHP編程
JSP編程
數據庫知識
MYSQL數據庫|SqlServer數據庫
Oracle數據庫|DB2數據庫
 程式師世界 >> 數據庫知識 >> SqlServer數據庫 >> 關於SqlServer >> SQL Server DBA維護常用語句

SQL Server DBA維護常用語句

編輯:關於SqlServer

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 )

  1. 上一頁:
  2. 下一頁:
Copyright © 程式師世界 All Rights Reserved