Glorf.it

Glorf IT

Bedenkliches aus dem IT-Alltag

27. November 2010 um 12:16

SMART-Tool sorgt für Datenkorruptionen

Leider haben rein lesende Zugriffe offenbar manchmal auch negative Nebenwirkungen. So kann man durch das eigentlich nützliche Auslesen der Festplattendaten mittels SMART offenbar auch Daten auf der Festplatte zerstören, die in dem Augenblick geschrieben werden:

Ein c't-Leser meldet, dass Daten auf der Platte beschädigt wurden, wenn er die smartmontools unter Windows verwendete. Der Fehler ließ sich im c't-Labor bei einer Festplatte mit der Firmware-Version 1AQ10001 reproduzieren, sofern drei Bedingungen zutreffen: Die Platte hängt an einem SATA-Hostadapter, der im AHCI-Modus läuft, es werden Daten geschrieben und gleichzeitig SMART-Parameter mit den smartmontools abgefragt.

Mehr Details bei Heise im Artikel "SMART-Tool beschädigt Daten auf Samsung-Festplatte". Auf der Suche nach den Ursachen für defekte Datenbanken stießen wir ja schon auf so einige Dinge, aber das ist definitiv neu. Ich nehme mal an, dass der Controler in der Festplatte hier ein Problem hat. Das ist aber reine Spekulation…

18. November 2010 um 19:26

Webcast zu Denali

Mein Kollege Mark machte mich heute auf eine Artikel von von Stefen Krause aufmerksam. Darin erzählt er einiges zum kommenden SQL Server 2011 ("Denali") und kündigt einen Webcast an:

Am 02. Dezember, 15:30-16:30 werde ich in einem Webcast einen Überblick über “Denali” CTP1 geben. Die Anmeldung wird demnächst hier möglich sein

Das könnte ein guter Einstieg in das Thema sein.

11. November 2010 um 18:50

Wunsch: Denali auf Windows XP und 2003

Schon gestern machte ich darauf aufmerksam, dass der gestern veröffentlichte SQL Server 2011 (Codename "Denali") offenbar nicht unter Windows XP und Windows Server 2003 laufen wird. Dazu fand ich heute bereits je einen Eintrag auf Microsoft Connect für Windows XP und Windows Server 2003.

Da Windows XP derzeit noch sehr stark verbreitet ist, dürfte das System auch bei Freigabe des Denali noch erhebliche Marktanteile haben. Microsoft unterstützt das System bis 2014, also noch etwas 3 Jahre nach Freigabe von Denali. Gerade Firmen mit Windows Server 2003 haben wenig Anreize auf Windows Server 2008 zu wechseln, weil sie neben der neuen Server-Lizenz auch neue CALs benötigen. Da ist es attraktiver auf das 2012 oder 2013 erscheinende "Windows 8 Server" zu warten. Immerhin wird Windows 2003 ja auch noch bis 2015 von Microsoft unterstützt…

Wer mag, dass Microsoft mit dem neuen SQL-Server auch diese derzeit sehr verbreiteten Systeme unterstützt, der möge doch bitte bei Connect dafür voten:

10. November 2010 um 19:53

CTP1 des SQL Servers Denali zum freien Download

Völlig überrascht hat mit Microsoft damit, dass eine sehr frühe Vorabversion des nächsten SQL Servers (Version 11, Codename "Denali") zum freien Download im Internet steht. Bislang wurden die ersten Vorabversionen (CTP = "Community Technology Preview") nur an eine kleine Gruppe von Auserwählten verschickt. Möglicherweise ist der CTP1 aber schon so stabil, dass er nun publik gemacht wird. Im "Whats new" werden die Neuerungen beschrieben. Und das sind richtig, richtig viele!

Was kann man den Download-Infos entnehmen?

  • Angeboten werden je eine 32- und eine 64-Bit-Fassung (und eine mit Beidem).
  • Windows XP (MS-Support bis 2014) und Windows Server 2003 (MS-Support bis 2015) werden (noch?) nicht unterstützt. Unterstützte Betriebssysteme sind Windows 7, Windows Server 2008 R2, Windows Server 2008 Service Pack 2 und Windows Vista Service Pack 2.

Was ändert sich an der Installation?

Diese Komponenten müssen schon vorher installiert sein, sonst wird eine Installation verweigert:

  • "Windows PowerShell 2.0"
  • "NET Framework 4.0"
  • "No-Reboot package for .NET Framework 4.0"

