Glorf.it

Glorf IT

Bedenkliches aus dem IT-Alltag

21. November 2011 um 06:15

Details zu SQL Server Index-Statistiken

Der Artikel "Why can’t SQL Server update statistics on the fly?" im SQL Server Magazine von Kimberly Tripp enthält viele lesenswerte Details. Lesetipp für alle, die sich mit Performance-Analysen und -Optimierungen beschäftigen.

Ausgehend von der Frage, warum die Statistiken für Indexe nicht im laufenden Betrieb aktualisiert werden können, beschreibt sie deren Aufbau sehr schön. Ähnlich gut fand ich das bislang nur bei Itzik Ben-Gan beschrieben.

20. November 2011 um 14:50

Release Candidate 0 des Microsoft SQL Servers 2012

Der "Microsoft SQL Server 2012" Release Candidate 0 (RC0) steht bei Microsoft zum Download bereit. Viel Spaß beim ausprobieren.

20. November 2011 um 12:55

Rätselraten zu den SQL Server Lizenzen?

Seitdem Microsoft seine Pläne zu den Lizenzbedingungen des kommenden SQL Servers 2012 etwas konkretisiert hat, geht offenbar das große Rätselraten los… Dabei finde ich die Ausführungen relativ verständlich.
Witzigerweise hat sich uns sogar ein unabhängiger Lizenzberater angeboten, der uns bei der Interpretation behilflich sein will. Seine im Aquise-Schreiben androhten Horrorszenarien mochte unser Microsoft-Kundenbetreuer aber nicht bestätigen.

Aber was kann man denn nun sicher sagen?

Editionen

Microsoft kündigt drei Haupt-Editionen an:

  • Enterprise Edition
  • Business Intelligence Edition (neu)
  • Standard Edition

Folgende Editionen bleiben unverändert bestehen:

  • Express Edition
  • Developer Edition
  • Compact Edition

Die "Web Edition" wird nur noch ausgewählten Kunden angeboten, die Editionen "Datacenter" und "Workgroup" werden eingestellt. Damit wird die Enterprise-Edition aufgewertet, außerdem will am BI-Markt besser verdienen. Viele BIler schreckten vor der teuren Enterprise-Edition zurück und begnügten sich für BI mit der Standard Edition.

Lizenzen

Es gibt eigentlich auch nicht viele Veränderungen, außer einer ordentlichen Preiserhöhung. Man kann weiterhin zwischen Alternativen wählen:

  • CAL: Man kauft zusätzlich zur günstigen Server-Lizenz pro Anwender eine Client Access Lizenz (CAL). Die gilt dann für den Zugriff auf beliebig viele SQL-Server. Das wird angeboten für die Standard- und die BI-Editon.
    Für die Enterprise-Edition soll das Modell ab Mitte 2012 auslaufen. Bestehende Verträge können aber weitergeführt werden. Allerdings ist der Kauf von CALs nur bis zu einer bestimmten Anzahl attraktiv, danach war man auch bisher schon mit Prozessorlizenzen besser bedient.
  • Core-Lizenzen: Anstelle der bisherigen Prozessorlizenzen, die ich so verstanden hatte, dass es sich auf Sockets bezieht, werden nun Core-Lizenzen angeboten. Hier sind keine CALs nötig. Es trägt dem Technologiefortschritt Rechnung: CPUs mit 16 Cores sind ja jetzt schon drin. Wenn man ehrlich ist, dann ist das gerechter. Das soll für die Editionen Enterprise und Standard angeboten werden, nicht für die BI-Edition.
  • virtuelle Server: Um dadurch entstehende Preisnachteile auszugleichen bietet Microsoft zukünftig Lizenzen für virtuelle Maschinen an. Mal schauen, was die kosten (habe sie in der Preisliste offenbar übersehen). Ich habe es so verstanden, dass diese Option für alle drei kostenpflichtigen Editonen angeboten wird.

Weitere Details werden in der Preisliste und einer FAQ (PDF) angeboten.

14. November 2011 um 19:57

Kostenloser PASS-Vortrag "SQL Server 2012 (Denali)" – 15.11.2011 – Nürnberg

SQL-PASSDer kommende PASS-Vortrag ist ein echtes High-Light und eine ganz große Empfehlung. Steffen Krause (Microsoft) wird die wesentlichen Features des kommenden SQL-Servers „Denali“ vorstellen. Ich kenne den Referenten schon länger und kann sagen, dass man weit fahren muss, um ein ähnliches Vortragsniveau zu erleben.

Hier der O-Tom:

