使用PowerShell设置数据库的初始增长大小

时间:2014-04-01 12:04:40

标签: sql-server powershell sql-server-2012 powershell-v4.0

我目前正在使用PowerShell创建一个数据库,如下所示:

$db = New-Object Microsoft.SqlServer.Management.Smo.Database($server, $database)
$db.Collation = "...";
...

$db.Create()

现在我的问题是:如何设置数据和日志文件的初始大小及其各自的增长大小?

到目前为止,我尝试了以下内容:

foreach ($fg in $db.FileGroups) {
  foreach($f in $fg) {
      $f.Size = $initialDataFileSizeInKB
      $f.Growth = $dataFileGrowthInKB
      $f.GrowthType = [Microsoft.SqlServer.Management.Smo.FileGrowthType]::KB
    }
  }
}

foreach($lf in $db.LogFiles) {
    $lf.Size = $initialLogFileSizeInKB
    $lf.Growth = $logFileGrowthInKB
    $lf.GrowthType = [Microsoft.SqlServer.Management.Smo.FileGrowthType]::KB
}

然而,这不起作用 - 问题似乎是还没有文件或日志文件。如何设置默认值?

1 个答案:

答案 0 :(得分:0)

对于Growth和GrowthType,修改单个文件。

foreach ($fg in $db.FileGroups) {
   foreach ($f in $fg.Files) {
      $f.Growth = $dataFileGrowthInKB
      $f.GrowthType = 'KB'
      $f.Alter()
   }
}
我不确定修改初始大小。您是否尝试将其设置为数据库创建的一部分?