資源描述:
《SQL_Server_數(shù)據(jù)庫巡檢腳本》由會員上傳分享,免費在線閱讀,更多相關(guān)內(nèi)容在行業(yè)資料-天天文庫。
1、--1.查看數(shù)據(jù)庫版本信息select@@version--2.查看所有數(shù)據(jù)庫名稱及大小execsp_helpdb--3.查看數(shù)據(jù)庫所在機(jī)器的操作系統(tǒng)參數(shù)execmaster..xp_msver--4.查看數(shù)據(jù)庫啟動的參數(shù)execsp_configure--5.查看數(shù)據(jù)庫啟動時間selectconvert(varchar(30),login_time,120)frommaster..sysprocesseswherespid=1--6.查看數(shù)據(jù)庫服務(wù)器名select'ServerName:'+ltrim(@@servername)--7.查看數(shù)據(jù)庫實例名select'In
2、stance:'+ltrim(@@servicename)--8.數(shù)據(jù)庫的磁盤空間呢使用信息execsp_spaceused--9.日志文件大小及使用情況dbccsqlperf(logspace)--10.表的磁盤空間使用信息execsp_spaceused'tablename'--11.獲取磁盤讀寫情況select@@total_read[讀取磁盤次數(shù)],@@total_write[寫入磁盤次數(shù)],@@total_errors[磁盤寫入錯誤數(shù)],getdate()[當(dāng)前時間]--12.獲取I/O工作情況select@@io_busy,@@timeticks[每個時鐘周期
3、對應(yīng)的微秒數(shù)],@@io_busy*@@timeticks[I/O操作毫秒數(shù)],getdate()[當(dāng)前時間]--13.查看CPU活動及工作情況select@@cpu_busy,@@timeticks[每個時鐘周期對應(yīng)的微秒數(shù)],@@cpu_busy*cast(@@timeticksasfloat)/1000[CPU工作時間(秒)],@@idle*cast(@@timeticksasfloat)/1000[CPU空閑時間(秒)],getdate()[當(dāng)前時間]--14.檢查鎖與等待execsp_lock--15.檢查死鎖execsp_who_lock--自己寫個存儲過程即
4、可/*createproceduresp_who_lockasbegin???declare@spidint,@blint,???@intTransactionCountOnEntryint,???@intRowcountint,???@intCountPropertiesint,???@intCounterint???createtable#tmp_lock_who(idintidentity(1,1),spidsmallint,blsmallint)???IF@@ERROR<>0RETURN@@ERROR???insertinto#tmp_lock_who(spid,
5、bl)select0,blocked???from(select*fromsys.sysprocesseswhereblocked>0)a???wherenotexists(select*from(select*fromsys.sysprocesseswhereblocked>0)b???wherea.blocked=spid)???unionselectspid,blockedfromsys.sysprocesseswhereblocked>0???IF@@ERROR<>0RETURN@@ERROR???????--找到臨時表的記錄數(shù)???????select@intC
6、ountProperties=Count(*),@intCounter=1???????from#tmp_lock_who???IF@@ERROR<>0RETURN@@ERROR???if@intCountProperties=0???select'現(xiàn)在沒有阻塞和死鎖信息'asmessage???--循環(huán)開始???while@intCounter<=@intCountProperties???begin???--取第一條記錄???select@spid=spid,@bl=bl???from#tmp_lock_whowhereid=@intCounter???begin??
7、?if@spid=0???????select'引起數(shù)據(jù)庫死鎖的是:'+CAST(@blASVARCHAR(10))+'進(jìn)程號,其執(zhí)行的SQL語法如下'???else???????select'進(jìn)程號SPID:'+CAST(@spidASVARCHAR(10))+'被'+'進(jìn)程號SPID:'+CAST(@blASVARCHAR(10))+'阻塞,其當(dāng)前進(jìn)程執(zhí)行的SQL語法如下'???DBCCINPUTBUFFER(@bl)???end???--循環(huán)指針下移???set@intCounter=@intCounter+1???en