{"id":55001449,"date":"2023-08-01T00:00:00","date_gmt":"2023-07-31T14:23:42","guid":{"rendered":"http:\/\/access-im-unternehmen.aix-dev.de\/aiu\/?p=1449"},"modified":"-0001-11-30T00:00:00","modified_gmt":"-0001-11-30T00:00:00","slug":"SQL_Server_Vollsicherung_und_Wiederherstellung","status":"publish","type":"post","link":"https:\/\/access-im-unternehmen.de\/SQL_Server_Vollsicherung_und_Wiederherstellung\/","title":{"rendered":"SQL Server: Vollsicherung und Wiederherstellung"},"content":{"rendered":"<p><b>Bernd Jungluth, Horn und Andr&eacute; Minhorst, Duisburg<\/b><\/p>\n<p><b>Wer eine Access-Datenbank zum Speichern seiner Daten verwendet, hat bei der Sicherung leichtes Spiel: Er braucht einfach nur eine Kopie dieser Datenbank anzulegen. Bei SQL Server-Datenbanken ist dies etwas komplizierter. Wir k&ouml;nnen hier beispielsweise nicht einfach die Datenbankdateien kopieren, da der SQL Server normalerweise st&auml;ndig darauf zugreift. Welche Schritte zum Anlegen des Backups einer SQL Server-Datenbank n&ouml;tig sind, zeigen wir in diesem Beitrag. Au&szlig;erdem schauen wir uns an, wie wir die Datenbank auf Basis der Sicherung wiederherstellen k&ouml;nnen.<\/b><\/p>\n<h2>Backup &uuml;ber das SQL Server Management Studio<\/h2>\n<p>Zum Erstellen eines Backups einer SQL Server-Datenbank ist das SQL Server Management Studio die erste Adresse. Hier finden wir &uuml;ber die Benutzeroberfl&auml;che alle notwendigen Elemente.<\/p>\n<h2>Vollsicherung &uuml;ber Nacht<\/h2>\n<p>Ziel dieses Beitrags ist es, den SQL Server so zu programmieren, dass er jede Nacht eine Vollsicherung einer Datenbank herstellt. Damit stellen wir sicher, dass die Daten bis zur vorherigen Nacht im Falle eines Datenverlustes wiederherstellbar sind. Es gibt noch andere Sicherungsmodelle, mit denen wir in kleineren Zeitabst&auml;nden Sicherungen durchf&uuml;hren, die gegebenenfalls auch nicht als Vollsicherung, sondern als differenzielle Sicherung erledigt werden. Das ist jedoch nicht Ziel dieses Beitrags.<\/p>\n<h2>Recovery Model einstellen<\/h2>\n<p>Wir gehen also davon aus, dass wir mit dem Verlust der Daten des vorherigen Tages leben k&ouml;nnen. In diesem Kontext stellen wir das Recovery Model f&uuml;r die Datenbank auf einen Wert ein, mit dem die Gr&ouml;&szlig;e der Datei zum Speichern der Transaktionen klein gehalten wird &#8211; damit ist die <b>.ldf<\/b>-Datei der Datenbank im Gegensatz zur <b>.mdf<\/b>-Datei gemeint.<\/p>\n<p>Das Protokollieren von Transaktionen sorgt daf&uuml;r, dass Transaktionen r&uuml;ckg&auml;ngig gemacht werden k&ouml;nnen, solange diese noch nicht abgeschlossen sind. Bei der Einstellung des <b>Recovery Models <\/b>auf <b>Simple <\/b>werden die Transaktionsprotokolle f&uuml;r erledigte Transaktionen gel&ouml;scht. Das ist f&uuml;r unser Ziel, eine Wiederherstellung der Daten bis zur vorherigen Nacht  zu gew&auml;hrleisten, die optimale Einstellung, da so keine unn&ouml;tigen Daten im Backup gesichert werden.<\/p>\n<p>Diese Einstellung nehmen wir in den Optionen der Datenbank vor. Dazu w&auml;hlen wir aus dem Kontextmen&uuml; des jeweilige Datenbankeintrags den Befehl <b>Properties <\/b>aus und wechslen dort zur Seite <b>Options<\/b>. Hier finden wir die Option <b>Recovery model<\/b>, die wir auf <b>Simple <\/b>einstellen (siehe Bild 1).<\/p>\n<p class=\"image\"><img decoding=\"async\" src=\"..\/fileadmin\/_temp_\/2023_04\/pic_1449_003.png\" alt=\"Einstellen des gew&uuml;nschten Recovery models\" width=\"649,559\" height=\"245,976\"\/><\/p>\n<p><b><span style=\"color:darkgrey;\">Bild 1: Einstellen des gew&uuml;nschten Recovery models<\/span><\/b><\/p>\n<h2>Backup anlegen<\/h2>\n<p>Wenn wir ein Backup von einer bestimmten Datenbank machen wollen, &ouml;ffnen wir den Objekt-Explorer und navigieren zu der entsprechenden Datenbank.<\/p>\n<p>Anschlie&szlig;end klicken wir mit der rechten Maustaste auf den Datenbanknamen, hier <b>Experimente<\/b>, und w&auml;hlen den Eintrag <b>Tasks|Back Up&#8230; <\/b>aus (siehe Bild 2).<\/p>\n<p class=\"image\"><img decoding=\"async\" src=\"..\/fileadmin\/_temp_\/2023_04\/pic_1449_001.png\" alt=\"Aufrufen des Back Up-Dialogs\" width=\"649,559\" height=\"651,5545\" \/><\/p>\n<p><b><span style=\"color:darkgrey;\">Bild 2: Aufrufen des Back Up-Dialogs<\/span><\/b><\/p>\n<p>Damit &ouml;ffnen wir den Dialog <b>Back Up Database &#8211; [Datenbankname]<\/b> (siehe Bild 3). Ein Klick auf die Schaltfl&auml;che <b>OK <\/b>in diesem Dialog f&uuml;hrt &uuml;brigens immer zur Ausf&uuml;hrung des Backups. Wenn Sie also aktuell kein Backup erstellen m&ouml;chten, sondern wie nachfolgend gezeigt nur das T-SQL-Skript f&uuml;r ein solches zusammenstellen wollen, verlassen Sie den Dialog am einfachsten mit der <b>Cancel<\/b>-Schaltlf&auml;che.<\/p>\n<p class=\"image\"><img decoding=\"async\" src=\"..\/fileadmin\/_temp_\/2023_04\/pic_1449_002.png\" alt=\"Der Back Up-Dialog\" width=\"649,559\" height=\"428,9893\" \/><\/p>\n<p><b><span style=\"color:darkgrey;\">Bild 3: Der Back Up-Dialog<\/span><\/b><\/p>\n<p>Dieser zeigt im Bereich <b>General <\/b>an, welche Datenbank gesichert werden soll, hier <b>Experimente<\/b>. Wir wollen ein volles Backup erstellen (<b>Backup type <\/b>erh&auml;lt den Wert <b>Full<\/b>). Und wir wollen das Backup auf der Festplatte anlegen, also behalten wir unter <b>Destination <\/b>den Wert <b>Disk <\/b>f&uuml;r <b>Back up to <\/b>bei (siehe Bild 4).<\/p>\n<p class=\"image\"><img decoding=\"async\" src=\"..\/fileadmin\/_temp_\/2023_04\/pic_1449_004.png\" alt=\"Ziel des Backups eingeben\" width=\"424,5589\" height=\"258,6847\" \/><\/p>\n<p><b><span style=\"color:darkgrey;\">Bild 4: Ziel des Backups eingeben<\/span><\/b><\/p>\n<p>Darunter klicken wir auf die Schaltfl&auml;che <b>Add<\/b>, um den Speicherort f&uuml;r das Backup zu definieren. Es erscheint ein Dialog namens <b>Select Backup Destination<\/b> (siehe Bild 5). Hier w&auml;hlen wir die Option <b>File name <\/b>aus und klicken auf die Schaltfl&auml;che rechts mit den drei Punkten.<\/p>\n<p class=\"image\"><img decoding=\"async\" src=\"..\/fileadmin\/_temp_\/2023_04\/pic_1449_005.png\" alt=\"Ausw&auml;hlen des Verzeichnisses und des Dateinamens f&uuml;r das Backup\" width=\"424,5589\" height=\"614,148\" \/><\/p>\n<p><b><span style=\"color:darkgrey;\">Bild 5: Ausw&auml;hlen des Verzeichnisses und des Dateinamens f&uuml;r das Backup<\/span><\/b><\/p>\n<p>Es erscheint ein weiterer Dialog, mit dem wir das Zielverzeichnis ausw&auml;hlen und den Dateinamen eingeben k&ouml;nnen.<\/p>\n<p>Als Zielverzeichnis wird standardm&auml;&szlig;ig der folgende Ordner verwendet:<\/p>\n<pre>C:\\Program Files\\Microsoft SQL Server\\MSSQL15.MSSQLSERVER\\MSSQL\\Backup\\<\/pre>\n<h2>Backup regelm&auml;&szlig;ig ausf&uuml;hren per SQL Server Agent<\/h2>\n<p>Damit haben wir den Speicherort f&uuml;r das Backup definiert und k&ouml;nnen uns darum k&uuml;mmern, dass dieses regelm&auml;&szlig;ig ausgef&uuml;hrt wird. Dazu schlie&szlig;en wir die ge&ouml;ffneten Dialoge wieder und schauen uns an, ob der SQL Server Agent bereits l&auml;uft. Ist das nicht der Fall, sehen wir ein Icon wie in Bild 6 und starten diesen &uuml;ber den Kontextmen&uuml;-Eintrag <b>Start<\/b>. Die anschlie&szlig;ende Meldung mit einer R&uuml;ckfrage, ob der Dienst wirklich gestartet werden soll, beantworten wir mit <b>Yes<\/b>. Wenige Augenblicke sp&auml;ter erscheint das Icon des Eintrags <b>SQL Server Agent <\/b>mit einem gr&uuml;nen Symbol, was den gestarteten Zustand zeigt.<\/p>\n<p class=\"image\"><img decoding=\"async\" src=\"..\/fileadmin\/_temp_\/2023_04\/pic_1449_006.png\" alt=\"Starten des SQL Server Agents\" width=\"424,5589\" height=\"414,1017\" \/><\/p>\n<p>[<\/p>\n<p><b><span style=\"color:darkgrey;\">Bild 6: Starten des SQL Server Agents<\/span><\/b><\/p>\n<h2>Job erstellen<\/h2>\n<p>Danach &ouml;ffnen wir erneut &uuml;ber den Kontextmen&uuml;-Eintrag <b>Tasks|Backup <\/b>den Dialog zum Einstellen der Backup-Einstellungen und wechslen zur Seite <b>Media Options<\/b>. Hier stellen wir nun ein, wir mit den vorherigen Backups umgegangen werden soll. Wir m&ouml;chten einfach nur das vorherige Backup mit dem neuen Backup &uuml;berschreiben und stellen dazu die Option <b>Overwrite media <\/b>auf <b>Overwrite all existing<\/b> backup sets ein (siehe Bild 7).<\/p>\n<p class=\"image\"><img decoding=\"async\" src=\"..\/fileadmin\/_temp_\/2023_04\/pic_1449_007.png\" alt=\"&Uuml;berschreiben des Backups aktivieren\" width=\"549,559\" height=\"240,0372\" \/><\/p>\n<p><b><span style=\"color:darkgrey;\">Bild 7: &Uuml;berschreiben des Backups aktivieren<\/span><\/b><\/p>\n<h2>Job mit Backup-Skript erstellen<\/h2>\n<p>Wir bleiben in diesem Dialog und klicken oben auf den nach unten zeigenden Pfeil neben der Schaltfl&auml;che Script. Aus dem Men&uuml; w&auml;hlen wir nun den Befehl Script Action to Job aus (siehe Bild 8).<\/p>\n<p class=\"image\"><img decoding=\"async\" src=\"..\/fileadmin\/_temp_\/2023_04\/pic_1449_008.png\" alt=\"Skript in Job schreiben\" width=\"549,559\" height=\"216,1077\" \/><\/p>\n<p><b><span style=\"color:darkgrey;\">Bild 8: Skript in Job schreiben<\/span><\/b><\/p>\n<p>Es erscheint ein neues Dialog namens New Job (siehe Bild 9). In diesem k&ouml;nnen wir den Namen des Jobs anpassen. Wichtiger ist jedoch, den Owner zu &auml;ndern. Aktuell ist der derzeitige Windows-Benutzer eingetragen.<\/p>\n<p class=\"image\"><img decoding=\"async\" src=\"..\/fileadmin\/_temp_\/2023_04\/pic_1449_009.png\" alt=\"Anlegen eines neuen Jobs\" width=\"674,559\" height=\"483,2083\" \/><\/p>\n<p><b><span style=\"color:darkgrey;\">Bild 9: Anlegen eines neuen Jobs<\/span><\/b><\/p>\n<p>Ist dieser jedoch einmal nicht mehr vorhanden, gibt es Probleme, weil der Besitzer des Jobs nicht mehr da ist. Also stellen wir den Besitzer mit der Eigenschaft <b>Owner <\/b>auf den Benutzer <b>sa <\/b>ein. Dazu klicken wir auf die Schaltfl&auml;che neben der Eigenschaft <b>Owner<\/b>.<\/p>\n<p>Im nun erscheinenden Dialog <b>Select Login <\/b>klicken wir direkt auf <b>Browse <\/b>und &ouml;ffnen so einen weiteren Dialog namens <b>Browse for Objects<\/b>.<\/p>\n<p>Hier f&uuml;gen wir dem Eintrag <b>[sa] <\/b>einen Haken hinzu und schlie&szlig;en den Dialog mit einem Klick auf <b>OK<\/b> wieder (siehe Bild 10).<\/p>\n<p class=\"image\"><img decoding=\"async\" src=\"..\/fileadmin\/_temp_\/2023_04\/pic_1449_010.png\" alt=\"Ausw&auml;hlen des Benutzers sa\" width=\"424,5589\" height=\"262,9859\" \/><\/p>\n<p><b><span style=\"color:darkgrey;\">Bild 10: Ausw&auml;hlen des Benutzers sa<\/span><\/b><\/p>\n<p>Dieser wird dann im aufrufenden Dialog <b>Select Login <\/b>angezeigt (siehe Bild 11). Damit k&ouml;nnen wir auch diesen Dialog wieder schlie&szlig;en.<\/p>\n<p class=\"image\"><img decoding=\"async\" src=\"..\/fileadmin\/_temp_\/2023_04\/pic_1449_011.png\" alt=\"Pr&uuml;fen des neuen Benutzers\" width=\"424,5589\" height=\"249,1133\"\/><\/p>\n<p><b><span style=\"color:darkgrey;\">Bild 11: Pr&uuml;fen des neuen Benutzers<\/span><\/b><\/p>\n<p>Auch im Dialog <b>New Job <\/b>erscheint nun der Benutzer <b>sa <\/b>unter <b>Owner<\/b>. Nun schlie&szlig;en wir den Dialog mit einem Klick auf <b>OK<\/b>.<\/p>\n<h2>Job bearbeiten<\/h2>\n<p>Anschlie&szlig;end &ouml;ffnen wir im Objekt-Explorer des SQL Server Management Studios den Eintrag <b>SQL Server Agent|Jobs <\/b>und w&auml;hlen dort den Namen des soeben erstellten Jobs aus (siehe Bild 12).<\/p>\n<p class=\"image\"><img decoding=\"async\" src=\"..\/fileadmin\/_temp_\/2023_04\/pic_1449_012.png\" alt=\"Aufrufen des neuen Jobs\" width=\"424,5589\" height=\"353,6252\" \/><\/p>\n<p><b><span style=\"color:darkgrey;\">Bild 12: Aufrufen des neuen Jobs<\/span><\/b><\/p>\n<p>Ein Doppelklick auf diesen Eintrag &ouml;ffnet seine Eigenschaften. Hier wechseln wir zur Seite <b>Steps <\/b>und klicken dort auf die Schaltfl&auml;che <b>Edit<\/b> (siehe Bild 13).<\/p>\n<p class=\"image\"><img decoding=\"async\" src=\"..\/fileadmin\/_temp_\/2023_04\/pic_1449_013.png\" alt=\"Bearbeiten des neuen Jobs\" width=\"599,559\" height=\"386,535\" \/><\/p>\n<p><b><span style=\"color:darkgrey;\">Bild 13: Bearbeiten des neuen Jobs<\/span><\/b><\/p>\n<p>Damit &ouml;ffnet sich der Dialog aus Bild 14. Hier k&ouml;nnen wir nun den T-SQL-Befehl sehen, der beim Aufruf des Jobs ausgef&uuml;hrt wird und der alle Informationen enth&auml;lt, die wir f&uuml;r das Backup hinterlegt haben. Der vollst&auml;ndige Ausdruck lautet wie in Listing 1. Alle Optionen, die wir in den bisherigen Dialogen ausgew&auml;hlt haben oder auch nicht ausgew&auml;hlt haben, erscheinen in diesem Befehl. Theoretisch k&ouml;nnen wir die Anweisung zum Ausf&uuml;hren eines Backups also auch zusammenstellen, ohne die ganzen Dialoge zu durchlaufen.<\/p>\n<p class=\"image\"><img decoding=\"async\" src=\"..\/fileadmin\/_temp_\/2023_04\/pic_1449_014.png\" alt=\"Eigenschaften des ersten und einzigen Schritts des Jobs\" width=\"599,559\" height=\"421,4291\" \/><\/p>\n<p><b><span style=\"color:darkgrey;\">Bild 14: Eigenschaften des ersten und einzigen Schritts des Jobs<\/span><\/b><\/p>\n<h2>Zeitplan erstellen<\/h2>\n<p>Damit kommen wir zur n&auml;chsten Aufgabe. Bisher haben wir zwar ein Backup und einen dazugeh&ouml;rigen Job erstellt, aber wir haben noch keinen Zeitplan angelegt, wann dieser ausgel&ouml;st werden soll.<\/p>\n<p>Dazu schlie&szlig;en wir den Dialog <b>Job Step Properties &#8211; 1 <\/b>wieder und wechseln wir im Dialog <b>Job Properties <\/b>zur Seite <b>Schedules<\/b>. Dort klicken wir auf die Schaltfl&auml;che <b>New <\/b>und erhalten den Dialog <b>New Job Schedule<\/b> aus Bild 15. Diesem f&uuml;gen wir zuerst einen Namen f&uuml;r den Zeitplan zu.<\/p>\n<p class=\"image\"><img decoding=\"async\" src=\"..\/fileadmin\/_temp_\/2023_04\/pic_1449_015.png\" alt=\"Zeitplan f&uuml;r den Job\" width=\"599,559\" height=\"486,3491\" \/><\/p>\n<p><b><span style=\"color:darkgrey;\">Bild 15: Zeitplan f&uuml;r den Job<\/span><\/b><\/p>\n<p>Dann haben wir verschiedene M&ouml;glichkeiten, die Frequenz und den Zeitpunkt der Backups festzulegen. Wir wollen ein t&auml;gliches Backup und w&auml;hlen daher unter <b>Frequency <\/b>den Wert <b>Daily <\/b>aus, und zwar f&uuml;r jeden einzelnen Tag.<\/p>\n<p>Das Backup soll zu einer Zeit erfolgen, wo wir alle Arbeiten an der Datenbank f&uuml;r diesen Tag abgeschlossen haben, also w&auml;hlen wir beispielsweise 0:00 Uhr. Wichtig ist, dass der Rechner zu diesem Zeitpunkt auch l&auml;uft.<\/p>\n<p>Damit ist nach dem Schlie&szlig;en des Dialogs auch der Zeitplan fertiggestellt und aktiviert.<\/p>\n<h2>Job mit Zeitplan wiederverwerten<\/h2>\n<p>Einen solchen Job mit Zeitplan k&ouml;nnen wir nicht nur f&uuml;r den Start eines einzigen Backups nutzen, sondern Sie k&ouml;nnen auch gleich mehrere Aufrufe zum Erstellen eines Backups f&uuml;r diesen Job eintragen.<\/p>\n<h2>Zur&uuml;cksetzen der Datenbank mit dem letzten Backups<\/h2>\n<p>Wir beginnen mit einem leichteren Fall der Wiederherstellung. Dabei gehen wir davon aus, dass wir die Datenbank einfach wieder auf den Stand der letzten Sicherung bringen wollen &#8211; beispielsweise, weil wir seitdem &Auml;nderungen an der Datenbank vorgenommen haben und den alten Stand wiederherstellen wollen.<\/p>\n<p>Dazu &ouml;ffnen wir mit dem Kontextmen&uuml;-Eintrag <b>Tasks|Restore|Database&#8230;<\/b> den Dialog <b>Restore Database &#8211; [Datenbankname] <\/b>&ouml;ffnen. Hier finden wir im Bereich <b>Destination <\/b>unter <b>Database <\/b>die zuletzt angelegte Sicherung vor (siehe Bild 16).<\/p>\n<p class=\"image\"><img decoding=\"async\" src=\"..\/fileadmin\/_temp_\/2023_04\/pic_1449_016.png\" alt=\"Dialog zum Wiederherstellen einer Sicherung\" width=\"700\" height=\"404,2821\" \/><\/p>\n<p><b><span style=\"color:darkgrey;\">Bild 16: Dialog zum Wiederherstellen einer Sicherung<\/span><\/b><\/p>\n<p>Klicken wir nun auf <b>OK<\/b>, wird die Sicherung bereits wiederhergestellt. Die Erfolgsmeldung sieht wie in Bild 17 aus.<\/p>\n<p class=\"image\"><img decoding=\"async\" src=\"..\/fileadmin\/_temp_\/2023_04\/pic_1449_017.png\" alt=\"Erfolgsmeldung beim Wiederherstellen einer Datenbank\" width=\"700\" height=\"207,0534\" \/><\/p>\n<p><b><span style=\"color:darkgrey;\">Bild 17: Erfolgsmeldung beim Wiederherstellen einer Datenbank<\/span><\/b><\/p>\n<h2>Wiederherstellen nach einem Datenverlust<\/h2>\n<p>Um das t&auml;glich um 0:00 Uhr erstellte Backup im Fall eines Verlustes f&uuml;r eine Wiederherstellung zu nutzen, bedarf es ebenfalls nur weniger Schritte. Um dies ausprobieren zu k&ouml;nnen, wollen wir verhindern, dass die vorhandene Datenbank gel&ouml;scht wird &#8211; daher benennen wir diese zu Testzwecken um, zum Beispiel in <b>Experimente_1<\/b>. Danach k&ouml;nnen wir die Datenbank aus der Sicherung als neue Datenbank wiederherstellen.<\/p>\n<p>Dazu verwenden wir diesmal allerdings den Kontextmen&uuml;-Befehl <b>Restore Database&#8230; <\/b>des Elements <b>Databases <\/b>im Objekt-Explorer (siehe Bild 18).<\/p>\n<p class=\"image\"><img decoding=\"async\" src=\"..\/fileadmin\/_temp_\/2023_04\/pic_1449_018.png\" alt=\"Wiederherstellen einer nicht mehr vorhandenen Datenbank\" width=\"424,5589\" height=\"198,3669\" \/><\/p>\n<p><b><span style=\"color:darkgrey;\">Bild 18: Wiederherstellen einer nicht mehr vorhandenen Datenbank<\/span><\/b><\/p>\n<p>Dies &ouml;ffnet den Dialog <b>Restore Database <\/b>aus Bild 19. Hier w&auml;hlen wir unter <b>Source <\/b>statt <b>Database <\/b>die Option <b>Device <\/b>aus. Dann klicken wir auf die Schaltfl&auml;che mit den drei Punkten und &ouml;ffnen so den Dialog <b>Select backup devices<\/b>.<\/p>\n<p class=\"image\"><img decoding=\"async\" src=\"..\/fileadmin\/_temp_\/2023_04\/pic_1449_019.png\" alt=\"Ausw&auml;hlen der Sicherungsdatei\" width=\"649,559\" height=\"519,9975\"\/><\/p>\n<p><b><span style=\"color:darkgrey;\">Bild 19: Ausw&auml;hlen der Sicherungsdatei<\/span><\/b><\/p>\n<p>Hier klicken wir auf die <b>Add<\/b>-Schaltfl&auml;che und w&auml;hlen im folgenden Dialog die Backup-Datei aus, die wir zuvor erstellt haben. Nachdem wir die zuletzt ge&ouml;ffneten beiden Dialoge geschlossen haben, landen wir wieder im Dialog <b>Restore Database<\/b>, wo wir mit einem Klick auf <b>OK <\/b>das Wiederherstellen starten und das Ergebnis aus Bild 20 erhalten.<\/p>\n<p class=\"image\"><img decoding=\"async\" src=\"..\/fileadmin\/_temp_\/2023_04\/pic_1449_020.png\" alt=\"Das Wiederherstellen einer neuen Datenbank aus einem Backup war erfolgreich.\" width=\"649,559\" height=\"449,9738\" \/><\/p>\n<p><b><span style=\"color:darkgrey;\">Bild 20: Das Wiederherstellen einer neuen Datenbank aus einem Backup war erfolgreich.<\/span><\/b><\/p>\n<h2>Zusammenfassung und Ausblick<\/h2>\n<p>Dieser Artikel zeigt, wie wir eine SQL Server-Datenbank sichern und diese wiederherstellen. Dabei haben wir neben der eigentlichen Sicherung auch noch einen Zeitplan im SQL Server Agent erstellt, der automatisch zu bestimmten Zeiten ausgel&ouml;st wird und Sicherungen erstellt.<\/p>\n<p>Es gibt jedoch noch einige weitere Optionen f&uuml;r die Sicherung von Datenbanken. Eine wichtige Variante ist das Herstellen einer verschl&uuml;sselten Sicherung. Das Problem bei herk&ouml;mmlichen Sicherungen ist n&auml;mlich, dass diese durch das &Ouml;ffnen mit einem Texteditor mehr oder weniger im Klartext gelesen werden k&ouml;nnen.<\/p>\n<p>Also schauen wir uns in einem weiteren Beitrag an, wie wir verschl&uuml;sselte Backups von Datenbanken anlegen und diese wiederherstellen k&ouml;nnen. Hier ist ein wenig mehr Aufwand erforderlich, der &uuml;ber die Verwendung des SQL Server Management Studios hinausgeht. Wie das gelingt, zeigen wir im Beitrag <b>SQL Server: Verschl&uuml;sselte Backups erstellen <\/b>(<b>www.access-im-unternehmen.de\/1450<\/b>).<\/p>\n<p>Auch Alternativen wie eine inkrementelle Sicherung schauen wir uns noch in weiteren Beitr&auml;gen an.<\/p>\n","protected":false},"excerpt":{"rendered":"<p>Wer eine Access-Datenbank zum Speichern seiner Daten verwendet, hat bei der Sicherung leichtes Spiel: Er braucht einfach nur eine Kopie dieser Datenbank anzulegen. Bei SQL Server-Datenbanken ist dies etwas komplizierter. Wir k&ouml;nnen hier beispielsweise nicht einfach die Datenbankdateien kopieren, da der SQL Server normalerweise st&auml;ndig darauf zugreift. Welche Schritte zum Anlegen des Backups einer SQL Server-Datenbank n&ouml;tig sind, zeigen wir in diesem Beitrag. Au&szlig;erdem schauen wir uns an, wie wir die Datenbank auf Basis der Sicherung wiederherstellen k&ouml;nnen.<\/p>\n","protected":false},"author":1,"featured_media":0,"comment_status":"open","ping_status":"open","sticky":false,"template":"","format":"standard","meta":{"om_disable_all_campaigns":false,"_monsterinsights_skip_tracking":false,"_monsterinsights_sitenote_active":false,"_monsterinsights_sitenote_note":"","_monsterinsights_sitenote_category":0,"_uf_show_specific_survey":0,"_uf_disable_surveys":false,"footnotes":""},"categories":[662023,66042023,44000022],"tags":[],"class_list":["post-55001449","post","type-post","status-publish","format-standard","hentry","category-662023","category-66042023","category-SQL_Server_und_Co"],"yoast_head":"<!-- This site is optimized with the Yoast SEO Premium plugin v20.9 (Yoast SEO v27.5) - https:\/\/yoast.com\/product\/yoast-seo-premium-wordpress\/ -->\n<title>SQL Server: Vollsicherung und Wiederherstellung - Access im Unternehmen<\/title>\n<meta name=\"robots\" content=\"index, follow, max-snippet:-1, max-image-preview:large, max-video-preview:-1\" \/>\n<link rel=\"canonical\" href=\"https:\/\/access-im-unternehmen.de\/SQL_Server_Vollsicherung_und_Wiederherstellung\/\" \/>\n<meta property=\"og:locale\" content=\"de_DE\" \/>\n<meta property=\"og:type\" content=\"article\" \/>\n<meta property=\"og:title\" content=\"SQL Server: Vollsicherung und Wiederherstellung\" \/>\n<meta property=\"og:description\" content=\"Wer eine Access-Datenbank zum Speichern seiner Daten verwendet, hat bei der Sicherung leichtes Spiel: Er braucht einfach nur eine Kopie dieser Datenbank anzulegen. Bei SQL Server-Datenbanken ist dies etwas komplizierter. Wir k&ouml;nnen hier beispielsweise nicht einfach die Datenbankdateien kopieren, da der SQL Server normalerweise st&auml;ndig darauf zugreift. Welche Schritte zum Anlegen des Backups einer SQL Server-Datenbank n&ouml;tig sind, zeigen wir in diesem Beitrag. Au&szlig;erdem schauen wir uns an, wie wir die Datenbank auf Basis der Sicherung wiederherstellen k&ouml;nnen.\" \/>\n<meta property=\"og:url\" content=\"https:\/\/access-im-unternehmen.de\/SQL_Server_Vollsicherung_und_Wiederherstellung\/\" \/>\n<meta property=\"og:site_name\" content=\"Access im Unternehmen\" \/>\n<meta property=\"article:published_time\" content=\"2023-07-31T14:23:42+00:00\" \/>\n<meta name=\"author\" content=\"Andr\u00e9 Minhorst\" \/>\n<meta name=\"twitter:card\" content=\"summary_large_image\" \/>\n<meta name=\"twitter:label1\" content=\"Verfasst von\" \/>\n\t<meta name=\"twitter:data1\" content=\"Andr\u00e9 Minhorst\" \/>\n\t<meta name=\"twitter:label2\" content=\"Gesch\u00e4tzte Lesezeit\" \/>\n\t<meta name=\"twitter:data2\" content=\"10\u00a0Minuten\" \/>\n<script type=\"application\/ld+json\" class=\"yoast-schema-graph\">{\"@context\":\"https:\\\/\\\/schema.org\",\"@graph\":[{\"@type\":\"Article\",\"@id\":\"https:\\\/\\\/access-im-unternehmen.de\\\/SQL_Server_Vollsicherung_und_Wiederherstellung\\\/#article\",\"isPartOf\":{\"@id\":\"https:\\\/\\\/access-im-unternehmen.de\\\/SQL_Server_Vollsicherung_und_Wiederherstellung\\\/\"},\"author\":{\"name\":\"Andr\u00e9 Minhorst\",\"@id\":\"https:\\\/\\\/access-im-unternehmen.de\\\/#\\\/schema\\\/person\\\/13395c4bcd7d7963efe33be9c584d93f\"},\"headline\":\"SQL Server: Vollsicherung und Wiederherstellung\",\"datePublished\":\"2023-07-31T14:23:42+00:00\",\"mainEntityOfPage\":{\"@id\":\"https:\\\/\\\/access-im-unternehmen.de\\\/SQL_Server_Vollsicherung_und_Wiederherstellung\\\/\"},\"wordCount\":2072,\"commentCount\":0,\"publisher\":{\"@id\":\"https:\\\/\\\/access-im-unternehmen.de\\\/#organization\"},\"articleSection\":[\"2023\",\"4\\\/2023\",\"SQL Server und Co.\"],\"inLanguage\":\"de\",\"potentialAction\":[{\"@type\":\"CommentAction\",\"name\":\"Comment\",\"target\":[\"https:\\\/\\\/access-im-unternehmen.de\\\/SQL_Server_Vollsicherung_und_Wiederherstellung\\\/#respond\"]}]},{\"@type\":\"WebPage\",\"@id\":\"https:\\\/\\\/access-im-unternehmen.de\\\/SQL_Server_Vollsicherung_und_Wiederherstellung\\\/\",\"url\":\"https:\\\/\\\/access-im-unternehmen.de\\\/SQL_Server_Vollsicherung_und_Wiederherstellung\\\/\",\"name\":\"SQL Server: Vollsicherung und Wiederherstellung - Access im Unternehmen\",\"isPartOf\":{\"@id\":\"https:\\\/\\\/access-im-unternehmen.de\\\/#website\"},\"datePublished\":\"2023-07-31T14:23:42+00:00\",\"breadcrumb\":{\"@id\":\"https:\\\/\\\/access-im-unternehmen.de\\\/SQL_Server_Vollsicherung_und_Wiederherstellung\\\/#breadcrumb\"},\"inLanguage\":\"de\",\"potentialAction\":[{\"@type\":\"ReadAction\",\"target\":[\"https:\\\/\\\/access-im-unternehmen.de\\\/SQL_Server_Vollsicherung_und_Wiederherstellung\\\/\"]}]},{\"@type\":\"BreadcrumbList\",\"@id\":\"https:\\\/\\\/access-im-unternehmen.de\\\/SQL_Server_Vollsicherung_und_Wiederherstellung\\\/#breadcrumb\",\"itemListElement\":[{\"@type\":\"ListItem\",\"position\":1,\"name\":\"Home\",\"item\":\"https:\\\/\\\/access-im-unternehmen.de\\\/\"},{\"@type\":\"ListItem\",\"position\":2,\"name\":\"SQL Server: Vollsicherung und Wiederherstellung\"}]},{\"@type\":\"WebSite\",\"@id\":\"https:\\\/\\\/access-im-unternehmen.de\\\/#website\",\"url\":\"https:\\\/\\\/access-im-unternehmen.de\\\/\",\"name\":\"Access im Unternehmen\",\"description\":\"Das Magazin f\u00fcr Datenbankentwickler auf Basis von Microsoft Access\",\"publisher\":{\"@id\":\"https:\\\/\\\/access-im-unternehmen.de\\\/#organization\"},\"potentialAction\":[{\"@type\":\"SearchAction\",\"target\":{\"@type\":\"EntryPoint\",\"urlTemplate\":\"https:\\\/\\\/access-im-unternehmen.de\\\/?s={search_term_string}\"},\"query-input\":{\"@type\":\"PropertyValueSpecification\",\"valueRequired\":true,\"valueName\":\"search_term_string\"}}],\"inLanguage\":\"de\"},{\"@type\":\"Organization\",\"@id\":\"https:\\\/\\\/access-im-unternehmen.de\\\/#organization\",\"name\":\"Andr\u00e9 Minhorst Verlag\",\"url\":\"https:\\\/\\\/access-im-unternehmen.de\\\/\",\"logo\":{\"@type\":\"ImageObject\",\"inLanguage\":\"de\",\"@id\":\"https:\\\/\\\/access-im-unternehmen.de\\\/#\\\/schema\\\/logo\\\/image\\\/\",\"url\":\"https:\\\/\\\/access-im-unternehmen.de\\\/wp-content\\\/uploads\\\/2019\\\/09\\\/aiu_wp.png\",\"contentUrl\":\"https:\\\/\\\/access-im-unternehmen.de\\\/wp-content\\\/uploads\\\/2019\\\/09\\\/aiu_wp.png\",\"width\":370,\"height\":111,\"caption\":\"Andr\u00e9 Minhorst Verlag\"},\"image\":{\"@id\":\"https:\\\/\\\/access-im-unternehmen.de\\\/#\\\/schema\\\/logo\\\/image\\\/\"}},{\"@type\":\"Person\",\"@id\":\"https:\\\/\\\/access-im-unternehmen.de\\\/#\\\/schema\\\/person\\\/13395c4bcd7d7963efe33be9c584d93f\",\"name\":\"Andr\u00e9 Minhorst\",\"image\":{\"@type\":\"ImageObject\",\"inLanguage\":\"de\",\"@id\":\"https:\\\/\\\/secure.gravatar.com\\\/avatar\\\/1b9d010cf1716692cb9c34f21554e07d17d461acaea5b61b8cb21cbec678d48a?s=96&d=mm&r=g\",\"url\":\"https:\\\/\\\/secure.gravatar.com\\\/avatar\\\/1b9d010cf1716692cb9c34f21554e07d17d461acaea5b61b8cb21cbec678d48a?s=96&d=mm&r=g\",\"contentUrl\":\"https:\\\/\\\/secure.gravatar.com\\\/avatar\\\/1b9d010cf1716692cb9c34f21554e07d17d461acaea5b61b8cb21cbec678d48a?s=96&d=mm&r=g\",\"caption\":\"Andr\u00e9 Minhorst\"}}]}<\/script>\n<!-- \/ Yoast SEO Premium plugin. -->","yoast_head_json":{"title":"SQL Server: Vollsicherung und Wiederherstellung - Access im Unternehmen","robots":{"index":"index","follow":"follow","max-snippet":"max-snippet:-1","max-image-preview":"max-image-preview:large","max-video-preview":"max-video-preview:-1"},"canonical":"https:\/\/access-im-unternehmen.de\/SQL_Server_Vollsicherung_und_Wiederherstellung\/","og_locale":"de_DE","og_type":"article","og_title":"SQL Server: Vollsicherung und Wiederherstellung","og_description":"Wer eine Access-Datenbank zum Speichern seiner Daten verwendet, hat bei der Sicherung leichtes Spiel: Er braucht einfach nur eine Kopie dieser Datenbank anzulegen. Bei SQL Server-Datenbanken ist dies etwas komplizierter. Wir k&ouml;nnen hier beispielsweise nicht einfach die Datenbankdateien kopieren, da der SQL Server normalerweise st&auml;ndig darauf zugreift. Welche Schritte zum Anlegen des Backups einer SQL Server-Datenbank n&ouml;tig sind, zeigen wir in diesem Beitrag. Au&szlig;erdem schauen wir uns an, wie wir die Datenbank auf Basis der Sicherung wiederherstellen k&ouml;nnen.","og_url":"https:\/\/access-im-unternehmen.de\/SQL_Server_Vollsicherung_und_Wiederherstellung\/","og_site_name":"Access im Unternehmen","article_published_time":"2023-07-31T14:23:42+00:00","author":"Andr\u00e9 Minhorst","twitter_card":"summary_large_image","twitter_misc":{"Verfasst von":"Andr\u00e9 Minhorst","Gesch\u00e4tzte Lesezeit":"10\u00a0Minuten"},"schema":{"@context":"https:\/\/schema.org","@graph":[{"@type":"Article","@id":"https:\/\/access-im-unternehmen.de\/SQL_Server_Vollsicherung_und_Wiederherstellung\/#article","isPartOf":{"@id":"https:\/\/access-im-unternehmen.de\/SQL_Server_Vollsicherung_und_Wiederherstellung\/"},"author":{"name":"Andr\u00e9 Minhorst","@id":"https:\/\/access-im-unternehmen.de\/#\/schema\/person\/13395c4bcd7d7963efe33be9c584d93f"},"headline":"SQL Server: Vollsicherung und Wiederherstellung","datePublished":"2023-07-31T14:23:42+00:00","mainEntityOfPage":{"@id":"https:\/\/access-im-unternehmen.de\/SQL_Server_Vollsicherung_und_Wiederherstellung\/"},"wordCount":2072,"commentCount":0,"publisher":{"@id":"https:\/\/access-im-unternehmen.de\/#organization"},"articleSection":["2023","4\/2023","SQL Server und Co."],"inLanguage":"de","potentialAction":[{"@type":"CommentAction","name":"Comment","target":["https:\/\/access-im-unternehmen.de\/SQL_Server_Vollsicherung_und_Wiederherstellung\/#respond"]}]},{"@type":"WebPage","@id":"https:\/\/access-im-unternehmen.de\/SQL_Server_Vollsicherung_und_Wiederherstellung\/","url":"https:\/\/access-im-unternehmen.de\/SQL_Server_Vollsicherung_und_Wiederherstellung\/","name":"SQL Server: Vollsicherung und Wiederherstellung - Access im Unternehmen","isPartOf":{"@id":"https:\/\/access-im-unternehmen.de\/#website"},"datePublished":"2023-07-31T14:23:42+00:00","breadcrumb":{"@id":"https:\/\/access-im-unternehmen.de\/SQL_Server_Vollsicherung_und_Wiederherstellung\/#breadcrumb"},"inLanguage":"de","potentialAction":[{"@type":"ReadAction","target":["https:\/\/access-im-unternehmen.de\/SQL_Server_Vollsicherung_und_Wiederherstellung\/"]}]},{"@type":"BreadcrumbList","@id":"https:\/\/access-im-unternehmen.de\/SQL_Server_Vollsicherung_und_Wiederherstellung\/#breadcrumb","itemListElement":[{"@type":"ListItem","position":1,"name":"Home","item":"https:\/\/access-im-unternehmen.de\/"},{"@type":"ListItem","position":2,"name":"SQL Server: Vollsicherung und Wiederherstellung"}]},{"@type":"WebSite","@id":"https:\/\/access-im-unternehmen.de\/#website","url":"https:\/\/access-im-unternehmen.de\/","name":"Access im Unternehmen","description":"Das Magazin f\u00fcr Datenbankentwickler auf Basis von Microsoft Access","publisher":{"@id":"https:\/\/access-im-unternehmen.de\/#organization"},"potentialAction":[{"@type":"SearchAction","target":{"@type":"EntryPoint","urlTemplate":"https:\/\/access-im-unternehmen.de\/?s={search_term_string}"},"query-input":{"@type":"PropertyValueSpecification","valueRequired":true,"valueName":"search_term_string"}}],"inLanguage":"de"},{"@type":"Organization","@id":"https:\/\/access-im-unternehmen.de\/#organization","name":"Andr\u00e9 Minhorst Verlag","url":"https:\/\/access-im-unternehmen.de\/","logo":{"@type":"ImageObject","inLanguage":"de","@id":"https:\/\/access-im-unternehmen.de\/#\/schema\/logo\/image\/","url":"https:\/\/access-im-unternehmen.de\/wp-content\/uploads\/2019\/09\/aiu_wp.png","contentUrl":"https:\/\/access-im-unternehmen.de\/wp-content\/uploads\/2019\/09\/aiu_wp.png","width":370,"height":111,"caption":"Andr\u00e9 Minhorst Verlag"},"image":{"@id":"https:\/\/access-im-unternehmen.de\/#\/schema\/logo\/image\/"}},{"@type":"Person","@id":"https:\/\/access-im-unternehmen.de\/#\/schema\/person\/13395c4bcd7d7963efe33be9c584d93f","name":"Andr\u00e9 Minhorst","image":{"@type":"ImageObject","inLanguage":"de","@id":"https:\/\/secure.gravatar.com\/avatar\/1b9d010cf1716692cb9c34f21554e07d17d461acaea5b61b8cb21cbec678d48a?s=96&d=mm&r=g","url":"https:\/\/secure.gravatar.com\/avatar\/1b9d010cf1716692cb9c34f21554e07d17d461acaea5b61b8cb21cbec678d48a?s=96&d=mm&r=g","contentUrl":"https:\/\/secure.gravatar.com\/avatar\/1b9d010cf1716692cb9c34f21554e07d17d461acaea5b61b8cb21cbec678d48a?s=96&d=mm&r=g","caption":"Andr\u00e9 Minhorst"}}]}},"_links":{"self":[{"href":"https:\/\/access-im-unternehmen.de\/data\/wp\/v2\/posts\/55001449","targetHints":{"allow":["GET"]}}],"collection":[{"href":"https:\/\/access-im-unternehmen.de\/data\/wp\/v2\/posts"}],"about":[{"href":"https:\/\/access-im-unternehmen.de\/data\/wp\/v2\/types\/post"}],"author":[{"embeddable":true,"href":"https:\/\/access-im-unternehmen.de\/data\/wp\/v2\/users\/1"}],"replies":[{"embeddable":true,"href":"https:\/\/access-im-unternehmen.de\/data\/wp\/v2\/comments?post=55001449"}],"version-history":[{"count":0,"href":"https:\/\/access-im-unternehmen.de\/data\/wp\/v2\/posts\/55001449\/revisions"}],"wp:attachment":[{"href":"https:\/\/access-im-unternehmen.de\/data\/wp\/v2\/media?parent=55001449"}],"wp:term":[{"taxonomy":"category","embeddable":true,"href":"https:\/\/access-im-unternehmen.de\/data\/wp\/v2\/categories?post=55001449"},{"taxonomy":"post_tag","embeddable":true,"href":"https:\/\/access-im-unternehmen.de\/data\/wp\/v2\/tags?post=55001449"}],"curies":[{"name":"wp","href":"https:\/\/api.w.org\/{rel}","templated":true}]}}