惯性聚合 高效追踪和阅读你感兴趣的博客、新闻、科技资讯
阅读原文 在惯性聚合中打开

推荐订阅源

Google DeepMind News
Google DeepMind News
爱范儿
爱范儿
J
Java Code Geeks
L
LangChain Blog
V
V2EX
大猫的无限游戏
大猫的无限游戏
S
SegmentFault 最新的问题
博客园 - Franky
Microsoft Azure Blog
Microsoft Azure Blog
Jina AI
Jina AI
Blog — PlanetScale
Blog — PlanetScale
奇客Solidot–传递最新科技情报
奇客Solidot–传递最新科技情报
The Cloudflare Blog
博客园 - 司徒正美
B
Blog
G
Google Developers Blog
Stack Overflow Blog
Stack Overflow Blog
罗磊的独立博客
OSCHINA 社区最新新闻
OSCHINA 社区最新新闻
Apple Machine Learning Research
Apple Machine Learning Research
Engineering at Meta
Engineering at Meta
MyScale Blog
MyScale Blog
有赞技术团队
有赞技术团队
Hugging Face - Blog
Hugging Face - Blog

博客园 - rmhy

IIS10设置上传大小限制的方法实现 SQL Server中 特殊符号查询处理 MAS 激活命令 SSMS18 登陆界面清除不需要的登录账户 yum更换阿里源 docker 部署 xxl-job 详细步骤 globalthis is not defined 钉钉H5应用报错(手机端) docker onlyoffice robocopy局域网拷贝 oracle 维护小记 oracle 导出空表 djange 2.0 连接 mssql 2008 sql 2008数据库日志清理(转) JS判断文本框是否数字包括小数 sql joins 网站无法播放flv格式 eml文件打开方式 更改域安全策略-密码必须符合复杂性要求 span 换行
MSSQL 维护小记(清理进程、重建索引)
rmhy · 2023-09-20 · via 博客园 - rmhy

------------------------------清理进程-----------------------------------

declare @deleteSleepSession nvarchar(100) --申明一个变量
declare tablelist cursor local --申明一个本地游标
for
select 'kill '+rtrim(spid)
from master.dbo.sysprocesses --数据库系统进程表
where status='sleeping' --状态为休眠状态
and spid>=50 --因spid<=50的为SQL Server本身的系统进程
and last_batch< DATEADD(MINUTE,-30,GETDATE()) --最后批处理时间大于当前时间30分钟
and program_name = 'XXXXXXXXXX'  --名称
--and login_time< DATEADD(MINUTE,-30,GETDATE()) --提交时间大于当前时间30分钟
open tablelist
fetch tablelist into @deleteSleepSession --执行查询,返回结果集插入至游标中
while @@fetch_status=0
-- 0 FETCH 语句成功
-- -1 FETCH 语句失败或此行不在结果集中
-- -2 被提取的行不存在
begin
exec(@deleteSleepSession) --执行变量
fetch tablelist into @deleteSleepSession
end
close tablelist --关闭游标
deallocate tablelist --删除游标引用

---------------------------------重建索引---------------------------------------------

select *, 'alter index all on dbo.['+TableName+'] rebuild;' as forsql

from (
SELECT OBJECT_NAME(ips.object_id) AS TableName,
ips.index_id,
name AS IndexName,
avg_fragmentation_in_percent,
DB_NAME(ips.database_id) AS DatabaseName
FROM sys.dm_db_index_physical_stats(DB_ID(DB_NAME()), NULL, NULL, NULL, NULL) AS ips
INNER JOIN sys.indexes AS si
ON si.object_id = ips.object_id
AND si.index_id = ips.index_id
WHERE ips.avg_fragmentation_in_percent > 0
AND si.index_id <> 0
)t