Jag fick i veckan ett par länkar av en kollega som handlar om att ta backup på MS SQL Express edition som inte innehåller sql-agent. Smidigt att ha till hands för att ta backup av Persistent Chat m.m i lync om det snurrar på en expressvariant av SQL.
Jag har tre SQL-intanser för Lync.
LyncLocal
RTC
RTCLocal
Har valt att schemalägga ett jobb för varje instans.
Nedan finner ni scriptet för instansen RTC. Ni har tre variabler ni kan redigera efter eget önskemål. Sen skapar ni bara ett schedule task som körs på önskade tider.
# Originalscript av Thomas LaRock, http://thomaslarock.com # Modiferat av Qraze, https://www.qraze.se # Kör ett script / instans i Lync. RTC, LyncLocal och RTCLocal # Skapat: 2013-11-15 # Instans som ska backas. $inst = "RTC" # Server som instansen är installerad på. OBS! Krävs även om backup görs lokalt på samma maskin. $server = "Lync01" # Sökväg till backupfilerna $dest = "E:\backup\files\" $v = [System.Reflection.Assembly]::LoadWithPartialName( 'Microsoft.SqlServer.SMO') if ((($v.FullName.Split(','))[1].Split('='))[1].Split('.')[0] -ne '9') { [System.Reflection.Assembly]::LoadWithPartialName('Microsoft.SqlServer.SMOExtended') | out-null [System.Reflection.Assembly]::LoadWithPartialName('Microsoft.SqlServer.SQLWMIManagement') | out-null } Function Error_Handler { Write-Host "Error Category: " + $error[0].CategoryInfo.Category Write-Host " Error Object: " + $error[0].TargetObject Write-Host " Error Message: " + $error[0].Exception.Message Write-Host " Error Message: " + $error[0].FullyQualifiedErrorId } Trap { # Handle the error Error_Handler; # End the script. break } $srv = new-object ('Microsoft.SqlServer.Management.Smo.Server') $inst If ($dest -eq "") { $dest = $inst.Settings.BackupDirectory + "\" }; Write-Output ("Started at: " + (Get-Date -format yyyy-MM-dd-HH:mm:ss)); cd SQLSERVER:\SQL\$server\$inst\Databases #start full backups foreach($database in (Get-ChildItem -Force)) { $dbName = $database.Name if ($dbName -ne "tempdb") { $timestamp = Get-Date -Format MMddyy $bakFile = $dest + $dbName + "_full_" + $timestamp + ".bak" Backup-SqlDatabase -Database $dbName -Initialize -BackupFile $bakFile } } Write-Output ("Finished at: " + (Get-Date -format yyyy-MM-dd-HH:mm:ss));
Källa: http://thomaslarock.com/2012/07/automate-sql-server-express-backups-with-powershell/