SQL Server DBA平常運維語句

一、檢查數據庫完整性  web

dbcc checkdb(Portal)
檢查數據庫完整性checkdb
Portal的 DBCC 結果。
Service Broker 消息 9675,狀態 1: 已分析的消息類型: 14。
Service Broker 消息 9676,狀態 1: 已分析的服務約定: 6。
Service Broker 消息 9667,狀態 1: 已分析的服務: 3。
Service Broker 消息 9668,狀態 1: 已分析的服務隊列: 3。
Service Broker 消息 9669,狀態 1: 已分析的會話端點: 0。
Service Broker 消息 9674,狀態 1: 已分析的會話組: 0。
Service Broker 消息 9670,狀態 1: 已分析的遠程服務綁定: 0。
Service Broker 消息 9605,狀態 1: 已分析的會話優先級: 0。
sys.sysrscols的 DBCC 結果。
對象 'sys.sysrscols' 的 14 頁中有 1286 行。
sys.sysrowsets的 DBCC 結果。
對象 'sys.sysrowsets' 的 2 頁中有 206 行。
sys.sysclones的 DBCC 結果。
對象 'sys.sysclones' 的 0 頁中有 0 行。
sys.sysallocunits的 DBCC 結果。
對象 'sys.sysallocunits' 的 3 頁中有 228 行。
sys.sysfiles1的 DBCC 結果。
對象 'sys.sysfiles1' 的 1 頁中有 2 行。
sys.sysseobjvalues的 DBCC 結果。
對象 'sys.sysseobjvalues' 的 0 頁中有 0 行。
sys.syspriorities的 DBCC 結果。
對象 'sys.syspriorities' 的 0 頁中有 0 行。
sys.sysdbfrag的 DBCC 結果。
對象 'sys.sysdbfrag' 的 0 頁中有 0 行。
sys.sysfgfrag的 DBCC 結果。
對象 'sys.sysfgfrag' 的 1 頁中有 0 行。
sys.sysdbfiles的 DBCC 結果。
對象 'sys.sysdbfiles' 的 1 頁中有 2 行。
sys.syspru的 DBCC 結果。
對象 'sys.syspru' 的 0 頁中有 0 行。
sys.sysbrickfiles的 DBCC 結果。
對象 'sys.sysbrickfiles' 的 0 頁中有 0 行。
sys.sysphfg的 DBCC 結果。
對象 'sys.sysphfg' 的 1 頁中有 1 行。
sys.sysprufiles的 DBCC 結果。
對象 'sys.sysprufiles' 的 1 頁中有 2 行。
sys.sysftinds的 DBCC 結果。
對象 'sys.sysftinds' 的 0 頁中有 0 行。
sys.sysowners的 DBCC 結果。
對象 'sys.sysowners' 的 1 頁中有 14 行。
sys.sysdbreg的 DBCC 結果。
對象 'sys.sysdbreg' 的 0 頁中有 0 行。
sys.sysprivs的 DBCC 結果。
對象 'sys.sysprivs' 的 1 頁中有 170 行。
sys.sysschobjs的 DBCC 結果。
對象 'sys.sysschobjs' 的 33 頁中有 2296 行。
sys.syscolpars的 DBCC 結果。
對象 'sys.syscolpars' 的 17 頁中有 1047 行。
sys.sysxlgns的 DBCC 結果。
對象 'sys.sysxlgns' 的 0 頁中有 0 行。
sys.sysxsrvs的 DBCC 結果。
對象 'sys.sysxsrvs' 的 0 頁中有 0 行。
sys.sysnsobjs的 DBCC 結果。
對象 'sys.sysnsobjs' 的 1 頁中有 1 行。
sys.sysusermsgs的 DBCC 結果。
對象 'sys.sysusermsgs' 的 0 頁中有 0 行。
sys.syscerts的 DBCC 結果。
對象 'sys.syscerts' 的 0 頁中有 0 行。
sys.sysrmtlgns的 DBCC 結果。
對象 'sys.sysrmtlgns' 的 0 頁中有 0 行。
sys.syslnklgns的 DBCC 結果。
對象 'sys.syslnklgns' 的 0 頁中有 0 行。
sys.sysxprops的 DBCC 結果。
對象 'sys.sysxprops' 的 1 頁中有 29 行。
sys.sysscalartypes的 DBCC 結果。
對象 'sys.sysscalartypes' 的 1 頁中有 34 行。
sys.systypedsubobjs的 DBCC 結果。
對象 'sys.systypedsubobjs' 的 0 頁中有 0 行。
sys.sysidxstats的 DBCC 結果。
對象 'sys.sysidxstats' 的 7 頁中有 382 行。
sys.sysiscols的 DBCC 結果。
對象 'sys.sysiscols' 的 4 頁中有 565 行。
sys.sysendpts的 DBCC 結果。
對象 'sys.sysendpts' 的 0 頁中有 0 行。
sys.syswebmethods的 DBCC 結果。
對象 'sys.syswebmethods' 的 0 頁中有 0 行。
sys.sysbinobjs的 DBCC 結果。
對象 'sys.sysbinobjs' 的 1 頁中有 23 行。
sys.sysaudacts的 DBCC 結果。
對象 'sys.sysaudacts' 的 0 頁中有 0 行。
sys.sysobjvalues的 DBCC 結果。
對象 'sys.sysobjvalues' 的 96 頁中有 391 行。
sys.syscscolsegments的 DBCC 結果。
對象 'sys.syscscolsegments' 的 0 頁中有 0 行。
sys.syscsdictionaries的 DBCC 結果。
對象 'sys.syscsdictionaries' 的 0 頁中有 0 行。
sys.sysclsobjs的 DBCC 結果。
對象 'sys.sysclsobjs' 的 1 頁中有 16 行。
sys.sysrowsetrefs的 DBCC 結果。
對象 'sys.sysrowsetrefs' 的 0 頁中有 0 行。
sys.sysremsvcbinds的 DBCC 結果。
對象 'sys.sysremsvcbinds' 的 0 頁中有 0 行。
sys.sysxmitqueue的 DBCC 結果。
對象 'sys.sysxmitqueue' 的 0 頁中有 0 行。
sys.sysrts的 DBCC 結果。
對象 'sys.sysrts' 的 1 頁中有 1 行。
sys.sysconvgroup的 DBCC 結果。
對象 'sys.sysconvgroup' 的 0 頁中有 0 行。
sys.sysdesend的 DBCC 結果。
對象 'sys.sysdesend' 的 0 頁中有 0 行。
sys.sysdercv的 DBCC 結果。
對象 'sys.sysdercv' 的 0 頁中有 0 行。
sys.syssingleobjrefs的 DBCC 結果。
對象 'sys.syssingleobjrefs' 的 1 頁中有 215 行。
sys.sysmultiobjrefs的 DBCC 結果。
對象 'sys.sysmultiobjrefs' 的 1 頁中有 138 行。
sys.sysguidrefs的 DBCC 結果。
對象 'sys.sysguidrefs' 的 0 頁中有 0 行。
sys.sysfoqueues的 DBCC 結果。
對象 'sys.sysfoqueues' 的 0 頁中有 0 行。
sys.syschildinsts的 DBCC 結果。
對象 'sys.syschildinsts' 的 0 頁中有 0 行。
sys.syscompfragments的 DBCC 結果。
對象 'sys.syscompfragments' 的 0 頁中有 0 行。
sys.sysftsemanticsdb的 DBCC 結果。
對象 'sys.sysftsemanticsdb' 的 0 頁中有 0 行。
sys.sysftstops的 DBCC 結果。
對象 'sys.sysftstops' 的 0 頁中有 0 行。
sys.sysftproperties的 DBCC 結果。
對象 'sys.sysftproperties' 的 0 頁中有 0 行。
sys.sysxmitbody的 DBCC 結果。
對象 'sys.sysxmitbody' 的 0 頁中有 0 行。
sys.sysfos的 DBCC 結果。
對象 'sys.sysfos' 的 0 頁中有 0 行。
sys.sysqnames的 DBCC 結果。
對象 'sys.sysqnames' 的 1 頁中有 99 行。
sys.sysxmlcomponent的 DBCC 結果。
對象 'sys.sysxmlcomponent' 的 1 頁中有 100 行。
sys.sysxmlfacet的 DBCC 結果。
對象 'sys.sysxmlfacet' 的 1 頁中有 112 行。
sys.sysxmlplacement的 DBCC 結果。
對象 'sys.sysxmlplacement' 的 1 頁中有 19 行。
sys.sysobjkeycrypts的 DBCC 結果。
對象 'sys.sysobjkeycrypts' 的 0 頁中有 0 行。
sys.sysasymkeys的 DBCC 結果。
對象 'sys.sysasymkeys' 的 0 頁中有 0 行。
sys.syssqlguides的 DBCC 結果。
對象 'sys.syssqlguides' 的 0 頁中有 0 行。
sys.sysbinsubobjs的 DBCC 結果。
對象 'sys.sysbinsubobjs' 的 1 頁中有 3 行。
sys.syssoftobjrefs的 DBCC 結果。
對象 'sys.syssoftobjrefs' 的 1 頁中有 9 行。
MH_DBLJ的 DBCC 結果。
對象 'MH_DBLJ' 的 1 頁中有 15 行。
MH_DLLS的 DBCC 結果。
對象 'MH_DLLS' 的 509 頁中有 36399 行。
MH_DLRZ的 DBCC 結果。
對象 'MH_DLRZ' 的 8 頁中有 127 行。
MH_FGCD的 DBCC 結果。
對象 'MH_FGCD' 的 1 頁中有 141 行。
MH_GJT的 DBCC 結果。
對象 'MH_GJT' 的 0 頁中有 0 行。
MH_GJT_JS的 DBCC 結果。
對象 'MH_GJT_JS' 的 9 頁中有 110 行。
MH_IDENTITY的 DBCC 結果。
對象 'MH_IDENTITY' 的 1 頁中有 12 行。
MH_JSCD的 DBCC 結果。
對象 'MH_JSCD' 的 27 頁中有 3191 行。
MH_JSFG的 DBCC 結果。
對象 'MH_JSFG' 的 1 頁中有 12 行。
MH_KJFS的 DBCC 結果。
對象 'MH_KJFS' 的 1 頁中有 3 行。
MH_KJFS_JS的 DBCC 結果。
對象 'MH_KJFS_JS' 的 8 頁中有 104 行。
MH_LBWJ的 DBCC 結果。
對象 'MH_LBWJ' 的 4 頁中有 48 行。
MH_MKCS的 DBCC 結果。
對象 'MH_MKCS' 的 4 頁中有 297 行。
MH_MKLB的 DBCC 結果。
對象 'MH_MKLB' 的 1 頁中有 48 行。
MH_RZXX的 DBCC 結果。
對象 'MH_RZXX' 的 4 頁中有 135 行。
MH_XTCS的 DBCC 結果。
對象 'MH_XTCS' 的 2 頁中有 11 行。
MH_XTJS的 DBCC 結果。
對象 'MH_XTJS' 的 5 頁中有 66 行。
MH_XTMK的 DBCC 結果。
對象 'MH_XTMK' 的 26 頁中有 1618 行。
MH_XTYH的 DBCC 結果。
對象 'MH_XTYH' 的 8 頁中有 406 行。
MH_XXDY的 DBCC 結果。
對象 'MH_XXDY' 的 0 頁中有 0 行。
MH_XXZL的 DBCC 結果。
對象 'MH_XXZL' 的 0 頁中有 0 行。
MH_YHCD的 DBCC 結果。
對象 'MH_YHCD' 的 1 頁中有 1 行。
MH_YHJS的 DBCC 結果。
對象 'MH_YHJS' 的 6 頁中有 574 行。
MH_YXRZ的 DBCC 結果。
對象 'MH_YXRZ' 的 13049 頁中有 250639 行。
MH_ZDHC的 DBCC 結果。
對象 'MH_ZDHC' 的 1 頁中有 70 行。
MH_ZMBJ的 DBCC 結果。
對象 'MH_ZMBJ' 的 5 頁中有 326 行。
MH_ZYDX的 DBCC 結果。
對象 'MH_ZYDX' 的 1 頁中有 143 行。
MH_ZYXX的 DBCC 結果。
對象 'MH_ZYXX' 的 1 頁中有 12 行。
ZZ_FINGER的 DBCC 結果。
對象 'ZZ_FINGER' 的 0 頁中有 0 行。
GY_FBRZ的 DBCC 結果。
對象 'GY_FBRZ' 的 0 頁中有 0 行。
MH_DYFF的 DBCC 結果。
對象 'MH_DYFF' 的 0 頁中有 0 行。
MH_DYLB的 DBCC 結果。
對象 'MH_DYLB' 的 1 頁中有 11 行。
MH_DYMX的 DBCC 結果。
對象 'MH_DYMX' 的 0 頁中有 0 行。
MH_FBLB的 DBCC 結果。
對象 'MH_FBLB' 的 1 頁中有 11 行。
BSOFT_TEST_CONNECT的 DBCC 結果。
對象 'BSOFT_TEST_CONNECT' 的 1 頁中有 1 行。
pbcattbl的 DBCC 結果。
對象 'pbcattbl' 的 0 頁中有 0 行。
pbcatcol的 DBCC 結果。
對象 'pbcatcol' 的 0 頁中有 0 行。
pbcatfmt的 DBCC 結果。
對象 'pbcatfmt' 的 1 頁中有 20 行。
pbcatvld的 DBCC 結果。
對象 'pbcatvld' 的 0 頁中有 0 行。
pbcatedt的 DBCC 結果。
對象 'pbcatedt' 的 1 頁中有 21 行。
TMP_IMAGE_KEY1的 DBCC 結果。
對象 'TMP_IMAGE_KEY1' 的 1 頁中有 13 行。
sysdiagrams的 DBCC 結果。
對象 'sysdiagrams' 的 0 頁中有 0 行。
sys.filestream_tombstone_1893581784的 DBCC 結果。
對象 'sys.filestream_tombstone_1893581784' 的 0 頁中有 0 行。
sys.syscommittab的 DBCC 結果。
對象 'sys.syscommittab' 的 0 頁中有 0 行。
sys.filetable_updates_1925581898的 DBCC 結果。
對象 'sys.filetable_updates_1925581898' 的 0 頁中有 0 行。
sys.queue_messages_1977058079的 DBCC 結果。
對象 'sys.queue_messages_1977058079' 的 0 頁中有 0 行。
sys.queue_messages_2009058193的 DBCC 結果。
對象 'sys.queue_messages_2009058193' 的 0 頁中有 0 行。
sys.queue_messages_2041058307的 DBCC 結果。
對象 'sys.queue_messages_2041058307' 的 0 頁中有 0 行。
HX_NUMIDENTI的 DBCC 結果。
對象 'HX_NUMIDENTI' 的 0 頁中有 0 行。
MH_AUTORUN的 DBCC 結果。
對象 'MH_AUTORUN' 的 1 頁中有 2 行。
MH_CWRZ的 DBCC 結果。
對象 'MH_CWRZ' 的 194 頁中有 9159 行。
CHECKDB 在數據庫 'Portal' 中發現 0 個分配錯誤和 0 個一致性錯誤。
DBCC 執行完畢。若是 DBCC 輸出了錯誤信息,請與系統管理員聯繫。
消息或結果:
dbcc checkdb(Portal) with tablock
tablock提升速度

