27,579
社区成员
发帖
与我相关
我的任务
分享
DECLARE @name VARCHAR(25)--数据库名
DECLARE @SQL VARCHAR(1000)
DECLARE @logid INT
DECLARE database_name CURSOR
FOR SELECT name FROM master.dbo.sysdatabases where dbid >6
OPEN database_name
FETCH NEXT FROM database_name INTO @name
WHILE @@FETCH_STATUS = 0
BEGIN
BEGIN
SET @SQL ='DECLARE @logid INT
USE ' + @name+'
SELECT @logid = fileid FROM sysfiles WHERE RIGHT(rtrim(filename),3) = ''ldf''
BACKUP LOG ' + @name+' WITH NO_LOG
DUMP TRANSACTION ' + @name+' WITH NO_LOG
DBCC SHRINKFILE (@logid) '
EXEC(@SQL)
END
FETCH NEXT FROM database_name INTO @name
END
CLOSE database_name
DEALLOCATE database_name
use master
go
dump TRANSACTION master WITH NO_LOG
GO
BACKUP LOG master WITH NO_LOG
go
DECLARE @name VARCHAR(25)--数据库名
DECLARE @SQL VARCHAR(1000)
DECLARE @logid INT
DECLARE database_name CURSOR
FOR SELECT name FROM master.dbo.sysdatabases where dbid >6
OPEN database_name
FETCH NEXT FROM database_name INTO @name
WHILE @@FETCH_STATUS = 0
BEGIN
BEGIN
SET @SQL ='DECLARE @logid INT
USE ' + @name+'
SELECT @logid = fileid FROM sysfiles WHERE RIGHT(rtrim(filename),3) = ''ldf''
--BACKUP LOG ' + @name+' WITH NO_LOG
--DUMP TRANSACTION ' + @name+' WITH NO_LOG
DBCC SHRINKFILE (@logid) '
EXEC(@SQL)
END
FETCH NEXT FROM database_name INTO @name
END
CLOSE database_name
DEALLOCATE database_name