我们有一些测试数据库,我们将测试索引放入其中,由于我们删除表的内容并重新填充它,日志文件很快就会变得臃肿。
多亏了 Stack Overflow,我找到了一些脚本并将它们放在一起来做我需要的。
这是脚本:
USE SSSIndexes
GO
ALTER DATABASE SSSIndexes SET RECOVERY SIMPLE WITH NO_WAIT
GO
DBCC SHRINKFILE(N'SSSIndexes_Log', 1) <-- my issue is here
GO
问题是日志文件名。有没有办法获取日志文件名而无需手动查找并将其包含在脚本中自动执行此部分的位置?
顺便说一句,我们从来没有打算恢复这个数据库。这些是临时索引。
谢谢!
最佳答案
USE SSSIndexes
GO
ALTER DATABASE SSSIndexes SET RECOVERY SIMPLE WITH NO_WAIT
GO
DECLARE @Name NVARCHAR(50)
DECLARE cur CURSOR FOR
SELECT [name]
FROM [sys].[database_files]
where [type] = 1
OPEN cur
FETCH NEXT FROM cur INTO @Name
WHILE @@FETCH_STATUS = 0
BEGIN
DBCC SHRINKFILE(@Name, 1)
FETCH NEXT FROM cur INTO @Name
END
CLOSE cur
DEALLOCATE cur
关于sql - 从脚本中获取 sql 日志文件名,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/15207988/