Glorf.it

Glorf IT

Bedenkliches aus dem IT-Alltag

18. September 2011 um 22:56

SQL-PASS Franken: SQL Azure

SQL-PASSNach der Sommerpause widmet sich der nächste Vortrag im Rahmen der SQL-PASS Franken dem neuen Lieblingstrend von Microsoft: Azure. Der Titel in voller Länge: "SQL Azure: Was schon heute möglich ist und was als nächstes kommt". Referent ist Stephan Pepersack von der Firma Microsoft.

Der Termin ist Dienstag, den 20.9.2011 um 18:30 Uhr.
WICHTIG: Wie immer treffen wir uns zum „Apres-PASS“ danach in einem gemütlichen Lokal in der Nähe zum gemütlichen Networken, also genügend Zeit einplanen.

Es findet wieder im Vortragssaal der New Elements GmbH (Thurn-und-Taxis-Straße 10, 90411 Nürnberg) statt. Wie immer bitte vorher die Teilnahme bei Michael Deinhard (M.Deinhard(ät)newelements.de) oder Klaus Oberdalhoff (kob(ät)sqlpass.de) ankündigen, damit die Anzahl der benötigten Stühle abgeschätzt werden kann. Kosten: keine.

Hier die originale Beschreibung von Klaus:

In dieser Präsentation wird aufgezeigt, wie mithilfe von SQL Azure ganz neue Möglichkeiten für Ihr Geschäft entstehen können. Anhand von Szenarien wird der praktische Einsatz von SQL Azure vorgestellt, im Gesamtkonzept der Windows Azure Plattform positioniert und mit Beispielen und Live Demos zum Leben erweckt

Referenten Information
Stephan Pepersack arbeitet seit 5 Jahren für Microsoft Deutschland und ist seit einem Jahr als Produkt Marketing Manager für die Windows Azure Platform und Microsoft BizTalk Server verantwortlich. Zuvor hat Stephan 4 Jahre als Premier Field Engineer für BizTalk Server gearbeitet und Großkunden in Europa, dem Nahen Osten und Afrika vor Ort betreut. Vor seinem Eintritt bei Microsoft hat Stephan 3 Jahre als Consultant gearbeitet und Projekte in Deutschland als auch im Europäischen Ausland auf Basis Microsoft BizTalk Server realisiert. Stephan ist gelernter Fachberater für Softwaretechniken (IHK Fachinformatiker mit Schwerpunkt Anwendungsentwicklung).

Wer sich die nächsten Termine frei halten will, findet sie jeweils aktuell bei der SQL-PASS Franken.
Hier der heutige Stand: 18.10. / 15.11. / 13.12.

14. August 2011 um 21:21

SQLdays in Rosenheim

Vom 28.-29.9.2011 finden wieder die SQLdays in Rosenheim statt. Ich finde die Agenda noch interessanter als im vergangenen Jahr. Letztes Jahr fuhr ein Kollege von mir hin und berichtete begeistert von der Konferenz. Dieses Jahr überlege ich selber zu fahren, die Themen sprechen mich sehr an. Die SQLdays sehen sich selber als die "Fachkonferenz rund um SQL & Business Intelligence" in Deutschland. Dann könnte glatt stimmen.

Das Haupt-Thema in diesem Jahr ist "Denali", also der kommende SQL Server, der Ende dieses oder Anfang nächsten Jahres freigegeben wird. Kürzlich konnte man davon schon den CTP3 downloaden. Er bietet jede Menge Stoff für interessante Vorträge. In drei parallelen Tracks werden die Themen nach "Administration", "Development" und "Business Intelligence" aufgeteilt. Vorher und nachher gibt es jeweils einen Tag Workshop:

  • Workshop am 27. September 2011: Messwarte SharePoint 2010 – Von den Daten zum Tacho des Unternehmens
  • Workshop am 30. September 2011: Tuning-Werkstatt – Indizes und Statistiken tiefer gelegt

Der Workshop zum Thema Tuning spricht mich sehr an. Sharepoint blieb mir bisher erspart… 😉