Der Microsoft SQL Server 2012 – Codename Denali – steht in den Startlöchern und wartet mit einer Fülle von Neuerungen im Bereich Enterprise Datenbanken und Business Intelligence /Data Warehouseing auf. Highlights sind das webbasiertes Reporting- und Analyse-Tool PowerView (ehemals Codename Crescent), Columnstore Index (Apollo), die Data Quality Services zur Erhöhung der Datenqualität und die SQL Server Data Tools (Juneau), die eine projektbasiertes Vorgehensweise bei der Datenbankentwicklung in der gewohnten Entwicklungsumgebung Visual Studio ermöglichen.
Steffen Krause von Microsoft gibt einen großen Überblick über die Neuerungen des SQL Server 2012 mit Fokus auf die relationale Engine: von der neuen Hochverfügbarkeitslösung "AlwaysOn" über die Neuerungen in der Volltextsuche bis zu FileTables und Columnstore Indizes.

Referent
Steffen Krause ist Senior Technical Solution Professional bei der Microsoft Deutschland GmbH. Er arbeitet seit vielen Jahren an der Implementation komplexer Informationsmanagement- und Data Warehouse-Infrastrukturen und der Vermittlung von technologischem und Prozesswissen in diesem Bereich.
In letzter Zeit ist er insbesondere auf den Gebieten große Datenbanken, Data Mining und SharePoint Technologien aktiv.

Termin: Dienstag, 15.11.2010, ab 18:30 bis ca. 20:30

Veranstaltungsort: New Elements GmbH
Thurn-und-Taxis-Straße 10, D – 90411 Nürnberg
(Alcatel-Lucent Gebäude im Nordostpark)
Kostenfreie Parkplätze sind direkt vor der Tür vorhanden.

Der Eintritt ist ebenfalls kostenlos, man muss auch kein Mitglied sein oder werden.
Wegen der Raumplanung ist eine kurze Info an die Regionalleiter der SQLPASS Franken wichtig.
Interessierte bitte daher formlos bei Klaus Oberdalhoff (kobd@gmx.de) oder Michael Deinhardt (m.deinhard@newelements.de) anmelden.
(Es geht – wie immer – dabei nur darum abzuschätzen, wie viele in etwa kommen, damit genügend Stühle da sind.)

SQL-PASS ist eine von Microsoft unabhängige SQL-Server-User-Group. Daher muss man auch keine Angst haben, dass man irgendetwas angedreht bekommt. Es gibt mehrere Regionalgruppen, unsere fränkische ist meines Wissens die Größte in Deutschland. Mehr Infos hier: www.sqlpass.de

21. September 2011 um 21:54

Der lange Abschied vom SQL Server OLE DB Provider

Microsoft hat für mich etwas überraschend angekündigt, dass Denali letztmals einen OLEDB-Provider mitbringt: Microsoft SQL Server OLEDB Provider Deprecation Announcement. Das heißt, dass mit dem Denali-Nachfolger (?SQL Server 2015?) kein SQL-Server-OLEDB-Provider mehr mit kommt. Offenbar auch nicht mit einem "Compatibility Pack". Das hat weitreichende Auswirkungen.

Einen Erklärungsversuch fand man schon in dem Blog-Beitrag "Microsoft is Aligning with ODBC for Native Relational Data Access".
Die FAQ dazu fand ich etwas hilfreicher.

Was bedeutet das?

Microsoft wird weiterhin die Datenzugriffsschicht OLEDB unterstützen, aber nicht mehr den OLEDB-Provider für SQL Server. Meines Wissen bietet Microsoft auch einen OLEDB-Provider für Oracle. Der scheint witzigerweise (noch) nicht abgekündigt zu sein.

Welche Alternativen bieten sich an?

Anwendungen, die mir OLEDB arbeiten und das auch noch mit dem Denali-Nachfolger funktionieren sollen, müssen umgestellt werden:

Und wie sieht es mit Microsoft aus?

Es gibt eine ganze Reihe von Microsoft-Technologien die über OLEDB auf den SQL-Server zugreifen. Die mir bekannten Versionen der Analysis-Serverices lesen die Daten ausschließlich via OLEDB aus den Datenquellen. Auch die Integration-Services lesen via OLEDB. In der FAQ betont Microsoft ausdrücklich, dass diese Technologien weiterhin unterstützt werden. Daher wird Microsoft diesen Datenzugriff wohl ebenfalls umstellen müssen. Ich bin mal gespannt, ob sie dafür dann ODBC wählen…

Update 22.9.2011: In dem Artikel Impact of the SQL Server OLE DB Deprecation on Analysis Services wird genau das Problem thematisiert: die Analysis-Services werden zukünftig auch via ODBC Daten lesen können. Ich gehe mal davon aus, dass das auch für andere Technologien gilt.

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.

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… 😉