二、數據庫重命名、修改恢復模式、修改用戶模式sql

--數據庫重命名  
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        --當即回滾事務  
只有sysadmin,dbcreator,db_owner角色的成員能夠訪問數據庫
--多用戶模式 
alter database wc  
set multi_user  
with no_wait       --不等待當即改變,如不能當即完成,那麼會致使執行錯誤 
多用戶模式

 三、擴展數據庫:增長文件組、增長文件、修改文件大小、修改文件的邏輯名稱 數據庫

--添加文件組
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
)
修改數據文件或日誌文件的邏輯名稱

 四、移動文件  ide

--因爲在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
設置數據庫爲ONLINE

五、設置默認文件組、只讀文件組優化

--設置默認文件組
ALTER DATABASE WC
MODIFY FILEGROUP WC_FG8 DEFAULT
設置默認文件組
--設爲只讀文件組
--若是文件已是某個屬性,不能再次設置相同屬性
ALTER DATABASE WC
MODIFY FILEGROUP WC_FG8 READ_WRITE
設爲只讀文件組

六、收縮數據庫、收縮文件ui

--收縮數據庫  
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 --清空文件,清空文件後,才能夠刪除文件  
                )
收縮文件

七、刪除文件、刪除文件組spa

 1.要刪除文件,必需要先把文件上的數據刪除,或者移動到其餘文件或文件組上scala

