MSSQL Database Backup auf Synology DS

SQL Datenbank Sicherung auf Synology

NAS als Backup Medium werden immer beliebter, flexible Anwendung und die Integration über iSCSI und Netzwerk Shares sind Vorzüge die teure LTO Tapes (Linear Tape Open) nicht bieten können, letztlich kommen Magnetbänder nur noch für die Langzeitarchivierung zum Einsatz. Nicht zuletzt ist die Wiederherstellung mit Backups von NAS Speicher rasch und einfach vollziehbar.

MS-SQL Server Logo

In diesem Beispiel wird beschrieben wie eine MS SQL Datenbank auf die Freigabe eines Synology NAS gesichert wird.

Die Freigabe muss für ein AD DS Benutzer mit dem Privileg schreiben eingerichtet sein, damit die automatische Sicherung des Maintenance Plan aus dem SQL Management Studio die Datenbank auf der NAS Freigabe direkt erstellen kann.

SQL Server Management Studio
SQL Server Management Studio

Zunächst werden die zu selektierenden Datenbanken auf Integrität geprüft.

Check Database Integrity Task
Check Database Integrity Task

Die ausgewählten Datenbanken werden auf den UNC Pfad \\10.10.10.10\data\SQLBackup geschrieben. Die IP ist hier die des NAS, data die Freigabe welche im DSM unter Gemeinsame Ordner erstellt wurde, SQLBackup das Verzeichnis in dieses unser Backup kommt. Im Feld Backup file extension muss bak stehen, bei *.bak oder .bak wird kein Backup Image angelegt.

Backup Database Task
Backup Database Task

Nun wird der Verlauf mit den Logs auf 5 Tage begrenzt.

History Cleanup Task
History Cleanup Task

Zuletzt werden ebenfalls die angelegten Backup Images auf 5 Tage begrenzt, ansonsten der NAS Speicher irgendwann volllaufen würde.

Maintenance Cleanup Task
Maintenance Cleanup Task

Die Anzahl Backup Images kann nach bedarf und verfügbarer Kapazität des NAS ausgelegt werden.

Die gewünschte Backup Rotation definieren wir, damit der Job zu den gewünschten Zeiten ausgeführt wird.

Job Schedule Properties
Job Schedule Properties

Hinweis
Es empfiehlt sich hinsichtlich günstiger Festplatten das NAS mit RAID1 anzulegen. Ebenfalls können über den USB Port am NAS weitere Sicherungen angelegt werden, diese mittels Externer USB Festplatten an weiter beliebigen Orte deponiert werden können, über die Synology Zusatz App Time Backup lassen sich zeitgesteuerte Kopien auf Externen Festplatten anlegen.

Benutzer SID abfragen VBScript

Benutzer SID, Security Identifier abfragen mit VBScript GetSID.vbs. Die SID ist ein eindeutiger Sicherheits-Identifikator, den Microsoft Windows automatisch vergibt, um jedes System, jeden Benutzer und jede Gruppe dauerhaft zu identifizieren.

Benutzer SID abfragen mit GetSID.vbs, und in Notepad ausgeben.

'Description: Zeigt alle Benutzerkonten und SID
'Prerequisite: Windows

Set WshShell = CreateObject("Wscript.Shell")
Set fso = Wscript.CreateObject("Scripting.FilesystemObject")
fName = WshShell.SpecialFolders("Desktop") & "\GetSID.txt"
Set b = fso.CreateTextFile(fName, true)
b.writeblanklines 1
b.writeline string(61,"*")
b.writeline "Benutzerkonten mit SIDs und Profile-Pfade."
b.WriteLine "GetSID.vbs - 2010 by Don Metteo"
b.WriteLine "https://think.unblog.ch"
b.writeline string(61,"*")
b.writeblanklines 1

strProfileBranch = "HKLM\SOFTWARE\Microsoft\Windows NT\CurrentVersion\ProfileList\"
strComputer = "."
Set objWMIService = GetObject("winmgmts:\\" & strComputer & "\root\cimv2")
Set colAccounts = objWMIService.ExecQuery _
 ("Select * From Win32_UserAccount")

For Each objAccount in colAccounts
 If objAccount.Name = "HelpAssistant" or objAccount.Name = "SUPPORT_388945a0" then
 else
 b.writeline "Username : " & objAccount.Name
 b.writeline "SID : " & objAccount.SID
 b.writeline "Profile Path : " & GetHomePath(objAccount.SID)
 b.writeblanklines 1
 end if
Next

Function GetHomePath(strSID)
 On Error Resume Next
 GetHomePath = WshShell.ExpandEnvironmentStrings(Trim(WshShell.RegRead (strProfileBranch & strSID & "\ProfileImagePath")))
 On Error Goto 0
End Function

b.writeline string(61,"*")
b.close
WshShell.Run "notepad.exe " & fName

Set fso = Nothing
set Wshshell = Nothing

Nach dem Ausführen des VBScriptes wird die Abfrage der Benutzer SID im Notepad geöffnet.

Benutzer SID abfragen VBScript

Anmerkung

An die SID sind die in Access Control Lists festgelegten Zugriffsrechte gebunden. Wenn die Namen von Systemen, Benutzern oder Gruppen geändert werden, bleiben deren SID unverändert. Deshalb bleiben ihnen alle Zugriffsrechte erhalten. SID ermöglichen also, die Namensgebung problemlos zu ändern.

SID des Betriebssystems

Während der Installation des Betriebssystems erhält das System selbst seinen SID durch einen Zufallszahlengenerator. Dies ist erforderlich, damit eine eindeutige Kennzeichnung im Netzwerk gewährleistet ist. Anschließend werden sogenannte well-known SID vergeben, die auf jedem System gleich sind. Zum Beispiel für die Gruppe Administratoren.

SID des Benutzers

Der SID eines Benutzers wird automatisch erstellt, wenn dieser angelegt wird. Der SID eines lokal angelegten Benutzers basiert auf dem SID des Systems. Eine SID in einer Domäne angelegten Benutzers ändert sich, wenn er von einer Domäne in eine andere verschoben wird, da im SID auch die Domäne des Benutzers hinterlegt wird. Die Benutzer SID kann man abfragen mit dem VBScript GetSID.vbs, die Benutzer SID wird in notepad.exe ausgeben.