1. 查看 DB 和 DB 内各个表所占的空间大小,监控是否有异常现象,如:某个表的大小突增等,利用 Report
功能比较方便直观
2. 检查 SQL Server Agent 是否正常,job 是否正常执行,重要,因为 job 一般都是清理数据或者汇总
报表等操作的
3. 每周都要用 Profile 抓取 15 分钟执行的 SQL 放到 Table 里面,优化耗时、耗 IO、耗 CPU 等操作
的 SQL 语句
4. 检查数据文件和日志文件增长方式是否合理,是否设置增长最大值,推荐 增长变量 300M,最好不要用百
分比
5. 查看 Error Logs,检查是否有错误发生,记录的比较全面,对于排错,也是不错的选择
6. 定期 收缩数据库、更新统计信息、收缩数据库和重新组织索引
------------------------------------------------------------------
--备份
declare @sql varchar(8000)
set @sql='backup database HEXDATA to disk=''d:\databack\hexdata'
+rtrim(convert(varchar,getdate(),112))+'.bak'''
exec(@sql)
--删除 15 天前备份文件
declare @sql varchar(8000)
set @sql='del d:\databack\mis\mis'
+rtrim(convert(varchar,getdate()-15,112))+'.bak'''
exec master..xp_cmdshell @sql
--备注:xp_cndshell 默认该组件会被阻止,需要先启用它才可正常操作:
--使用如下语句将其启用 EXEC sp_configure 'show advanced options', 1;RECONFIGURE;EXEC
sp_configure 'xp_cmdshell', 1;RECONFIGURE;)
EXEC sp_configure 'show advanced options',1;
reconfigure;
exec sp_configure 'xp_cmdshell',1;
reconfigure;
--查看数据库里用户和进程的信息
exec sp_who
--查看 SQL Server 数据库里的活动用户和进程的信息
exec sp_who 'active'
--查看 SQL Server 数据库里的锁的情况
sp_lock
--进程号--50 是 SQL Server 系统内部用的,进程号大于的才是用户的连接进程.
--spid 是进程编号,dbid 是数据库编号,objid 是数据对象编号
--收缩数据库日志文件的方法
--收缩简单恢复模式数据库日志,收缩后@database_name_log 的大小单位为 M
backup log @database_name with no_log
dbcc shrinkfile (@database_name_log, 5)
--SQL Server 2008 下
BACKUP LOG <db_name> to disk=<'backupfilename'>
DBCC SHRINKFILE (<log_filename>,10)
GO
--分析 SQL Server SQL 语句的方法:
set statistics time {on | off}
set statistics io {on | off}
--图形方式显示查询执行计划
--在查询分析器->查询->显示估计的评估计划(D)-Ctrl-L 或者点击工具栏里的图形
评论