PowerShell kullanarak SQL Server Veritabanı Başlangıç Boyutunu ve Otomatik Büyüme Ayarlarını Değiştirme


Gereksinim: Yeni bir grup dağıtımından sonra, tüm SharePoint içerik veritabanlarının boyutunu ve büyümesini artırmak zorunda kaldım. İlk kurulumda 20'den fazla veritabanı vardı.

SharePoint için SQL Server en iyi uygulamaları uyarınca, daha iyi performans için SharePoint içerik veritabanlarının başlangıç boyutunu ve büyüme özelliklerini ayarlamamız gerekir; bunlar, her içerik veritabanındaki veritabanı özelliklerinden yapılandırılabilir.

SharePoint Veritabanı Başlangıç Boyutunu ve Otomatik Büyüme Ayarlarını Ayarlamak için PowerShell:

Birçok içerik veritabanına sahip veritabanı özelliklerini yapılandırmak için PowerShell'i kullanabiliriz.


Add-PSSnapin Microsoft.SharePoint.PowerShell -ErrorAction SilentlyContinue

#Import SQL PowerShell module
Import-Module SQLPS -DisableNameChecking

#Get All SharePoint Content Databases
$ContentDatabases = Get-SPContentDatabase 

#Loop through each content database
ForEach($Database in $ContentDatabases)
{
    #Get the SharePoint content database in SQL Server
    $SQLDatabase = Get-SqlDatabase -Name $Database.Name -ServerInstance $Database.Server

    #Set Size and Autogrowth Settings for Data Files of the Database
    $FileGroups = $SQLDatabase.FileGroups
    ForEach($FileGroup in $FileGroups)
    {
        ForEach ($File in $FileGroup.Files)
        {
            $File.GrowthType = "KB"
            $File.Growth = "512000" #500MB
            $File.MaxSize = "-1" #Unlimited
            $File.Size = "5242880" #5GB
            $File.Alter()
        }
    }

    #Set Size and Autogrowth Settings for Log Files
    Foreach($LogFile in $SQLDatabase.LogFiles)
    {
        $LogFile.GrowthType = [Microsoft.SqlServer.Management.Smo.FileGrowthType]::KB
        $LogFile.Growth = "102400"  #100MB
        $LogFile.Size = "2097152" #2GB
        $LogFile.MaxSize = "-1" #Unlimited
        $LogFile.Alter()
    }
}

Boyut değerini artırmadan önce sunucuda yeterli disk alanının bulunduğundan emin olun. Ayrıca Başlangıç boyutu değeri, veritabanı dosyasının geçerli boyutundan daha yüksek olmalıdır. Aksi takdirde, "0" bağımsız değişken(ler)iyle "Alter" çağrısı istisnası: "VeriDosyası/GünlükDosyası için değişiklik başarısız oldu" hatasıyla karşılaşabilirsiniz.

İlgili makaleler