SQL Server DBA維護(hù)常用語(yǔ)句
1、檢查數(shù)據(jù)庫(kù)完整性
--通過(guò)加tablock提高速度
dbcc checkdb(test) with tablock
2、數(shù)據(jù)庫(kù)重命名、修改恢復(fù)模式、修改用戶模式
--數(shù)據(jù)庫(kù)重命名
ALTER DATABASE WC
MODIFY NAME = test
--設(shè)置數(shù)據(jù)庫(kù)為完整恢復(fù)模式
alter database test
set recovery full
--只允許一個(gè)用戶訪問(wèn)數(shù)據(jù)庫(kù)
alter database test
set single_user
with rollback after 10 seconds --指定多少秒后回滾事務(wù)
--只有sysadmin,dbcreator,db_owner角色的成員可以訪問(wèn)數(shù)據(jù)庫(kù)
alter database wc
set restricted_user
with rollback immediate --立即回滾事務(wù)
--多用戶模式
alter database wc
set multi_user
with no_wait --不等待立即改變,如不能立即完成,那么會(huì)導(dǎo)致執(zhí)行錯(cuò)誤
2、擴(kuò)展數(shù)據(jù)庫(kù):增加文件組、增加文件、修改文件大小、修改文件的邏輯名稱
--添加文件組
ALTER DATABASE test
ADD FILEGROUP WC_FG8
--添加數(shù)據(jù)文件
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
)
--修改數(shù)據(jù)文件的大小,增長(zhǎng)大小,最大大小
ALTER DATABASE test
MODIFY FILE
(
NAME = 'WC_FG8',
SIZE = 2MB, --必須大于之前的大小,否則報(bào)錯(cuò)
MAXSIZE= 8MB,
FILEGROWTH = 10%
)
--修改數(shù)據(jù)文件或日志文件的邏輯名稱
ALTER DATABASE test
MODIFY FILE
(
NAME = WC_LOG3,
NEWNAME = WC_FG33
)
3、移動(dòng)文件
--所以必須把整個(gè)數(shù)據(jù)庫(kù)設(shè)置為離線
checkpoint
go
ALTER DATABASE WC
SET OFFLINE
go
--修改文件名稱
ALTER DATABASE WC
MODIFY FILE
(
NAME = WC_fg8,
FILENAME = 'D:\WC\WC_FG8.NDF'
)
go
--把原來(lái)的文件復(fù)制到新的位置:'D:\WC\WC_FG8.NDF'
--設(shè)置數(shù)據(jù)庫(kù)在線
ALTER DATABASE WC
SET ONLINE
4、設(shè)置默認(rèn)文件組、只讀文件組
--設(shè)置默認(rèn)文件組
ALTER DATABASE WC
MODIFY FILEGROUP WC_FG8 DEFAULT
--設(shè)為只讀文件組
--如果文件已經(jīng)是某個(gè)屬性,不能再次設(shè)置相同屬性
ALTER DATABASE WC
MODIFY FILEGROUP WC_FG8 READ_WRITE
5、收縮數(shù)據(jù)庫(kù)、 收縮文件
--收縮數(shù)據(jù)庫(kù)
DBCC SHRINKDATABASE('test', --要收縮的數(shù)據(jù)庫(kù)名稱或數(shù)據(jù)庫(kù)ID
10 --收縮后,數(shù)據(jù)庫(kù)文件中空間空間占用的百分比
)
DBCC SHRINKDATABASE('test', --要收縮的數(shù)據(jù)庫(kù)名稱或數(shù)據(jù)庫(kù)ID
10, --收縮后,數(shù)據(jù)庫(kù)文件中空閑空間占用的百分比
NOTRUNCATE --在收縮時(shí),通過(guò)數(shù)據(jù)移動(dòng)來(lái)騰出自由空間
)
DBCC SHRINKDATABASE('test', --要收縮的數(shù)據(jù)庫(kù)名稱或數(shù)據(jù)庫(kù)ID
10, --收縮后,數(shù)據(jù)庫(kù)文件中空間空間占用的百分比
TRUNCATEONLY --在收縮時(shí),只是把文件尾部的空閑空間釋放
)
--收縮文件
DBCC SHRINKFILE(wc_fg8, --要收縮的數(shù)據(jù)文件邏輯名稱
7 --要收縮的目標(biāo)大小,以MB為單位
)
DBCC SHRINKFILE(wc_fg8, --要收縮的數(shù)據(jù)文件邏輯名稱
EMPTYFILE --清空文件,清空文件后,才可以刪除文件
)
6、刪除文件、 刪除文件組
--要?jiǎng)h除文件,必須要先把文件上的數(shù)據(jù)刪除,或者移動(dòng)到其他文件或文件組上
--刪除數(shù)據(jù)后,必須要清空文件的內(nèi)容
DBCC SHRINKFILE(WC_FG8,EMPTYFILE)
--刪除文件,同時(shí)也在文件系統(tǒng)底層刪除了文件
ALTER DATABASE test
REMOVE FILE WC_FG8
--要?jiǎng)h除文件組,必須先刪除所有文件
--最后刪除文件組
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、更新統(tǒng)計(jì)信息
--更新表中某個(gè)的統(tǒng)計(jì)信息
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, --使用最近的采樣速率更新每個(gè)統(tǒng)計(jì)信息
norecompute --查詢優(yōu)化器將完成此統(tǒng)計(jì)信息更新并禁用將來(lái)的更新
--更新索引的統(tǒng)計(jì)信息
update statistics temp_lock(idx_temp_lock_id)
with fullscan
--更新表的所有統(tǒng)計(jì)信息
update statistics txt
with all
10、執(zhí)行SQL Server代理作業(yè)
11、備份數(shù)據(jù)庫(kù)(完整、差異、日志備份),這個(gè)在其他文章中已有詳細(xì)描述,這里不再贅述。
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 )
相關(guān)文章
SQL2008的sa賬戶被禁用其他賬戶無(wú)法連接的快速解決方法
這篇文章主要介紹了SQL2008的sa賬戶被禁用其他賬戶無(wú)法連接的快速解決方法,非常不錯(cuò),具有參考借鑒價(jià)值,需要的朋友可以參考下2017-03-03ASP.NET下向SQLServer2008導(dǎo)入文件實(shí)例操作方法
在Microsoft SQL Server2008以后的版本中,將刪除image數(shù)據(jù)類型。在新的開(kāi)發(fā)工作中將不適用此數(shù)據(jù)類型,并打算修改當(dāng)前使用此數(shù)據(jù)類型的應(yīng)用程序,改用varbinary(max)數(shù)據(jù)類型。2010-09-09使用row_number()實(shí)現(xiàn)分頁(yè)實(shí)例
或許大家不知道,其實(shí)使用row_number()是可以實(shí)現(xiàn)分頁(yè)的,下面有個(gè)不錯(cuò)的示例,大家可以嘗試操作下2013-11-11SQL Server2012數(shù)據(jù)庫(kù)備份和還原的教程
這篇文章主要為大家詳細(xì)介紹了SQL Server2012數(shù)據(jù)庫(kù)備份和還原的教程,具有一定的參考價(jià)值,感興趣的小伙伴們可以參考一下2018-03-03sqlserver 批量刪除存儲(chǔ)過(guò)程和批量修改存儲(chǔ)過(guò)程的語(yǔ)句
sqlserver 批量刪除存儲(chǔ)過(guò)程和批量修改存儲(chǔ)過(guò)程的語(yǔ)句,需要的朋友可以參考下。2011-07-07多列復(fù)合索引的使用 繞過(guò)微軟sql server的一個(gè)缺陷
多列復(fù)合索引是指由多個(gè)字段組成的索引。這種情況相當(dāng)常用的,并且,在查詢中,用多列復(fù)合索引來(lái)指定搜索范圍邊界也相當(dāng)常用2012-07-07SQL Server中的文本函數(shù)和圖像函數(shù)介紹
這篇文章介紹了SQL Server中的文本函數(shù)和圖像函數(shù),對(duì)大家的學(xué)習(xí)或者工作具有一定的參考學(xué)習(xí)價(jià)值,需要的朋友們下面隨著小編來(lái)一起學(xué)習(xí)學(xué)習(xí)吧2022-05-05