--刪除數據後,必需要清空文件的內容
DBCC SHRINKFILE(WC_FG8,EMPTYFILE)
清空文件的內容
--刪除文件,同時也在文件系統底層刪除了文件
ALTER DATABASE test
REMOVE FILE WC_FG8
刪除文件

 2.要刪除文件組,必須先刪除全部文件3d

--最後刪除文件組
ALTER DATABASE test
REMOVE FILEGROUP WC_FG8
刪除文件組

 八、從新組織索引代理

ALTER INDEX [idx_temp_lock_id] ON [dbo].[temp_lock] 
REORGANIZE 
WITH ( LOB_COMPACTION = ON )
從新組織索引
use test
go
 
select 'DBCC INDEXDEFRAG('+db_name()+','+o.name+','+i.name + ');'
        --,db_name(),
        --o.name,
        --i.name,
        --i.*
 
from sysindexes i
inner join sysobjects o
        on i.id = o.id
where o.xtype = 'U'
      and i.indid >0
      and charindex('WA_Sys',i.name) = 0
 
批量生成重組索引的語句

九、從新生成索引

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 )
重建索引

十、更新統計信息

--更新表中某個的統計信息  
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
更新表的全部統計信息

十一、執行SQL Server代理做業

exec msdb.dbo.sp_start_job 
    @job_name =N'job_update_sql';
執行代理做業
相關文章
相關標籤/搜索