暂无图片
暂无图片
暂无图片
暂无图片
暂无图片
SQL-Server数据库日常维护脚本.txt
206
7页
4次
2022-12-08
5墨值下载
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 或者点击工具栏里的图形
--文本方式显示查询执行计划
set showplan_all {on | off}
set showplan_text { on | off }
set statistics profile { on | off }
--查看表的索引信息
exec sp_helpindex tb
--结合 sys.indexes sys.index_columns,sys.objects,sys.columns 查询索引所属的表或视图
的信息
select
o.name as 表名,
i.name as 索引名,
c.name as 列名,
i.type_desc as 类型描述,
is_primary_key as 主键约束,
is_unique_constraint as 唯一约束,
is_disabled as 禁用
from
sys.objects o
inner join
sys.indexes i
on
i.object_id=o.object_id
inner join
sys.index_columns ic
on
ic.index_id=i.index_id and ic.object_id=i.object_id
inner join
sys.columns c
on
ic.column_id=c.column_id and ic.object_id=c.object_id
go
--查询索引的键和列信息
select
o.name as 表名,
i.name as 索引名,
c.name as 字段编号,
from
sysindexes i inner join sysobjects o
on
i.id=o.id
inner join
sysindexkeys k
on
o.id=k.id and i.indid=k.indid
inner join
syscolumns c
on
c.id=i.id and k.colid=c.colid
where
o.name='表名'
---查询索引操作的信息
select * from sys.dm_db_index_usage_stats
--查询指定表的统计信息(sys.stats sysobjects 联合查询)
of 7
5墨值下载
【版权声明】本文为墨天轮用户原创内容,转载时必须标注文档的来源(墨天轮),文档链接,文档作者等基本信息,否则作者和墨天轮有权追究责任。如果您发现墨天轮中有涉嫌抄袭或者侵权的内容,欢迎发送邮件至:contact@modb.pro进行举报,并提供相关证据,一经查实,墨天轮将立刻删除相关内容。

评论

关注
最新上传
暂无内容,敬请期待...
下载排行榜
Top250 周榜 月榜