Das sind meine persönlichen Highlights:

  • Steffen Krause hält sowohl die Keynote zu Denali
  • als auch den Vortrag, der mich am meisten interessiert: "Separation of Duties oder: Wie verhindere ich, dass mein Administrator auf bestimmte Daten Zugriff hat?".
  • Unter dem Developer-Thema "Spaß an SQL: Alle dürfen mitmachen – Kurioses aus dem Bereich T-SQL" von Andreas Rauch kann ich mir nichts vorstellen, es spricht mich aber dennoch an…
  • Ein MUSS für ale BI-ler: "BI Reloaded – die neuen BI-Features im SQL Server Denali". Ich selber habe das schon in USA hören dürfen, einfach unglaublich. Mehr darf ich nicht sagen.
  • Ebenso finde ich das Thema "Continuous Integration: Qualitätssicherung auch bei der Entwicklung von Datenbanksystemen" ansprechend.
  • Nachdem wir immer noch keine konkrete Anwendung für das Killerfeature fanden: "10 spannende Sachen, die man mit SQL Server CLR Integration machen kann"
  • Natürlich auch "Advanced SQL Server 2008 Troubleshooting" von Klaus Aschenbrenner.
  • Und zuletzt das Diskussions-Panel "Wo geht der SQL Server in Zukunft hin? Wie wird der SQL Server in 10 Jahren aussehen?"

Die komplette Agenda mit 27 Sessions steht hier. Eine Kurzbeschreibung aller Vorträge steht hier.

Wer sich bis Ende des Monats – also bis zum 31. August 2011 mit Promo-Code „SQLdays11-Glorf-IT“ anmeldet, der spart 200,- EUR (799,- EUR statt 999,- EUR)! Damit Ihr das billiger bekommt, sollte ich wohl etwas Werbung machen, so zum Beispiel (bitte Stimme von Kermit denken):

Seien auch Sie 2011 bei den SQLdays mit dabei, wenn es heißt „Von Profis für Profis“.

O-Ton aus dem Pressetext 😉

12. Juli 2011 um 23:30

SQL Server 'Denali' CTP 3 zum Download

Google Alert machte mich heute darauf aufmerksam, dass der Community Technology Preview 3 (CTP 3) des SQL Servers 'Denali' nun zum Download bereit steht. Dazu musste ich den Internet-Explorer verwenden und ein ActiveX-Control installieren, jetzt läuft der Download des CTP gerade…

Auf diese Seite machte mich Google aufmerksam, die dann auf die obige Seite verwies.

12. Juli 2011 um 23:24

kostenloses eBook: SQL Server Execution Plans

Mein Kollege Robert machte mich darauf aufmerksam, dass es aktuell das Buch "SQL Server Execution Plans" von Grant Fritchey als kostenloses eBook bei SQL Server Central gibt. Gedruckt zahlt man für das gut 250 Seite dicke Buch bei Amazon $19.79.

Ich kam noch nicht dazu es zu lesen, aber die Themen aus dem Inhaltsverzeichnis klingen richtig spannend. Hier steht der Download-Link.

9. Juli 2011 um 12:11

SQL-PASS Franken: PowerPivot vs. Analysis Service

SQL-PASSSchon wieder gelang es unserem Regionalleiter einen deutschlandweit bekannten Referenten mit einem spannenden Thema für den nächsten Vortrag im Rahmen der SQL-PASS Franken zu gewinnen: "PowerPivot vs. Analysis Service" vorgetragen durch Markus Raatz.

Der Termin ist Dienstag, den 19.07.2011 um 18:30 Uhr.
WICHTIG: Wie immer treffen wir uns zum „Apres-PASS“ danach in einem gemütlichen Lokal in der Nähe zum gemütlichen Networken, also genügend Zeit einplanen.

Er findet wieder im Vortragssaal der New Elements GmbH (Thurn-und-Taxis-Straße 10, 90411 Nürnberg) statt. Wie immer bitte vorher die Teilnahme bei Michael Deinhard (M.Deinhard(ät)newelements.de) oder Klaus Oberdalhoff (kob(ät)sqlpass.de) ankündigen, damit die Anzahl der benötigten Stühle abgeschätzt werden kann. Kosten: keine.

