📄 sqlserver_logfile.sql
字号:
--数据库日志满处理步骤(业务库)
--原因:通常是由于通信执行错误导致日志增长。
--步骤:1. 关闭通信和系统。
--2. 将recive文件夹里的文件备份起来然后删除原文件。
--3. 收缩日志文件,按如下步骤逐步执行。
--3.1.终止数据库用户进程
use master
declare @dbname varchar(200)
declare @sql nvarchar(500)
declare @spid nvarchar(20)
set @dbname='dbname' --要断开连接的库名
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)
fetch next from #tb into @spid
end
close #tb
deallocate #tb
--3.2.分离数据库
sp_detach_db N'dbname', N'true'
--3.3.附加数据库
sp_attach_db N'dbname' , N'D:\data\dbname.mdf', N'D:\data\dbname.ldf'
dbname..sp_changedbowner 'sa', false --所有者改为sa,false表示除去旧数据库所有者的现有别名。
--3.4.收缩日志文件
use dbname
DBCC SHRINKFILE (N'dbname_log',TRUNCATEONLY) --TRUNCATEONLY将文件收缩到上一次分配的大小
----select * from sysfiles --查看文件名
⌨️ 快捷键说明
复制代码
Ctrl + C
搜索代码
Ctrl + F
全屏模式
F11
切换主题
Ctrl + Shift + D
显示快捷键
?
增大字号
Ctrl + =
减小字号
Ctrl + -