2017-10-12 47 views
1

如果任何人都可以建議正確的查詢來增加數據/日誌文件大小,如果可用空間從當前大小的20%?增加大小的數據/日誌文件SQL與作業時間表

如果可用空間低於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 

回答

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);