Verbesserungen der Database-Engine

  • leichte Debugging-Verbesserungen im Management-Studio
  • "Contained Databases": Die Datenbank enthält alles, was man benötigt um sie einfach an einem anderen Server anzuhängen, z.B. Datenbankbenutzer mit Passwort (anstelle von SQL-Logins, die beim Umzug in der Master liegen bleiben und Daher am neuen Server fehlen)
  • THROW ergänzt nun TRY & CATCH. FINALY fand ich hingegen nicht. Damit gehört das alte RAISERROR der Vergangenheit an.
  • Ad Hoc Paging mittels "ORDER BY blabla OFFSET 100 ROWS FETCH NEXT 10 ROWS ONLY" (Lese Datensätze 100 bis 109).
  • Im EXECUTE kann man mittels "WITH RESULT SETS" das erwartete Ausgabeformat definieren.
  • Mit "CREATE SEQUENCE" hat man prima Zahlengeneratoren zur Hand, die unabhängig sind von einzelnen Tabellen.
  • Server-Rollen kann man nun mit CREATE anlegen.

Die Neuigkeiten in den anderen Teilbereichen, wie Analysis-Services, Reporting-Services etc, darf jemand anders zusammenfassen. Das sind nicht gerade meine Spezialgebiete… 😉

Weitere Infos findet man auch auf der Denali-Homepage.

29. Oktober 2010 um 18:11

PowerPivot

Wer einmal PowerPivot ausprobieren möchte, der könnte sich über diese Links freuen:

21. Oktober 2010 um 18:09

Hintergründe zu SQL-Slammer

Da ich mich in den letzten Monaten mit der dunklen Seite der Security beschäftige, machte mich mein Chef auf den sehr lesenswerten Artikel "The Inside Story of SQL Slammer" von David Litchfield aufmerksam.

Der leider viel zu kurze Artikel beschreibt, wie das damals war und wie der Autor das Problem erstmals entdeckte. Sein Vorgehen deckt sich auch heute mit dem Standard-Vorgehen zum Auffinden von Sicherheitsproblemen: Abstürze oder Fehler provozieren und dann gezielt nachforschen. Mir war unklar, dass der Beispielcode für SQL-Slammer ursprünglich aus einer Demo von David stammt. Das erklärt zum Teil, warum Microsoft nicht gerne möchte, dass für deren Fehler Beispielcode veröffentlicht wird. Denn obwohl es den Patch gab, wurde es einer gigantischer Wurm. Wie sich jetzt zeigt, wurde der Wurm nur dadurch möglich, dass David das Problem entdeckte und veröffentlichte…

Hier steht mehr.

16. September 2010 um 20:15

VSS-Sicherungen mit SQL Server unter Windows 7

Nach zähem Ringen mit Microsoft (Bug oder Feature) erhielten wir vor gut zwei Monaten einen Test-Fix mit dem man unter Windows 7 tatsächlich eine korrekte VSS-Sicherung von SQL-Server-Datenbanken durchführen kann.

Als wir das Problem feststellten, konnten wir es zunächst gar nicht glauben, weil sogar mit dem guten alten NTBackup von XP eine korrekte Datensicherung von geöffneten SQL-Server-Datenbanken möglich war. Dabei spricht die Sicherungssoftware über das VSS-Framework und den SQL-Writer mit dem SQL-Server und teilt ihm mit, er möge bitte kurz den IO-Freezen, erstellt dann einen Snapshot und lässt den SQL-Server dann weiter machen.
Die Windows-7-Sicherung führt die Sicherung aber über den File-Provider durch, dabei wird der SQL-Server umgangen und einfach die geöffneten Dateien gesichert. Ursache ist, dass die Liste der VSS-Writer hart kodiert wurde und offenbar ein paar als unnötig betrachtet wurden.

Der für uns erstellte Hotfix KB2288055 ist mittlerweile public und wird wohl auch im kommenden SP1 für Windows 7 enthalten sein. Dann kann man die Liste der VSS-Writer über einen Registry-Key erweitern…

Offenbar waren wir nicht die einzigen, die das Problem entdeckten. Im Juli wurde dazu bei MS-Connect ein Wunsch eingetragen. Dass zeitgleich dazu der Fix erstellt wurde, wird dabei in den Kommentaren bis heute nicht erwähnt. Seltsam…

PS: Auf den Connect-Eintrag wurde ich heute über OPIs SQL Blog aufmerksam. Leider erlaubt er keine Kommentare, daher musste ich es mit einem eigenen Artikel und einem Trackback versuchen… Leider vergeblich. 😉

