{"id":2433,"date":"2009-03-30T20:43:21","date_gmt":"2009-03-30T19:43:21","guid":{"rendered":"http:\/\/www.glorf.it\/blog\/?p=2433"},"modified":"2009-03-30T20:56:45","modified_gmt":"2009-03-30T19:56:45","slug":"unterschiedliche-sektorgroessen-verhindern-einen-serverumzug","status":"publish","type":"post","link":"http:\/\/www.glorf.it\/blog\/2009\/03\/30\/sql-talk\/sql-server\/unterschiedliche-sektorgroessen-verhindern-einen-serverumzug","title":{"rendered":"Unterschiedliche Sektorgr&#246;&#223;en verhindern einen Serverumzug"},"content":{"rendered":"<p>Offenbar war bis vor kurzer Zeit die Sektorgr&#246;&#223;e von Festplatten so fix auf 512 Bytes, dass Microsoft keinen Gedanken daran verschwendete, dass es auch andere Sektorgr&#246;&#223;en geben kann. Zur Erinnerung: ein <a href=\"http:\/\/de.wikipedia.org\/wiki\/Datenblock\">Sektor<\/a> bestimmt die Gr&#246;&#223;e des Datenblockes, der von der Festplatte bzw. vom Medium gelesen wird. Das wird gerne mit der <a href=\"http:\/\/de.wikipedia.org\/wiki\/Cluster_(Festplatte)\">Cluster-Gr&#246;&#223;e<\/a> verwechselt, die durch das Dateisystem (und damit durch die Formatierung) festgelegt wird.<\/p>\n<p>Microsoft hat das Schreiben des Transaktionslogs derartig auf Performance optimiert, dass sie in den Datei-Header die Clustergr&#246;&#223;e schreiben mit der die Datenbank angelegt wurde. Wenn ich nun einen neuen Server anschaffe, dessen Plattensystem (z.B. SAN) eine gr&#246;&#223;ere Sektor-Gr&#246;&#223;e hat, z.B. 1024 Bytes, dann kann die Datenbank vom SQL-Server dort weder angeh&#228;ngt werden, noch k&#246;nnen alte Datensicherungen dort eingespielt werden. Ganz sch&#246;n l&#228;stig, wenn man das nach einem Systemausfall mit dem neuen Server erst merkt.<\/p>\n<p>Microsoft schreibt das im Artikel &quot;<a href=\"http:\/\/technet.microsoft.com\/de-de\/library\/cc917726(en-us).aspx\">SQL Server I\/O Basics, Chapter 2<\/a>&quot; so:<\/p>\n<blockquote><p>SQL Server is not designed to dynamically upgrade the database to the larger sector sizes. SQL Server disallows restoring or attaching a database on a system with a larger sector size; it generates an error message and prevents the restore or attach operation. Enabling a database to function by using a smaller formatted sector size than the actual sector size violates the WAL protocol because the sector size variation guarantees the log records will not be correctly aligned with the physical sector size and log records will be rewritten.<\/p><\/blockquote>\n<p>Diese Info bezieht sich auf die Versionen 2000 und 2005. Wei&#223; jemand, ob der SQL-Server-2008 damit inzwischen zurecht kommt? Als L&#246;sung f&#252;r die eigenen Systemdatenbanken erzeugt Microsoft sie auf Festplatten mit der Sektorgr&#246;&#223;e 4K. Wenn die auf eine Platte mit kleineren Sektoren kopiert werden, dann geht das n&#228;mlich, falls die kleinere Sektorgr&#246;&#223;e ein Teiler der gro&#223;en ist.<\/p>\n<p>Was k&#246;nnte es f&#252;r Anl&#228;sse geben, dass die Sektor-Gr&#246;&#223;e anders ist?<\/p>\n<ul>\n<li>Moderne SANs sind hier konfigurierbar,<\/li>\n<li>manche RAIDs sind konfigurierbar,<\/li>\n<li>f&#252;r Solid-State-Disks bieten sich andere Sektorgr&#246;&#223;en an und<\/li>\n<li>f&#252;r USB-Sticks auch.<\/li>\n<\/ul>\n<p>Wir suchen gerade nach einer L&#246;sung, wie man die Daten in so einer Datenbank noch retten kann, wenn das alte System nicht mehr zur Verf&#252;gung steht (also kein Kopieren von A nach B m&#246;glich ist). Hat jemand eine Idee? Oder hat jemand schon mal Erfahrungen mit diesem Feature gemacht?<\/p>\n","protected":false},"excerpt":{"rendered":"<p>Offenbar war bis vor kurzer Zeit die Sektorgr&#246;&#223;e von Festplatten so fix auf 512 Bytes, dass Microsoft keinen Gedanken daran verschwendete, dass es auch andere Sektorgr&#246;&#223;en geben kann. Zur Erinnerung: ein Sektor bestimmt die Gr&#246;&#223;e des Datenblockes, der von der Festplatte bzw. vom Medium gelesen wird. Das wird gerne mit der Cluster-Gr&#246;&#223;e verwechselt, die durch [&hellip;]<\/p>\n","protected":false},"author":1,"featured_media":0,"comment_status":"open","ping_status":"open","sticky":false,"template":"","format":"standard","meta":[],"categories":[16],"tags":[446,929],"_links":{"self":[{"href":"http:\/\/www.glorf.it\/blog\/wp-json\/wp\/v2\/posts\/2433"}],"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=2433"}],"version-history":[{"count":5,"href":"http:\/\/www.glorf.it\/blog\/wp-json\/wp\/v2\/posts\/2433\/revisions"}],"predecessor-version":[{"id":2455,"href":"http:\/\/www.glorf.it\/blog\/wp-json\/wp\/v2\/posts\/2433\/revisions\/2455"}],"wp:attachment":[{"href":"http:\/\/www.glorf.it\/blog\/wp-json\/wp\/v2\/media?parent=2433"}],"wp:term":[{"taxonomy":"category","embeddable":true,"href":"http:\/\/www.glorf.it\/blog\/wp-json\/wp\/v2\/categories?post=2433"},{"taxonomy":"post_tag","embeddable":true,"href":"http:\/\/www.glorf.it\/blog\/wp-json\/wp\/v2\/tags?post=2433"}],"curies":[{"name":"wp","href":"https:\/\/api.w.org\/{rel}","templated":true}]}}