使用作业计划增加大小数据/日志文件SQL

时间:2017-10-12 03:36:42

标签: sql sql-server tsql

如果有人可以建议正确的查询来增加数据/日志文件大小,如果可用空间比当前大小增加20%,那么会不会感激?

如果可用空间低于20%,需要一些能够从当前大小的数据/日志中添加30%的SQL查询。

我有这个查询来识别当前的大小

SELECT a.NAME, 
       a.FILENAME, 
       [FILE_SIZE(MB)] = convert(decimal(12,2), 
       round(a.size/128.000,2)),  
       [SPACE_USED(MB)] = convert(decimal(12,2), round(fileproperty(a.name,'SpaceUsed')/128.000,2)),  
       [FREE_SPACE(MB)] = convert(decimal(12,2), 
       round((a.size-fileproperty(a.name,'SpaceUsed'))/128.000,2)) ,  
       [FREE_SPACE(%)] = convert(decimal(12,2), 
       (convert(decimal(12,2),round((a.size-fileproperty(a.name,'SpaceUsed'))/128.000,2)) / convert(decimal(12,2),round(a.size/128.000,2)) * 100)) 
FROM dbo.sysfiles a

1 个答案:

答案 0 :(得分:0)

您可以使用内置自动增长选项轻松添加当前大小的30%

enter image description here

enter image description here

为什么需要执行SQL Server工作并增加高级版本?让发动机完成这项工作。

如果您担心此类任务很慢,您可以查看Instant File Initialization

无论如何,如果您仍然希望自己这样做,拥有当前大小,意味着您可以计算新的大小。你可以使用:

ALTER DATABASE [mydatabase] MODIFY FILE ( NAME = N'mydatabase', SIZE = ...KB );
ALTER DATABASE [mydatabase] MODIFY FILE ( NAME = N'mydatabase_log', SIZE = ...KB );
相关问题