Update 20:30h: Mein Versuch eine Problemlösung bei MS-Connect einzutragen ist wohl eher blöd gelaufen. Dort kann man keine Verweise eintragen. Daher sieht mein Kommentar etwas bescheiden aus… Naja, wer weiß was ein VSS-Backup ist, der wird es wohl trotzdem lesen können. Außerdem kann ich sehen, dass es in Redmond jetzt 11:30h ist. 🙂

8. August 2010 um 22:40

Patchday ohne SQL Server

Der kommende Patchday bei Microsoft wird neue Rekorde aufstellen. Ob unter den 34 Patches aber einer für den SQL-Server sein würde, war zunächst mal unklar. Während auf der offiziellen Seite der SQL-Server nicht erwähnt wird, wurde er in einem Blogbeitrag des Microsoft Security Response Centers (MSRC) genannt. Hier wurde der Eintrag inzwischen aber korrigiert: nicht der SQL Server wird gepatcht, sondern MSXML. Also ist der SQL Server beim nächsten Patchday nicht dabei…

Hier der Beitrag, der für Verwirrung sorgte: TechNet Blogs > The Microsoft Security Response Center (MSRC)

27. Juli 2010 um 20:57

Transaktionslögger lesen

Mein Kollege Mark machte mich auf das Traceflag 2537 aufmerksam: Damit kann man am Microsoft SQL Server (seit Version 2005) die Ausgabe der Funktion fn_dblog steuern: Wenn eingeschaltet, dann werden Infos aus allen Logs angezeigt, nicht nur aus dem aktiven.

DBCC TRACEON (2537)

Wofür die Funktion fn_dblog sinnvoll ist? Man kann damit den Inhalt des Transaktionslogs lesen:

SELECT [Transaction Id], [Begin Time], [UID], [SPID]
FROM ::fn_dblog (NULL, NULL)

Ein recht hübsches und ausgefallenes Beispiel beschreibt Paul Randal im Artikel "Finding out who dropped a table using the transaction log".

8. Juli 2010 um 20:55

TDS Spezifikation

Mein Kollege Vladimir machte mich darauf aufmerksam, dass Microsoft die aktuelle Spezifikation von TDS Anfang letzten Monats online stellte. Das ist dann die Version 7.0. Wer die immer schon mal lesen wollte, der findet sie hier

6. Juli 2010 um 20:35

Die Rechte der SQL Server Dienste

Mein Kollege Vladimir machte mich auf einen Artikel aufmerksam in dem die Rechte beschrieben werden, die die SQL-Server-Dienste benötigen. Wenn man sich die sehr umfangreiche Liste durchliest, dann wird klar, warum Microsoft empfiehlt diese Rechte nicht manuell zu setzen, sondern durch den "SQL Server Configuration Manager":

Always use SQL Server tools such as SQL Server Configuration Manager to change the account used by the SQL Server or SQL Server Agent services, or to change the password for the account. In addition to changing the account name, SQL Server Configuration Manager performs additional configuration such as setting permissions in the Windows Registry so that the new account can read the SQL Server settings. Other tools such as the Windows Services Control Manager can change the account name but do not change associated settings. If the service cannot access the SQL Server portion of the registry, the service may not start properly.

Die vollständige Liste der von SQL-Server-Diensten benötigten Rechte stehen im Artikel "Setting Up Windows Service Accounts".

26. Mai 2010 um 20:56

kostenloses eBook zum SQL-Server-Management

Mein Kollege Robert schickte mir den Tipp, dass es bei Quest das eBook mit dem blödsinnigen Namen "Did You Know? It’s Easy to Simplify SQL Server Management" kostenlos gibt. Leider besteht eine Registrierungspflicht. Ich gab brav eine echte Mail-Adresse an, aber es gab nur eine Bestätigungsmail für mich zur Info. Ich hätte auch eine ausgedachte oder eine von jemand anderem missbrauchen können. Mal schauen, ob ich an die Adresse nun Spam bekomme.

Ich habe das Buch mal überflogen: Es war ganz nett. Viele Grundlagen, viele Tipps. Ich halte es daher für Leute, die schon Grundkenntnisse haben und tiefer einsteigen wollen für lesenswert. Das ist nichts für Neueinsteiger, aber auch nicht für Experten. An dem Buch haben bekannte Experten mitgearbeitet, z.B. Kevin Kline. Alleine schon wegen ihm müssten eigentlich alle Quest-Software kaufen…

Die Hinweise auf weiterführende Literatur am Ende jedes Kapitels haben mir gleich gefallen. Dadurch wurde ich beispielsweise auf die SqlServerPedia aufmerksam. Konkret beeindruckte mich die Seite Index Selectivity and Column Order als gute Einsteiger-Lektüre zu dem Thema Index-Nutzung.