Hier die originale Beschreibung von Klaus:

Seit einem Jahr gibt es jetzt zwei OLAP-Applikationen in der Microsoft Business Intelligence-Plattform: die etablierten SQL Server Analysis Services 2008 R2, und der Newcomer PowerPivot für SharePoint. In diesem Vortrag vergleichen wir beide Systeme einmal auf technischer Ebene: Abfrageperformance, Aktualisierung der Daten, Komprimierung. Wer wird gewinnen?

Markus als Sprecher anzukündigen, ist ja eigentlich, wie Eulen nach Athen zu tragen
Es gibt wohl wenige aus dem SQL-Server und BI-Bereich, die Ihn noch nicht auf der einen oder anderen Veranstaltung als Sprecher gehört haben.

Seit neuestem kann man sich ja auch ganz persönlich von ihm schulen lassen, da es zwei Video2Brain Kurse von ihm gibt. (http://www.video2brain.com/de/search.htm?search_entry=Raatz).

Referenten Information

Markus Raatz halt … Seine Bio

Der Referent macht nicht viel Worte um sich selber, daher finde ich gut, dass Klaus auf seine Videos verweist.

Wer sich die nächsten Termine frei halten will, findet sie jeweils aktuell bei der SQL-PASS Franken. Im August ist wieder unser special Biergarten-Event. Letztes Jahr waren wir in einem echt schönen Biergarten in/auf der Nürnberger Mauer. Hier hatte ich Gelegenheit mit ein paar Kollegen etwas länger zu plaudern.
Hier der heutige Stand: 23.8. (Biergarten) / 20.9. / 18.10. / 15.11. / 13.12.

30. Juni 2011 um 19:42

Lesetipp zu skalaren Funktionen

In dem Artikel "Unintended Consequences of Scalar -Valued User Defined Functions" des "Microsoft SQL Server Development Customer Advisory Teams" wird ein gängiges Performanceproblem mit skalaren Funktionen beschrieben.

Leider wird nicht erwähnt, dass eine Umwandlung der skalaren Funktion in eine Table-Valued-Function (TVF) hier Abhilfe schaffen kann. Eine Erkenntnis, die ich meinem Kollegen Diethard verdanke: Da hier ein Join durchgeführt wird, ist die Performance in der Regel deutlich besser. So lange die Funktionen eine gewisse Komplexität nicht übersteigen, können sie mit vertretbarem Aufwand in eine TVF umgewandelt werden. Das hat zugleich den Vorteil, dass die Entwickler nicht mehr in Einzelsätzen denken, sondern in Mengen denken müssen.

29. Juni 2011 um 21:39

Lesetipp: Why can't I attach a database to SQL Server 2008 R2?

Neulich berichtete ich über einen gängigen Grund warum eine Datenbank nicht angehängt werden kann. Daher freut es mich, dass im Blog des "Microsoft SQL Server Development Customer Advisory Team" das Problem ein paar Tage später ebenfalls aufgegriffen wurde: "Why can't I attach a database to SQL Server 2008 R2?". Allerdings scheint Ihnen die Arbeitsweise der UAC nicht vertraut zu sein.

Ich wurde allerdings erst durch den aktuellen SQL-PASS-Newsletter darauf aufmerksam…

27. Juni 2011 um 20:58

SQL-PASS Franken: Präsentation eines flexiblen SSIS-Generators zur Erhöhung der ETL-Qualität

SQL-PASSBedingt durch die Ferien hätte ich fast verpasst, über den nächsten Vortrag im Rahmen der SQL-PASS Franken zu informieren. Obwohl es mir auf der Zunge liegt, geht es nicht um den Flux-Generator zur Reise in die Zukunft, sondern um den "flexiblen SSIS-Generator zur Erhöhung der ETL-Qualität". Das klingt ähnlich speziell, hat aber einen leicht anderen Schwerpunkt… 😉

Referent ist Markus Krenn. Leider fand ich weder die Internetseite seiner Firma, noch von ihm, daher kann ich keinen Link beifügen. Wer sie kennt, den bitte ich die Adresse als Kommentar zu posten.

Der Termin ist bereits morgen: Dienstag, den 28.6.2011 um 18:30 Uhr.

Er findet wieder im Vortragssaal der New Elements GmbH (Thurn-und-Taxis-Straße 10, 90411 Nürnberg) statt. Wie immer bitte vorher die Teilnahme bei Michael Deinhard (M.Deinhard(ät)newelements.de) oder Klaus Oberdalhoff (kob(ät)sqlpass.de) ankündigen, damit die Anzahl der benötigten Stühle abgeschätzt werden kann. Kosten: keine.

Hier die originale Beschreibung:

In Business Intelligence-Projekten sind oft sehr zeitintensiv eine Vielzahl von SQL Server Integration Service (SSIS)-Paketen für den ETL-Prozess zu erstellen und anschließend zu pflegen.
Anstelle der manuellen Paket-Erstellung hat Herr Krenn einen SSIS-Generator konzipiert und realisiert. Mit dem BIA Business Intelligence Accelerator® werden SSIS-Pakete anhand frei definierbarer Vorlagen generiert.
Dadurch erhält der Anwender eine wesentlich höhere Qualität als manuell erstellte SSIS-Pakete. Die oft sehr zeitintensive Erstellung und spätere Pflege der SSIS-Pakete fällt weg. Die integrierten Berichte bilden eine umfassende Dokumentation der Lösung und sind stets aktuell. Als Add-In von Visual Studio integriert es sich nahtlos in die BI-Entwicklungsumgebung.
Herr Krenn wird in seinem Vortrag seinen Lösungsvorschlag vorstellen und einen technischen Überblick der Software und den Einsatzmöglichkeiten geben.

An dieser Stelle komme ich nicht umhin mich über das "®" zu wundern. Der originelle Name "Business Intelligence Accelerator" ist mir nämlich schon gleich mehrfach begegnet, z.B. gibt es einen bei SAP ("SAP NetWeaver® BUSINESS
INTELLIGENCE ACCELERATOR
"), Deloitte ("Retail Business Intelligence Accelerator") oder Oracle (Oracle Retail Business Intelligence Accelerator). Ich finde es immer wieder bedauerlich, dass so Allerweltsbegriffe gemischt und dann geschützt werden. Das gilt übrigens auch für "SQL Server", "Windows" oder Apple.

Aber mal zur Sache: Wenn man wirklich als BI-Berater unterwegs ist und regelmäßig SSIS-Pakete erstellen muss, dann könnte ich mir schon denken, dass der generative Ansatz nützlich ist. Da ich die SSIS gar nicht nutze, kann ich das aber nicht wirklich beurteilen.

So beschreibt der Referent sich selber:

Referenten Information
Markus Krenn ist seit vielen Jahren als BI-Berater tätig. Der Schwerpunkt liegt in BI-Projekten, die auf Basis von Microsoft BI Technologie umgesetzt werden. In den Projekten stellt er fest, dass viele Tätigkeiten auch automatisiert erstellt werden könnten – schneller und mit höherer Qualität als manuell. Dies veranlasste ihm 2010 das Unternehmen BIA Business Intelligence Accelerator E.U. mit Sitz in Linz zu gründen, das sich mit der softwaregestützten, standardisierten Einführung von Business Intelligence beschäftigt nach dem Motto „BI-Lösungen anstatt BI-Projekte“

Ich finde es positiv, dass bereits in der Beschreibung steht, dass der Referent für sein Produkt und seine Firma werben wird. Da ich mich dienstlich der Einladungen zu Produktpräsentationen kaum erwehren kann, bin ich nicht traurig, dass ich an dem Abend bereits anderweitig engagiert bin. 😉

Wer sich die nächsten Termine frei halten will, findet sie jeweils aktuell bei der SQL-PASS Franken. Hier der heutige Stand: 19.7. / 23.8. (Biergarten) / 20.9. / 18.10. / 15.11. / 13.12.

15. Juni 2011 um 20:14

Die Hacks gegen Sony – SQL-Injection überwiegt

Nachdem es etwas ruhiger um Sony wurde, lohnt sich der Rückblick. Mich interessierte wie es sein kann, dass ein großer Konzern wochenlang immer wieder mit Sicherheitslücken zu kämpfen hatte und ob mich das als Datenbänker irgendwie tangiert. Der Titel sagt es ja schon: ja, es hat sehr viel mit SQL zu tun.
Vermutungen über Hintergründe äußerte ich bereits an anderer Stelle. Daher hier erst mal das Ergebnis meiner Recherchen:

  • Anonymous kündigt Aktionen gegen Sony an:
    Ab dem 4.4.2011 beginnen DoS-Attacken gegen Sony-Webseiten durch das Anonymous-Kollektiv (Details). Weil das die Spieler aber massiv stört, hören sie am 7.4. wieder damit auf und entschuldigen sich bei den Spielern.
  • 16.4.2011: Die Daten von Sony Online Entertainment (SOE) werden geknackt: erbeutet werden 24,6 Millionen Kundendaten (inkl. Kreditkartendaten bzw. Konteninfos). Entdeckt wurde das aber erst nach intensiven Untersuchungen rund um den PSN-Hack am 2.5.2011. Details siehe Heise.de. Zu diesem Hack hat sich meines Wissens noch niemand bekannt, dass führt zu einer Vermutung:
  • 19.4.2011: Offenbar wurden durch die Aktionen auch echte Hacker/Cracker auf die Lücken bei Sony aufmerksam. Sie hacken sich in deren Spieler-Netz PSN, erbeuteten Millionen von Kredikarteninfos und bieten sie angeblich zum Kauf an. Der Einbruch gelingt, weil Sony Software mit 5 Jahre lang bekannten Sicherheitslücken nicht aktualisierte. Wie peinlich.
    Spiegel.de berichtete: "Hacker haben Daten von Millionen Nutzern der Online-Dienste des Konzerns erbeutet. Es geht um Adressen, Passwörter und möglicherweise auch um Kreditkartennummern, warnte Sony. Mehr als 75 Millionen Nutzer des Playstation Network (PSN) und des Video- und Musikservices Qriocity weltweit sind betroffen."
    Eine ganz ausführliche Beschreibung findet man im Artikel PSN-Hack Timeline – Die ganze Geschichte!.
  • 7.5.2011: Veraltete Kundendaten von einem eigentlich inaktiven Sony-Webserver können ganz leicht via Google eingesehen werden: sie schlummerten seit 2001 als Excel-Datei nur ungenügend geschützt auf einem Webserver. Details siehe thehackernews.com und Sophos.com. Wie peinlich ist das denn?
  • 17.5.2011: 2 Tage nach dem Neustart des PSN meldet die Spiele-Webseite Nylevia ernsthafte Probleme. Man kann leicht die Passwörter fremder Accounts ändern.
    Details bei Heise.de: "Dazu musste der Angreifer lediglich die E-Mail-Adresse und das Geburtsdatum des PSN-Mitglieds kennen. Diese Informationen gehören zu den persönlichen Daten, die die Datendiebe bei ihrem Einbruch in das PSN Mitte April erbeuten konnten."
  • 20.5.2011: auf der Webseite von Sony-Thailand wurde injizierter Phishing-Code entdeckt, der Kreditkartendaten abgegriffen hat. Details siehe F-Secure.com.
  • 21.5.2011: Der Internet-Provider SO-NET, der zu Sony gehört, wurde gehackt. Laut Heise-Online werden
    aus dem Kunden-Bonus-System nur ein paar Punkte erbeutet.
  • 21.5.2011: Die Webseite von Sony-Music in Indonesien wird von einem Hacker geknackt und verändert. So etwas nennt man Defacement.
  • 21.5.2001: Schlechter Tag für Sony, denn auch Sony-Music in Griechenland wurde gehackt und die Inhalte geändert. Das passierte laut thehackernews.com mittels einfacher SQL-Injection.
  • 23.5.2011: Gleich zwei neue SQL-Injection-Lücken werden auf Sony-Music Japan von LulzSec veröffentlicht. Diese Lücke erfordert wenig Kenntnisse. Spätestens jetzt ist Sony in der Fachwelt blamiert. Die Art der dabei zugänglichen Informationen sind hier einzusehen.
  • 24.5.2011: Die Webseite von Sony-Ericsson in Kanada wird durch den Hacker Idahc gehackt. Dabei kommen Kundendaten zu Tage (Mail, Name, Passwort-Hash, …), als Beweis werden 2000 Beispiele veröffentlicht. Wer weiß wie viele Daten von bösen Buben schon entwendet wurden. Der Screenshot zeigt: auch hierbei handelt es sich im Prinzip um eine SQL-Injection.
  • 27.5.2010: Diesmal wird bloß eine XSS-Verwundbarkeit im Sony Playstation Store veröffentlicht. Schon fast ein kleiner Fisch…
  • Am 2.6.2011 wird SonyPictures.com von LulzSec wieder mittels einfacher SQL-Injection geknackt. Am gleichen Tag werden 8 Datenbanken gehackt: Dort finden sie eine lange Liste von sensiblen Daten in verschiedenen Tabellen frei zugänglich: Benutzerdaten, teilweise inkl. Geburtstag und Klartext-Passwort. Details über die acht Hacks.
  • Am 3.6.2011 wird dann die Webseite von Sony Europa durch den Hacker Idahc gehackt. Wieder mittels SQL-Injection, diesmal werden wieder Klartext-Passwörter und sonstige persönliche Daten erbeutet…
  • Am 5.6.2011 ist dann die russische Webseite von Sony-Pictures dran: SQL-Injection was sonst. Die üblichen Inhalte…
  • Ebenso am 5.6.2011 ist die Webseite von Sony-Music Brasilien mit Defacement dran: Die Inhalte wurden durch eine "Owned"-Meldung ersetzt, die über 12 Stunden online war.
  • Am 6.6.2011 gelingt es LulzSec das Developer-Network von Sony zu hacken und veröffentlicht als Beweis dort erbeutete Quelltexte.
  • Am 6.6.2011 veröffentlicht LulzSec interne Pläne über das Netzwerk bei Sony BMG, deren Infos wertvole Informationen für weitere Angriffe geben. Es ist unklar wo die herkommen. Offenbar sind sie auch dort eingedrungen.
  • Am 8.6.2011 wird die Webseite von Sony-Musik-Webseite in Portugal (SonyMusic.pt) wieder von Adahc gehackt. Diesmal gleich auf drei verschiedene Arten: SQL-Injection, XSS (cross-site scripting) und iFrame-Injection. Und was kam zutage? Das übliche…
  • Ebenfalls am 8.6.2011 bestätigt Sony-Japan, dass es einem Hacker gelang durch Spoofing Punkte im My-Sony-Club zu erbeuten. Dieser Club scheint also auch nicht sicher zu sein.

Und was lernen wir daraus? Die Webseiten von Sony konnten mit ganz alten und einfachen Tricks penetriert werden. Sony lernte nicht aus den Fehlern, Sony aktualisierte die Software nicht und hätte mal besser etwas mehr Geld für Sicherheitsfachleute investiert…

Was geht mich das als DB-Entwickler an?

Als Resümee aus der obigen Liste fallen mir drei Dinge ins Auge:

1. Wenn man die Liste durchgeht, dann überwiegen die SQL-Injection-Angriffe. Sie sind auch die Angriffe mit den schlimmsten Datenlecks. Ein Defacement ist ja noch harmlos, aber das Auslesen von Kundendaten ist kein Spaß. In einem Artikel verweist Sophos resigniert auf deren Artikel "Securing Websites".

2. Wenn ich mir die exponierten Daten so ansehe, dann kommt die Frage auf: Warum werden Passwörter im Klartext gespeichert? Wenn ein Hash gespeichert wird, ist er dann wenigstens gesalzen?

3. Wegen der vielen heterogenen Systeme wurden die gleichen Fehler immer und immer wieder gemacht. Offenbar hinderte die Organisationsstruktur die Sony-Admins und -Entwickler daran schnell und effizient Erfahrungen auszutauschen. Anders ist es nicht zu erklären, warum auch nach Wochen der ersten SQL-Injection-Angriffe immer noch weitere Webseiten dagegen verwundbar waren.

Diese drei Punkte gehen DB-Entwickler schon etwas an… 😉

PS: Als ich fast fertig war, entdeckte ich eine sehr gute und knappe englische Liste der Hacks… Pech. Die ist auch deswegen interessant, weil darin auch alte Hacks enthalten sind.

12. Juni 2011 um 20:51

die guten alten Tastaturkürzel

Nach der Installation des "SQL Servers 2008 R2" auf meinem rechner daheim, musste ich mit Enttäuschung feststellen, dass die guten alten Tastaturkürzel nicht mehr funktionierten. Z.B. Strg+n zum Öffnen eines neuen Abfragefesters. Ich musste dauernd zur Maus greifen – wie eklig.

Um die alten Tastenkürzel wieder zu bekommen, muss man das Tastaturlayout umschalten: Extras -> Anpassen -> Reiter "Befehle" -> "Tastatur" (links unten) -> Tastaturschema "SQL Server 2000". Und schon ist es wie damals…

Hier meine Favoriten (hier die vollständige Liste):

  • Strg+e – Ausführen (wie F5)
  • Strg+t – Ausgabe der Abfrage als Text anzeigen
  • Strg+d – Ausgabe der Abfrage als Grid anzeigen
  • Strg+n – Neues Abfragefenster öffnen
  • Strg+r – Ausgabeteil in Abfragefester aus-/einblenden
  • F4 – Eigenschaften des aktuellen Objektes einblenden (besonders bei der Analyse von Zugriffsplänen spannend)
  • F8 – Objekt-Explorer ein-/ausblenden
11. Juni 2011 um 12:44

Betriebssystemfehler 5 (Zugriff verweigert)

Heute fiel ich auf eine echt alte Geschichte rein, die mir Dank der neuen Systemkonfiguration passierte. An meinen frisch Daheim installierten "SQL Server 2008 R2" wollte ich die guten alten Testdatenbanken (z.B. Pubs, Northwind und AdventureWorks) anhängen. Ich setze erstmalig auch daheim einen 64-Bit-SQL-Server auf meinem 64-Bit-Windows-7 ein. Aber das Anhängen wurde mit einem eigentlich eindeutigen Hinweis verweigert:

Meldung 5120, Ebene 16, Status 101, Zeile 1
Die physische Datei 'E:\SQL-Scripts\Data\NORTHWND.MDF' kann nicht geöffnet werden. Betriebssystemfehler 5: '5(Zugriff verweigert)'.

Ich versuchte es zunächst über die grafische Oberfläche und dann mittels SQL: Beides wurde abgelehnt.

Die naheliegende Lösung erwies sich als unzutreffend: Der SQL-Server-Prozess hatte ausreichende Rechte auf die Dateien. Sie waren auch nicht im Zugriff durch andere Prozesse. Sogar REN, MOVE und COPY mittels xp_cmdshell war möglich.

Wie sieht es mit meinen Rechten aus? Ich bin Mitglied der lokalen Gruppe der Administratoren, die Vollzugriff auf die Dateien hat. Normale Benutzer hingegen hätten tatsächlich nicht genug Rechte gehabt. Macht es schon Klick? Ja, richtig: Schuld hat die Benutzerkontensteuerung (User Account Control, UAC).

UAC

Wenn man sich an einem Rechner mit dem vordefinierten Benutzer "Administrator" anmeldet, dann ist die UAC generell ausgeschaltet, damit man mit solchen Problemen gar nicht erst belästigt wird.

Normale Benutzer, die dann durch Mitgliedschaft der Gruppe "Administratoren" zu Admins gemacht werden, haben damit aber zu kämpfen. Obwohl man Admin ist werden erst mal alle Programme nur mit einem normalen Benutzertoken gestartet, d.h. der Prozess hat nur die Rechte von normalen Benutzern.
Bei Admin-Werkzeugen ist zum Beispiel in dem Manifest festgelegt, dass Admin-Rechte nötig sind. Man muss daher den Start bestätigen, dass man hier jetzt mit Admin-Rechten unterwegs ist.

Das war beim "SQL Server Management Studio 2008 R2" (SSMS) nicht der Fall. Beim Start kam keine UAC-Frage hoch. Daher war der Prozess nur mit normalen Benutzerrechten unterwegs (obwohl ich Admin bin). Das konnte ich auch leicht dadurch überprüfen, dass ich im SSMS versuchte den Dienst zu stoppen: erst jetzt kam die UAC-Meldung, die Admin-Rechte erforderte.

Was hat das alles mit dem Anhängen zu tun?

Der von Betriebssystem abgelehnte FileOpen wird vom SQL-Server-Prozess durchgeführt und nicht vom SSMS. Daher sollten die Benutzerrechte des Tools keine Rolle spielen, sondern nur die des SQL-Server-Prozesses. In bestimmten Situationen führt aber der SQL-Server eine Impersonifizierung mit dem Aufrufer beim Anhängen von Datenbanken aus: wenn man Windows-Authentifizierung verwendet. Früher auch noch, wenn man sich mit Named-Pipes verband und SQL-Authentifizierung verwendete. Seitdem Named-Pipes auf Shared-Memory umgeleitet wird, scheint das nicht mehr so zu sein (ich glaube seit SQL Server 2005).

Warum kam der UAC-Dialog nicht beim Assistenten zum Datenbank anhängen?

Wenn man sich bspw. mit dem SA verbindet, dann führt der SQL-Server keine Impersonifizierung durch (wie denn auch: er weiß ja nicht, welcher Windows-Benutzer dahinter steckt). Das Anhängen wird daher mit den Rechten des Benutzers durchgeführt in dessen Kontext der SQL-Server-Prozess läuft.

Abhilfemöglichkeiten

  • Das "SQL Server Management Studio" immer mit Adminrechten starten. Dazu kann man sich eine Verknüpfung anlegen und bei der im Reiter Kompatibilität "Programm als Administrator ausführen" festlegen.
  • Für solche Dinge den "SA" verwenden.
  • Man sorgt dafür, dass man persönlich die nötigen Dateirechte hat, nicht nur über die Gruppe der Administratoren geerbt.

Nicht reproduzierbar?

Wer das nicht reproduzieren kann, der sollte bitte die Dateirechte kontrollieren. Wenn eine Datenbank einmal angehängt war, dann werden die Rechte beim Trennen der Datenbank umgeschossen. Hier bekommt der "Trenner" Vollzugriff und dann klappt das nächste Mal freilich das Anhängen problemlos… 😉

30. Mai 2011 um 19:07

Buchvorstellung: Microsoft TRANSACT-SQL – The Definite Guide

Weil ich in den letzten Wochen ohnehin das Buch "Microsoft TRANSACT-SQL – The Definite Guide" von Jeffrey Garbus, Alvin Chang, Plamen Ratchev und Joe Celko gelesen habe, habe ich auch gleich eine Buchrezension dazu geschrieben. Sie wurde heute in der Juni-Ausgabe des SQL-PASS-Newsletters veröffentlicht.

Wer mag, kann sich auf der Webseite des Verlages eine eigene Meinung über das Buch bilden. Dort ist Google Preview eingebettet und man kann fast das ganze Buch online anschauen. Ich persönlich war enttäuscht. Der Titel und die Beschreibung hatten allerdings auch große Erwartungen geweckt. Für Leute mit fortgeschrittenen Kenntnissen im Performancetuning ist es meiner Ansicht nach eher nicht geeignet, aber durchaus für Einsteiger, die sich mit dem Thema erstmals befassen.