2017-10-14 284 views
0

我知道,基本上是在創建一個數據庫,模型系統數據庫是基於下面的照片複製這樣:錯誤的尺寸,MAXSIZE和FILEGROWTH?

enter image description here enter image description here

  1. 爲什麼初始大小爲3MB面向主文件和1MB的日誌如果文檔明確指出2016年以後的版本應該是8MB,而任何更低版本的應該是1MB(我在2014年使用的這個分類中)

  2. 我知道日誌文件最多可以增長到2TB但爲什麼 Model數據庫表示無限制,STACK數據庫表示限制爲2TB?

  3. 假設實際的默認大小確實是3MB和1MB,爲什麼在磁盤上,我看到2240 KB和560 KB?

+0

1.我想看到你引用的文件,因爲這些數字是非常特殊的情況下,即你改變他們爲您的特定數據庫。 2. 2TB =日誌文件無限制(https://docs.microsoft.com/en-us/sql/sql-server/maximum-capacity-specifications-for-sql-server)。 3 Windows和SQL Server計算大小不同:https://dba.stackexchange.com/questions/142076/querying-true-physical-database-file-sizes – Alex

回答

0
  1. 雖然documentation for 2016 and later versions都在說,初始大小爲8MB,我無法找到在200520082008 R220122014版本1MB的初始大小引用。我手邊沒有2014版本,但在2008 R2中,模型的初始尺寸也是3MB,因此它似乎是默認初始值(可能您將初始尺寸與默認自動增長值1MB混淆)。

  2. 在這一點上,文檔似乎不是100%準確的,因爲在2016年之前的所有版本中,當實際值爲1MB時,他們將主數據文件的默認自動增長列爲10%。此外,對於模型日誌文件,最大大小爲「無限制/無限制」(如果您的日誌行中的size列的值爲select * from model..sysfiles,則爲-1),但創建新數據庫時,日誌文件的最大大小實際上爲2TB,我認爲這是通過2014 documentation的這一段來解釋的:

    如果修改模型數據庫,以後創建的所有數據庫都將繼承這些更改。例如,您可以設置權限或數據庫選項,或添加諸如表,函數或存儲過程之類的對象。 模型數據庫的文件屬性是一個例外,並且除數據文件的初始大小之外都被忽略。

    所以我認爲文檔只是合併了兩個事實,這意味着新數據庫的日誌文件的最大值是2TB。

  3. 因爲該SSMS列沒有顯示十進制值,所以實際值必須四捨五入爲整數。而不是使用ROUND()可能他們使用CEILING()只是爲了安全起見(至少對於低值,如果不是大小例如490KB將被報告爲0MB)。