从脚本中获取sql日志文件名

Ero*_*ocM 1 sql t-sql sql-server-2008

我们有一些测试数据库,我们正在抛出测试索引,由于我们删除了表的内容并重新填充它,日志文件很快就变得臃肿.

我发现,感谢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
Run Code Online (Sandbox Code Playgroud)

问题是日志文件名.有没有办法获取日志文件名而无需手动查找并将其包含在脚本中以自动执行此部件?

顺便说一下,我们从不打算恢复这个数据库.这些是临时索引.

谢谢!

Dis*_*kov 7

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
Run Code Online (Sandbox Code Playgroud)