Dan*_*anM 20 sql-server transaction-log
我正在尝试编写一个T-SQL例程,根据数据库的逻辑名称使用DBCC SHRINKFILE缩小事务日志文件.该DB_NAME()函数为您提供数据库的逻辑名称.事务日志是否有等价的?如果没有,是否有其他方式来获取此信息?事务日志的默认名称是<<Database Name>>_log,但我宁愿不依赖于此.
Jon*_*ias 38
您可以使用:
SELECT name
FROM sys.master_files
WHERE database_id = db_id()
AND type = 1
Run Code Online (Sandbox Code Playgroud)
对于任何database_id,日志文件的type = 1,并且可以在sys.master_files中找到所有数据库的所有文件.
编辑:
我应该指出,你不应该在日常工作中缩小你的日志.您的事务日志应该适当调整大小,以防止它不得不增长,然后保持该大小.事务日志不能是即时文件初始化,并且在添加空间时必须将其清零,这是一种降低性能的慢速顺序操作.
select Name
from sys.database_files
Run Code Online (Sandbox Code Playgroud)
产生,
SomeDb_Data
SomeDb_Log
Run Code Online (Sandbox Code Playgroud)
SqlServer 2012
| 归档时间: |
|
| 查看次数: |
44083 次 |
| 最近记录: |