{"id":333,"date":"2007-09-28T19:55:14","date_gmt":"2007-09-28T17:55:14","guid":{"rendered":"http:\/\/www.glorf.it\/blog\/2007\/09\/28\/sql-talk\/vorschlaege-zur-datensicherung-mit-sql-server-teil-5-snapshot-sicherung"},"modified":"2007-09-30T18:25:54","modified_gmt":"2007-09-30T16:25:54","slug":"vorschlaege-zur-datensicherung-mit-sql-server-teil-5-snapshot-sicherung","status":"publish","type":"post","link":"http:\/\/www.glorf.it\/blog\/2007\/09\/28\/sql-talk\/vorschlaege-zur-datensicherung-mit-sql-server-teil-5-snapshot-sicherung","title":{"rendered":"Vorschl&#228;ge zur Datensicherung mit SQL-Server &#8211; Teil 5: Snapshot-Sicherung"},"content":{"rendered":"<p>In der Serie \u201cVorschl&#228;ge zur Datensicherung mit SQL-Server\u201d gab es bisher folgende Beitr&#228;ge:<\/p>\n<ol>\n<li>Teil &#8211; <a href=\"http:\/\/www.glorf.it\/blog\/2006\/09\/03\/sql-talk\/vorschlaege-zur-datensicherung-mit-sql-server-teil-1-ueberblick\">Informationen zum Umfeld und zum Verst&#228;ndnis<\/a><\/li>\n<li>Teil &#8211; <a href=\"http:\/\/www.glorf.it\/blog\/2006\/09\/08\/sql-talk\/vorschlaege-zur-datensicherung-mit-sql-server-teil-2-offline-sicherung\">Vorgehen beim Offline-Backup<\/a><\/li>\n<li>Teil &#8211; <a href=\"http:\/\/www.glorf.it\/blog\/2006\/10\/29\/sql-talk\/vorschlaege-zur-datensicherung-mit-sql-server-teil-3-online-vollsicherung\">Online-Vollsicherung<\/a><\/li>\n<li>Teil &#8211; <a href=\"http:\/\/www.glorf.it\/blog\/2006\/11\/11\/sql-talk\/vorschlaege-zur-datensicherung-mit-sql-server-teil-4-differentielle-bzw-inkrementelle-online-sicherung\">differentielle bzw. inkrementelle Online-Sicherung<\/a><\/li>\n<\/ol>\n<p>In diesem letzten &#8211; l&#228;ngst &#252;berf&#228;lligen &#8211; Artikel aus der Serie stelle ich die \u201cSnapshot\u201d-Sicherung vor. Es gibt zwei Arten einen Datenbank-Snapshot zu erzeugen, mir geht es prim&#228;r um die zweite:<\/p>\n<ul>\n<li>Eine Online-Kopie im laufenden Betrieb, die einen &quot;Snapshot&quot; der Datenbank erstellt. Dazu werden interne Mechanismen des SQL-Servers verwendet.<\/li>\n<li>Ein Backup-Programm zieht im laufenden Betrieb eine Kopie der Datenbank-Dateien. Das Backup-Programm nutzt dazu den &quot;Volume Shadow Copy Service&quot; (VSS), der sich mit dem SQL-Server koordiniert.<\/li>\n<\/ul>\n<h4>SQL-Server-Snapshot-Backup<\/h4>\n<p>Ab der Version 2005 kann die Enterprise-Edition des SQL-Servers im laufenden Betrieb eine Kopie der Datenbank ziehen, die dann f&#252;r rein lesende Zugriffe genutzt werden kann. Das ist nat&#252;rlich auch so eine Art von Sicherung, die aber dann doch auf der gleichen Kiste gespeichert wird, wie das Original. Daher f&#228;llt das f&#252;r mich eher in die Kategorie &quot;schnelle Verf&#252;gbarkeit&quot;. <\/p>\n<p>Wer sich f&#252;r das Thema interessiert dem empfehle ich den Artikel &quot;<a href=\"http:\/\/www.simple-talk.com\/sql\/database-administration\/sql-server-2005-snapshots\/\">SQL Server 2005 Snapshots<\/a>&quot; von Andrew Calvett oder <a href=\"http:\/\/searchsecurity.techtarget.com\/tip\/0,289483,sid87_gci1176142,00.html\">SQL Server 2005: When and how to use Database Snapshots<\/a> von Greg Robidoux.<\/p>\n<h4>Volume Shadow Copy Service (VSS)<\/h4>\n<p>Im laufenden Betrieb k&#246;nnen Datenbank-Dateien auf Datei-Ebene nicht kopiert werden. Die Dateien sind vom SQL-Server exklusiv ge&#246;ffnet. Daher kann eine normale Sicherung die Dateien nicht kopieren. Das f&#252;hrt in der Vergangenheit dazu, dass die Datenbank-Dateien gerne vergessen wurden. Ich erlebe es leider regelm&#228;&#223;ig, dass Kunden zwar flei&#223;ig die B&#228;nder wechseln, aber nicht das Sicherungslog ansehen und daher gar nicht wissen, dass deren SQL-Server-Datenbanken nicht gesichert werden konnten. Bis zu mir oder meinen Kollegen kommen die Kunden &#252;brigens nur dann, wenn deren Datenbanken defekt sind. Dann ist es nat&#252;rlich schon zu sp&#228;t&#8230;<\/p>\n<p>Um dem Kunden das Leben zu erleichtern f&#252;hrte Microsoft mit Windows 2003 den schicke &quot;Volume Shadow Copy Service&quot; (VSS) ein. Dieser Dienst erm&#246;glicht das Kopieren  von ge&#246;ffneten Dateien der SQL-Server-Datenbanken. Dazu muss man in der Regel nichts weiter tun, das Bindeglied zwischen dem SQL-Server und dem VSS kommt bereits bei der Installation mit: der VSS-Writer. Jede moderne Sicherungssoftware sollte das Feature bereits unterst&#252;tzen. <\/p>\n<p>Der interne Ablauf ist etwa so: Die Sicherungsoftware wendet sich an den VSS und sagt, dass bitte alle Dienste (die das unterst&#252;tzen) die Daten sichern sollen. Der VSS schaut daraufhin seine Liste der registrierten &quot;VSS-Writer&quot; durch und benachrichtigt sie. Der VSS-Writer des SQL-Servers weist den SQL-Server an eine Kopie der Datenbanken zu erstellen. Das geht vergleichsweise schnell, weil genaugenommen nur die Unterschiede in den Dateien (eine Art DIFF) seit der letzten Sicherung rausgeschrieben werden. Intern speichert der VSS in seinen &quot;shadow copy cache&quot; maximal 64 Snapshots, aber auch nur, wenn auf dem Laufwerk genug Platz bereitgestellt wurde.<\/p>\n<p>Die genauen Abl&#228;ufe werden sehr detailliert im MSDN-Artikel &quot;<a href=\"http:\/\/www.microsoft.com\/technet\/prodtechnol\/sql\/2005\/sqlwriter.mspx\">SQL Writer in SQL Server 2005: A Guide for SQL Server Backup Application Vendors<\/a>&quot; beschrieben. Das <a href=\"http:\/\/msdn2.microsoft.com\/en-us\/library\/aa384961.aspx\">Handbuch<\/a> ist auch ganz gut.<\/p>\n<p><strong>Vorteile<\/strong><\/p>\n<ul>\n<li>Diese Methoden sind sehr schnell. <\/li>\n<li>Diese Methoden erm&#246;glichen einen 7\u00d724-Stunden-Betrieb. <\/li>\n<li>Jede normale Sicherungssoftware unterst&#252;tzt das Verfahren.<\/li>\n<li>Die R&#252;cksicherung ist einfach.<\/li>\n<\/ul>\n<p><strong>Risiken und Nebenwirkungen<\/strong><\/p>\n<ul>\n<li>F&#252;r diese Sicherungsmethode muss man erst mal den VSS konfigurieren. <\/li>\n<li>Man ben&#246;tigt Windows Server 2003. <\/li>\n<li>Der SQL-Server muss so konfiguriert sein, dass jeder im System-Kontext laufende Dienst SysAdmin-Rechte hat. Das ist allerdings nach der Default-Installation sowieso der Fall und st&#246;rt vermutlich nur die wenigen, die besonders viel Wert auf Sicherheit legen.<\/li>\n<\/ul>\n<p><strong>Mein pers&#246;nliches Res&#252;mee:<\/strong><\/p>\n<p>Diese Sicherungsmethode eignet sich vor allem f&#252;r professionelle Nutzer, die viel Wert auf eine aktuelle Datensicherung legen. Man kann damit den Rund-um-die-Uhr-Betrieb realisieren und kann den Standard-Ablauf der g&#228;ngigen Datensicherungssoftware nutzen.<\/p>\n","protected":false},"excerpt":{"rendered":"<p>In der Serie \u201cVorschl&#228;ge zur Datensicherung mit SQL-Server\u201d gab es bisher folgende Beitr&#228;ge: Teil &#8211; Informationen zum Umfeld und zum Verst&#228;ndnis Teil &#8211; Vorgehen beim Offline-Backup Teil &#8211; Online-Vollsicherung Teil &#8211; differentielle bzw. inkrementelle Online-Sicherung In diesem letzten &#8211; l&#228;ngst &#252;berf&#228;lligen &#8211; Artikel aus der Serie stelle ich die \u201cSnapshot\u201d-Sicherung vor. Es gibt zwei Arten [&hellip;]<\/p>\n","protected":false},"author":1,"featured_media":0,"comment_status":"open","ping_status":"open","sticky":false,"template":"","format":"standard","meta":[],"categories":[3],"tags":[],"_links":{"self":[{"href":"http:\/\/www.glorf.it\/blog\/wp-json\/wp\/v2\/posts\/333"}],"collection":[{"href":"http:\/\/www.glorf.it\/blog\/wp-json\/wp\/v2\/posts"}],"about":[{"href":"http:\/\/www.glorf.it\/blog\/wp-json\/wp\/v2\/types\/post"}],"author":[{"embeddable":true,"href":"http:\/\/www.glorf.it\/blog\/wp-json\/wp\/v2\/users\/1"}],"replies":[{"embeddable":true,"href":"http:\/\/www.glorf.it\/blog\/wp-json\/wp\/v2\/comments?post=333"}],"version-history":[{"count":0,"href":"http:\/\/www.glorf.it\/blog\/wp-json\/wp\/v2\/posts\/333\/revisions"}],"wp:attachment":[{"href":"http:\/\/www.glorf.it\/blog\/wp-json\/wp\/v2\/media?parent=333"}],"wp:term":[{"taxonomy":"category","embeddable":true,"href":"http:\/\/www.glorf.it\/blog\/wp-json\/wp\/v2\/categories?post=333"},{"taxonomy":"post_tag","embeddable":true,"href":"http:\/\/www.glorf.it\/blog\/wp-json\/wp\/v2\/tags?post=333"}],"curies":[{"name":"wp","href":"https:\/\/api.w.org\/{rel}","templated":true}]}}