sqlserver数据库日常维护规范.docx
《sqlserver数据库日常维护规范.docx》由会员分享,可在线阅读,更多相关《sqlserver数据库日常维护规范.docx(9页珍藏版)》请在冰豆网上搜索。
![sqlserver数据库日常维护规范.docx](https://file1.bdocx.com/fileroot1/2022-11/26/45a46284-fa42-4a32-bf1c-1bfd10971b66/45a46284-fa42-4a32-bf1c-1bfd10971b661.gif)
sqlserver数据库日常维护规范
1.数据库服务器负载情况维护
査看CPU,IO,内存使用情况
•规则
Windows系统:
打开任务管理器,选择进程选项卡,可以査看CPU、内存和10使用率0
2.数据库运行状态维护
•规则
1.实例运行状态
使用SQLSERVERManagementStudio能连接说明实例运行正常。
2.磁盘空间使用情况
直接登陆服务器进行磁盘使用率检査
3・査看错误日志:
方法一:
可以通过执行该命令来査看错误日志信息:
execxp_readerrorlog
方法二:
在SQLSERVERManagementStudio中连接该sqlserver实例,objectExplorer中査找Managemenl->SQLServerlogs-〉右键选view-^选择你要看的日志信息(sqlserverlogorsqlserverandWindowslog)
方法三:
去安装路径下去找你的log文件,我的默认实例路径如下
driver:
\SQLServer2008R2\MSSQL10_50.MSSQLSERVER\MSSQL\Log\ERRORLOG
4•跟踪事件
企业皆理里SQL2OO5\SQL2OO8在上方菜单一工具一SQLProfiler,按照选择进行跟踪。
3.数据库备份情况维护
•规则
数据库备份情况检査:
备份日志显示:
成功,说明备份成功。
备份日志显示:
失败,说明备份失败,需要进一步査找失败原因。
每天检査异地备份是否成功。
4.数据库对彖的维护
•规则
1、査询乞个磁盘分区的剩余空间:
Execmaster.dbo.xp_fixeddrives
2、査询数据库的数据文件及日志文件的相关信息(包括文件组、当前文件大小、文件最大值、文件增长设置、文件逻辑名、文件路径等〉
select*from[数据库家]・[dbo]・[sysfilcs]
转换文件大小单位为MB:
selectname,convert(floai,size)*(8192.0/1024.0)/1024.from[数据库名],dbo.sysfiles
3、査询当前数据库的磁盘使用情况:
Execsp_spaceused
4、査询数据商服务器各数据库日志文件的大小及利用率
DBCCSQLPERF(LOGSPACE)
5、统讣数据库中每张表的大小
createtableimp
namevarchar(50).
rowscountint,reservedvarchar(50).
datavarchar(50).
index_sizevarchar(50).
unusedvarchar(50)
inserttmp(namc・rowscount.reserved,data.index_size.unused)
execsp_MSforeachtable@commandl=”sp_spaceused
select*fromtmpwherename<>tmp'orderbynamedroptableimp:
或考
SELECT
a.name,b.rows
FROM
WHERE
sysobjeclsASaINNERJOIN
sysindexesASbONaJd=b.id
(a.type=V)AND(bJndidIN(0,1))
ORDERBYb.rowsDESC
6、检査数据库完整性
dbcccheckdb(Portal)
dbcccheckdb(Portal)withtablock
7、数据库重命名、修改恢复模式、修改用户模式
-数据库重命需
ALTERDATABASEWC
MODIFYNAME=test
-设置数据原为完整恢复模式
alterdatabasetestsetrecoveryfull
-只允许一个用户访问数据库
alterdatabasetestsetsingle_user
withrollbackafter10seconds••指泄多少秒后回滚事务
••只有sysadmin,dbcreatordb_owner角色的成员可以访问数据库
alterdatabasewcsetrestricteduser
withrollbackimmediate
••立即回滚事务
-多用户模式
alterdatabasewc
setmultiuser
withnowait
-不等待立即改变,如不能立即完成,那么会导致执行错误
8、扩展数据库:
增加文件组、增加文件、修改文件大小、修改文件的逻辑名称
••添加文件组
ALTERDATABASEtest
ADDFILEGROUPWCFG8
-添加数据文件
ALTERDATABASEtest
ADDFILE
NAME=WCFG&
FILENAME="D:
\WC_FG&ndf\
SIZE=1mb.
MAXSIZE=lOmb.
FILEGROWTH=1mb
TOHLEGROUPWCFG8
••添加日志文件
ALTERDATABASEtest
ADDLOGFILE
NAME=WC-LOG3,
FILENAME=D\WCFG3.LDF.
SIZE=1MB.
MAXSIZE=10MB.
HLEGROWTH=100KB
-修改数据文件的大小,増长大小•最大大小
ALTERDATABASEtest
MODIFYFILE
NAME='WC-FG8;
SIZE=2MB・
-必须大于之前的大小,否则报错
MAXSIZE=8MB・
HLEGROWTH=10%
-修改数据文件或日志文件的逻辑名称
ALTERDATABASEtest
MODIFYFILE
NAME=WC-LOG3.
NEWNAME=WCFG33
9、移动文件
-由于在SQLServer中文件组、文件不能离线,所以必须把整个数据库设置为离线
checkpoinigo
ALTERDATABASEWC
SETOFFLINEg°
-修改文件名称
ALTERDATABASEWC
MODIFYFILE
NAME=WC_fg&
FILENAME=D\WC\WCFG&NDFgo
••把原来的文件复制到新的位置:
D:
\WC\WC_FG&NDF
-设置数据库在线
ALTERDATABASEWC
SETONLINE
10、设置默认文件组、只读文件组
-设置默认文件组
ALTERDATABASEWC
MODIFYHLEGROUPWCFG8DEFAULT
-设为只读文件组
-如果文件已经是某个属性•不能再次设置柑同属性
ALTERDATABASEWC
MODIFYHLEGROUPWCFG8READWRITE
11、收缩数据库、收缩文件
-收缩数据原
DBCCSHRINKDATABASE("tesl\
10
-要收缩的数据库名称或数拯库ID
-收缩后,数据库文件中空间空间占用的百分比
DBCCSHRINKDATABASE(乜ST,
10.
“要收缩的数据库名称或数据库ID
••收缩后,数据库文件中空闲空间占用的百分比
NOTRUNCATE-在收缩时,通过数据移动来腾出自由空间
DBCCSHRINKDATABASE(-tesf,
-要收缩的数据库名称或数据库ID
“收缩后,数据库文件中空间空间占用的百分比
10.
TRUNCATEONLY一在收缩时,只是耙文件尾部的空闲空间释放
••收缩文件
DBCCSHRINKFlLE(wc」g&-要收缩的数据文件逻辑坍称
7••要收缩的目标大小,以MB为单位
DBCCSHRINKFILE(wc_fg&一要收缩的数据文件逻辑名称
EMPTYRLE••淸空文件,淸空文件后•才可以删除文件
12、删除文件、删除文件组
1・要删除文件,必须要先把文件上的数据删除,或者移动到其他文件或文件组上
••删除数据后,必须要淸空文件的内容
DBCCSHRINKFILE(WC_FG&EMPTYF1LE)
-删除文件,同时也在文件系统底层删除了文件
ALTERDATABASEtest
REMOVEHLEWCFG8
2•要删除文件组,必须先删除所有文件
-最后删除文件组
ALTERDATABASEtest
REMOVEHLEGROUPWCFG8
13、重新组织索引
ALTERINDEX[idxjempjockjd]ON[dbo].[tempjock]REORGANIZE
WITH(LOB_COMPACTION=ON)usetestgoselect'DBCCINDEXDEFRAGC+db_name()+7+o.name+7+iname+
-.db_name().
-o.nanie.
••Lname.
fromsysindexesiinnerjoinsysobjeclso
onLid=o.id
whereo.xiypc=U
andUndid>0
andcharindexCW^_Sys\i.name)=0
14、重新生成索引
ALTERINDEX[idxjcmpJockJd]ON[dbo].[tempJock]
REBUILDPARTITION=ALL
WITH(PADJNDEX=OFE
STATISTICSNORECOMPUTE=OFE
ALLOWROWLOCKS=ON,
ALLOWPAGELOCKS=ON.
ONLINE=OFF.
SORTJN_TEMPDB=OFF)
15、更新统计信息
-更新表中某个的统计倍息
updatestatisticstempJock(_WA_Sys_0000000l_07020F21)updatestatisticstempJock(_WA_Sys_0000000l_07020F21)withsample50percentupdatestatisticstempJock(_WA_Sys_0000000l_07020F21)
withresample.••使用最近的采样速率更新每个统讣信息
norecompute-査询优化器将完成此统计信息更新并禁用将来的更新
-更新索引的统计信息
updatestatisticstempjock(idx_tempjockjd)withfullscan
-更新表的所有统计信息
updatestatisticstxt
withall
16、执行SQLServer代理作业execmsdb・dbo・sp_siart」ob
@job_name=N]ob_update_sql';