数据库维护常用语句.doc
文本预览下载声明
数据库维护常用语句
编 制: 郁涛 文件编号: 版本: 1.0 审 核: 会 签: 批 准:
修订历史记录
日期 版本 说明 作者 2016/12/16日 1.0 数据库维护常用语句 郁涛
目录
第 I 条 背景 3
第 II 条 MSSQL常用语句 3
节 2.01 K3数据库重启方法 3
节 2.02 K3查看是否有死锁 4
节 2.03 MSSQL 性能监控SQL语句 4
节 2.04 tempdb空间清理方法 10
节 2.05 查询所有的占用空间大小和行数 11
节 2.06 找出执行慢的SQL语句 12
第 III 条 MySql维护常用命令 13
节 3.01 连接MYSQL 13
节 3.02 修改密码 13
节 3.03 增加新用户 14
节 3.04 显示命令 14
节 3.05 备份数据库 16
第 IV 条 Oracle维护常用语句 16
节 4.01 oracle常规命令 16
节 4.02 查看数据库的SQL 17
节 4.03 ORACLE用户连接的管理 18
背景
主要用于MSSQL日常维护。
MSSQL常用语句
K3数据库重启方法
--1、重启中间层
--2、清除数据库连接
--3、重启数据库
--4、重新运行所有相关功能
--清除所有数据库连接,然后重起服务器来设放temp空间
declare @sql varchar(100)
while 1=1
begin
select top 1 @sql = kill +cast(spid as varchar(3)) from master..sysprocesses where spid 50 and spid @@spid
if @@rowcount = 0
break
exec(@sql)
end
select * from master..sysprocesses where spid 50 and spid @@spid
K3查看是否有死锁
exec master.dbo.sp_who_lock
MSSQL 性能监控SQL语句
select convert(numeric(5,4),sum(signal_wait_time_ms)/sum(wait_time_ms))
from Sys.dm_os_wait_stats
-- 计算Cxpacket占整wait时间的百分比
-- Cxpacket:Sql Server 在处理一句代价很大的语句,要不就是没有合适的索引或筛选条件没能筛选足够的记录,使得语句要返回大量的结果,当 5% 说明有问题
declare @Cxpacket bigint
declare @Sumwaits bigint
select @Cxpacket = wait_time_ms
from Sys.dm_os_wait_stats
where wait_type = Cxpacket
select @Sumwaits = sum(wait_time_ms)
from Sys.dm_os_wait_stats
select convert(numeric(5,4),@Cxpacket/@Sumwaits)
-- 查询当前数据库上所有用户表格在Row lock上发生阻塞的频率
declare @dbid int
select @dbid = db_id()
Select dbid=database_id, objectname=object_name(s.object_id),
indexname=i.name, i.index_id
--, partition_number, row_lock_count,
row_lock_wait_count, [block %]=cast (100.0 * row_lock_wait_count / (1 + row_lock_count)
as numeric(15,2)), row_lock_wait_in_ms,
[avg row lock waits in ms]=cast (1.0 * row_lock_wait_in_ms / (1 + row_lock_wait_count)
as numeric(15,2))
from sys.dm_db_index_operational_stats (@dbid, NULL, NULL, NULL) s,
sys.indexes i where objectproperty(s.object_id,IsU
显示全部