Files
chill_notes/数据库知识库/工具脚本/运行中数据库收缩脚本.md
2026-04-16 00:28:41 +08:00

43 lines
743 B
Markdown
Executable File

use master
go
```sql
if exists (select * from dbo.sysobjects where id = object_id(N'[dbo].[p_killspid]') and OBJECTPROPERTY(id, N'IsProcedure') = 1)
drop procedure [dbo].[p_killspid]
GO
create proc p_killspid
```
@dbname varchar(200) --要关闭进程的数据库名
as
```sql
declare @sql nvarchar(500)
declare @spid nvarchar(20)
declare #tb cursor for
select spid=cast(spid as varchar(20)) from master..sysprocesses where dbid=db_id(@dbname)
open #tb
fetch next from #tb into @spid
while @@fetch_status=0
```
begin
exec('kill '+@spid)
```sql
fetch next from #tb into @spid
```
end
close #tb
deallocate #tb
go
--用法
```sql
exec p_killspid 'safeMonitorMgr'
go
```
DBCC SHRINKDATABASE (safeMonitorMgr)
go
```sql
drop proc p_killspid
```