Dez 29

Neben einer neuen SQL Server Version erwartet uns in Kürze auch eine neue Version des Self-Service-BI-Tools PowerPivot! PowerPivot ist ein kostenloses Addon für Microsoft Excel 2010, welches den Umgang mit besonders großen Datenmengen erlaubt.

Die derzeit aktuelle Version PowerPivot 10.5 (basierend auf SQL Server 2008 R2) wird zusammen mit diesem Feature als einfaches Tool beworben Daten zu analysieren, die den Rahmen von Excel (sprich 1048576 Zeilen) sprengen. Durch die Komprimierung der VertiPaq-Engine geschieht dies sogar sehr flott und mit geringem Arbeitsspeicheraufwand.

Der Version 10.5 sind jedoch auch einige Grenzen gesetzt. Viele Anwender vermissen eine grafische Darstellung der importierten Datenstrukturen, sodass ein gewisses Verständnis für Datenbanken erforderlich ist, um mit PowerPivot umgehen zu können. Experten hingegen vermissen Features aus der multidimensionalen Welt, insbesondere den DrillThrough. In Version 2012 kommt Microsoft beiden Anwendergruppen einige Schritte entgegen.

Diagrammsicht in PowerPivot 2012

Für eine etwas intuitivere Bedienung sorgt in Version 2012 die Diagrammsicht, welche übrigens auch im neuen BI-Studio (basierend auf Visual Studio 2010) eingeführt wurde. Alle Referenzen werden nun in einem Datenbankdiagramm dargestellt, die Entitäten sind manuell beliebig anzuordnen und auch die aus Analysis Services bekannten Perspektiven erlauben es Ordnung in größere Modelle zu bringen.

Datenbankdiagramm

Etwas betrüblich an dieser Stelle ist, dass das Erstellen von Beziehungen zwischen zwei Tabellen noch über den selben Dialog wie in PowerPivot 10.5 läuft. Ein Erstellen von Beziehungen mit der Maus, wie es bei Microsoft Access möglich ist, würde das Paket abrunden. Auf diese Funktion dürfen wir wohl vielleicht in der Folgeversion hoffen.

Hierarchien und KPIs

Aus der Welt von Analysis Services finden noch weitere Features Einzug in PowerPivot. Das Definieren von Hierarchien gestaltet sich in der Diagrammsicht sehr einfach. In der oberen rechten Ecke findet sich an jeder Entität ein Symbol zum Erstellen einer neuen Hierarchie. Es wird eine leere Hierarchie hinzugefügt, in die per Drag and Drop dann Spalten hineingezogen werden können. Die erste Spalte stellt dabei die oberste Hierarchieebene dar usw..

image

Das Erstellen eines KPIs ist im Release Candidate noch etwas kniffliger. Der Button “KPI erstellen” suggeriert, dass es möglich wäre in der Diagrammsicht einen KPI zu definieren. Es ist jedoch notwendig in die Datensicht zu wechseln und dort in der unteren Hälfte der Anzeige ein neues Measure zu definieren. Nur auf neu definierte Measures kann dann ein KPI erstellt werden.

Im folgenden Beispiel ist der Durschnitt aller Internetverkäufe aus der beliebten AdventureWorks-Datenbank als Measure per Data Analysis Expressions (DAX) definiert. Das Dreifarbige Symbol neben dem Wert zeigt an, dass auf diesem Measure bereits ein KPI definiert wurde. Etwas irritierend an dieser Stelle ist auch, dass im Fall der AVERAGE-Funktion im PowerPivot-Fenster bei Währungswerten ein um den Faktor 10.000 zu großer Wert angezeigt wird. In der Excel-Pivot-Tabelle stimmt es aber dann wieder (rechtes Bild).

imageimage

Drillthrough

Ein kleines, aber feines, neues Feature ist der im nun verfügbare Drillthrough. Versuchte man in der bisherigen PowerPivot-Version auf einer Pivot-Tabelle die Funktion “Details anzeigen” aufzurufen, erhielt man lediglich die Meldung, dass diese Funktion nicht verfügbar sei.

In PowerPivot 2012 führt Excel auf die hinterlegten Daten eine Abfrage aus und schreibt das Ergebnis in ein neues Tabellenblatt, welches dann vom Benutzer durchsucht werden kann. Standardmäßig werden 1000 Zeilen abgefragt, reicht dieses nicht, kann der Benutzer in der Registerkarte Daten auf Verbindungen gehen und dort in den Eigenschaften der PowerPivot-Verbindung die Anzahl Zeilen erhöhen. Dies muss jedoch geschehen, bevor Details anzeigen geklickt wird.

image

Fazit

Microsoft hat in der neuen Version einige wichtige Verbesserungen eingebaut, jedoch sind einige Funktionen teilweise noch zu umständlich zu Bedienen, sodass der Anwenderkreis kleiner ist, als er sein müsste.
Verschiedene Bugs stören in der RC0 noch, so konnte ich für diesen Bericht keinen Performancevergleich zwischen PowerPivot 10.5 und 2012 durchführen, da beim Import meiner Testdatenbank in der Version 2012 ein Fehler aufgetreten ist. Diesen werde ich nachreichen, sobald die finale Version erschienen ist.

Weiterführende Literatur

Getting started with DAX – Eintrag in der MSDN
Microsoft PowerPivot(TM) for Excel 2010: Give Your Data Meaning
PowerPivot for the Data Analyst: Microsoft Excel 2010

Dieser Artikel wurde auch im Business Intelligence Blog der PTS Group AG veröffentlicht

Sep 07

Kommende Woche findet ein Treffen des PASS Deutschland e.V. in Bremen statt.
Dort werde ich einen Abriss über die neuen Funktionen in SQL Server Denali geben und die CTP3 auch vorführen.

Alle Interessierten sind herzlich eingeladen.

Stattfinden wird das Treffen am 14.09. von 18 bis ca. 21 Uhr in der Linzer Straße 4 in Bremen bei der PTS Group AG.
Die Räumlichkeiten befinden in der Nähe der Universität.

Ich freue mich auf euer Erscheinen.

Tags:
Mai 02

Mit dem Release von SQL Server 2008 R2 hat Microsoft die Einsatzgebiete des SQL-Servers erweitert, indem neue Features und Editionen geschaffen wurden. Oftmals wird von SQL-Server Fast Track als eine neue Edition gesprochen. Doch dies ist nicht richtig, denn Fast Track liegt eine Enterprise Edition zugrunde – aber was ist Fast Track dann?

Ende 2009 veröffentlichte techconsult im Auftrag von Microsoft eine Studie, welche dem SQL-Server einen Anstieg des Marktanteils in Deutschland, gemessen an den verkauften Lizenzen, auf 26,1%. Damit wurde der Konkurrent Oracle (21,3%) erstmalig überholt, was vor allem auf die Lizenzpreise zurück geführt wurde.
Doch der Preis ist nicht immer das ausschlaggebende Argument für eine Lösung. Bei unternehmenskritischen Lösungen spielen Kriterien wie Stabilität und Performance möglicherweise eine deutlich größere Rolle. Und wer kennt diese Probleme im Software-Dschungel nicht. Das Beste Software-Produkt kann in verschiedenen Umgebungen sehr unterschiedliche Leistungswerte erreichen und auch mit der Stabilität ist es manchmal nicht weit her.
Hier lohnt sich ein Blick auf den Markt für SmartPhones. Mit Windows Mobile konnte Microsoft hier keinen Fuß fassen, dieses System ist zwar hochflexibel und anpassbar, doch genau dies führte zu einer Vielzahl von Installationen, wie sie unterschiedlicher nicht sein könnten. Viele Modelle frieren regelmäßig ein oder leiden unter geringer Geschwindigkeit – für manchen Technikfreak kein Problem, für die Allgemeinheit nervtötend. Apple war der erste Hersteller, der Software und Hardware bei Smartphones optimal aufeinander abstimmte und setzte damit einen neuen Trend, der einschlug wie eine Bombe.
Genau diese Idee liegt SQL Server Fast Track zu Grunde – Software und Hardware werden perfekt aufeinander abgestimmt. In der Praxis heißt das: bestimmte Hardware-Konfigurationen werden nach intensiven Tests als Fast Track-geeignet zertifiziert und mit dem hübschen Titel “Fast Track Referenz-Architektur” geschmückt.

Die Fast Track Architektur

Um eines vorweg zu nehmen: Fast Track eignet sich nicht für jedes Anwendungsszenario, genau genommen ist Fast Track speziell für Data Warehouses im Bereich von 4 bis 48TB Daten entwickelt worden.

Ein Fast Track-System besteht aus einem physischen Server, der über Fiber-Channel an mindestens eine SAN angeschlossen ist. Kleinere Fast Track-Systeme sind skalierbar und können durch das Einbauen von RAM sowie CPUs und Anschließen weiterer Storage-Einheiten weiter ausgebaut werden.
Das Fast Track-System beheimatet idealerweise das Data Warehouse sowie die Staging-Datenbanken, führt jedoch selbst keine ETL-Prozesse aus, beinhaltet keine Cubes, keine Data Marts und auch keine FrontEnd-Anwendungen.

Damit ist der Anwendungsbereich stark eingeschränkt. Wird dieser genauer betrachtet, ist dieses aber auch schlüssig. Data Warehouses werden klassischerweise mit großen Datenmengen aus den Vorsystemen gefüllt, daraus werden wieder große Datenmengen ausgelesen um Data Marts oder multidimensionale Datenbanken aufzubauen.
Für diese Szenarien ist mit einer Fast Track-Architektur ein signifikanter Performance-Vorteil möglich, da Hardware- und Softwarekonfiguration auf sequentielles Lesen und Schreiben optimiert sind, zufällige Lese- und Schreibvorgänge, und damit aufwändiges Neupositionieren der Schreib/Leseköpfe, werden vermieden. So ist es möglich, dass für diese Szenarien die Performance der Installation voraus berechnet werden kann bzw. die Dimensionierung des Servers berechnet werden kann, wenn die voraussichtlichen Workloads bekannt sind.

Technischer Einblick

Microsoft schreibt eine Reihe von Anforderungen an ein Fast Track System vor und stellt diese anhand eines Beispielsystems mit zwei AMD-Opteron Prozessoren und insgesamt acht CPU-Kernen vor. Um diesen Artikel allgemeiner zu halten werden basierend auf den AMD-Konfiguration folgende Variablen definiert und im weiteren Verlauf des Textes verwendet. Für Intel basierte Systeme ist das Verhältnis der CPU-Kerne pro CPU anders.

n  -  Anzahl SQL-Server Datenbanken (beliebig)
k  -  Anzahl CPU-Kerne
p  -  Anzahl verwendeter Prozessoren
s  -  Anzahl verwendeter Storage-Einheiten (SAN)
f  -  Anzahl verwendeter Festplatten insgesamt
r  -  Anzahl RAID-1-Paare je Storage-Einheit

  • Minimum 4 GB RAM je Kern
  • Lokal mindestens zwei Festplatten im RAID-1 für OS und SQL-Server Installation
  • Je physischer CPU wird in der Regel eine Speicher-Einheit zugeordnet, also s = p.
    Im Endeffekt wird je verfügbaren CPU-Kern ein Platten-Paar für Datenbankdateien sowie ein Platten-Paar je CPU-Sockel für Protokolldateien benötigt.
    f = 2*k + 2*p
  • Verbindung zum Speicher, in Form eines SANs, muss über Fiber Channel erfolgen
    Der Bereich im FC-Switch muss isoliert sein, ebenso muss Multipath I/O (MPIO) verwendet werden
  • Im SAN werden die Platten in RAID-1-Paaren à zwei Platten konfiguriert.
    Die Anzahl der RAID-1-Paare ist f / 2.
    Je Storage Einheit ergibt sich r = f / (2*s)
  • Jede LUN muss als separates Laufwerk in Windows erscheinen oder als separates Verzeichnis eingebunden werden

Damit dieses Kraftpaket seine Leistung auch wirklich entfalten kann, muss die Konfiguration der Datenbanken nach den üblichen Empfehlungen erfolgen, nur dass diese hier nicht auf Laufwerke, sondern LUNs zugeordnet werden.

  • Für die Datenbanken und TempDB werden paare aus zwei LUNs mit zwei Platten gebildet. In die ersten r Gruppen werden die Datenbanken gleichmäßig aufgeteilt, sie bestehen dann jeweils aus einer mdf- und r-1 ndf-Dateien
  • Die Protokolldateien werden auf einer LUN abgelegt, welche aus der verbleibenden RAID-1-Gruppe besteht. Es werden n+1 ldf-Dateien abgelegt.
    • Der Speicher der Datenbankdateien wird bereits im Dateisystem reserviert, das automatische Datenbankwachstum ist deaktiviert

Die folgende Grafik zeigt Beispielhaft die Dateistruktur im RAID auf einer Speichereinheit.

image

Benchmark-Ergebnisse

Der Erfolg oder Misserfolg einer Fast Track Konfiguration misst sich in der Maximum CPU Core Consumption Rate (MCR), wobei dies für die Datenmenge steht, die ein einzelner CPU Kern bei einer Standardabfrage verarbeiten kann, unter der Annahme, dass die Daten Seitenkomprimiert vorliegen.

Mit dem Referenzsystem bestehend aus 2x AMD Opteron CPUs mit je vier Kernen = 8 Kerne gesamt, 4x 8Gbps Fiber Channel HBA Anschlüsse auf zwei SANs wurde im Test bei Microsoft eine MCR von 200 MB/s erreicht, das sind also 1.600 MB/s Leistung des Gesamtsystems.
Ein Ergebnis, das sich sehen lassen kann.

Spielregeln bei Fast Track

Um den SQL-Server dazu zu bringen zufällige Schreib/Lesevorgänge zu vermeiden, muss das Datenbankdesign wohl durchdacht sein. Die Empfehlungen hierfür sind im Architektur-Referenz-Handbuch für Fast Track genau beschrieben und bestehen im wesentlichen aus folgenden Punkten:

  • Microsoft empfiehlt für Tabellen, die in der Regel komplett, oder zumindest zu einem großen Teil abgefragt werden, den Einsatz von Heap-Tabellen. Wobei hier gleich eine Einschränkung gesetzt wird, denn Heap-Tabellen erreichen ihren maximalen Datendurchsatz bei 32 Datenbankdateien, weshalb auf Data Warehouse-Ebene für Faktentabellen der Einsatz von Heap-Tabellen auf Fast Track Systemen nur bis 16 CPU-Kerne empfohlen wird.
    Ist dies der Fall sollte nach Art der Abfrage partitioniert werden, bei dem Aufbau von Cubes sollte sich die Partitionierung an der des Cubes ausrichten
  • Tabellen mit gruppierten Indexen werden logischerweise empfohlen, wenn erwartet wird, dass Abfragen häufig auf einen bestimmten Schlüssel erfolgen. Sinnvoll kann ein gruppierter Index auch sein, wenn nach Datum partitioniert wurde. Die Verwendung von gruppierten Indexen in anderen Fällen sollte genau überdacht werden, da der Index, und somit die Daten, möglicherweise fragmentiert, was zufällige Lese/Schreibvorgänge und somit starke Performanceeinbrüche zur Folge hätte.
    Auch hier ist das A und O wieder die gut überlegte Wahl der Partitionierung.
  • Nicht gruppierte Indexe sollten nach Möglichkeit vermieden und wirklich nur dann eingesetzt werden, wenn es Abfragen mit einer sehr kleinen Anzahl von Zeilen geben sollte
  • Um der Fragmentierung Herr zu werden sollten Indexe nicht reorganisiert, sondern neu aufgebaut werden. Bei dem Neuaufbau eines Index sollte SORT_IN_TEMPDB = True gesetzt sein, um eine Fragmentierung der Dateigruppe vorzubeugen

Diese Regeln sind im Bezug auf ein idealtypisches Data Warehouse schlüssig. Abweichende Anforderungen, durch Wünsche des Auftraggebers oder mangelndes Wissen des Architekten, können bei einem Fast Track-Projekt leicht zu einer Herausforderung werden. Die Beachtung dieser Regeln ist wärmstens zu empfehlen, um erfolgreich ein schnelles Fast Track Datawarehouse zu implementieren.

Weitere Informationen

Gibt es bei Microsoft.

Dieser Artikel wurde auch im Business Intelligence Blog der PTSGroup veröffentlicht

Tags:
Apr 26

Ende letzten Jahres haben Microsoft und Attunity vereinbart die Change Data Capture (CDC) Technologie von Attunity in den neuen SQL Server einfließen zu lassen (Pressemeldung von Attunity).  Microsoft wird somit die seit SQL Server 2008 vorhandene CDC Technologie um eine neue Ergänzen oder Ablösen, Grund genug dieses genauer unter die Lupe zu nehmen.

Arbeitsweise des CDC auf LogFile Basis

Eine CDC Technologie ermöglicht es in nahezu Echtzeit Veränderungen an einer Datenbank festzustellen, um dann diese veränderten Daten in eine andere Datenbank zu kopieren. Ein klassischer Anwendungsfall für die Verwendung von CDC ist der Aufbau von Data Warehouses, da so statt sehr langläufiger ETL-Prozesse, in kurzen Abständen kleine Datenmengen geladen werden können. So kann das Data Warehouse deutlich aktueller gehalten werden und die Last auf die Vorsysteme verteilt sich gleichmäßig. Ebenso kann CDC zur Auditierung genutzt werden, um Datensatzänderungen zu dokumentieren.

Oftmals wird CDC jedoch durch das Verwenden von Triggern implementiert, was eine permanent erhöhte Last und verringerte Performance in den Vorsystemen zur Folge hat. Die in SQL Server 2008 bereits integrierte, sowie die von Microsoft lizensierte Attunity-CDC Technologie basieren auf der Analyse von Datenbankprotokolldateien. Dies hat den Vorteil, dass dies außerhalb der Transaktionsklammer im Datenbankmanagementsystem erfolgt, weshalb Schreibvorgänge wie üblich abgeschlossen werden können. Erst das geschriebene Datenbankprotokoll wird zur Auswertung herangezogen, während dieses Prozesses können in der Datenbank wieder weitere Änderungen erfolgen.

Abgrenzung zum bisher im SQL Server integrierten CDC

Technisch gesehen sind bis zu diesem Punkt die bereits vorhandene Technologie sowie die von Attunity entwickelte identisch. Die Attunity-Lösung bietet im wesentlichen folgende Vorteile

  • Sie wird als Windows Dienst außerhalb des SQL-Servers ausgeführt und ist abwärtskompatibel bis SQL-Server 2000
  • Beliebige Editionen von SQL-Server werden unterstützt
  • Auf dem Server, dessen Daten überwacht werden sollen, muss nichts installiert werden
  • Es werden sogar weitere Systeme als Datenquelle, oder Ziel, unterstützt wie Oracle, oder DB2
  • Integration in SSIS mit dem Business Intelligence Development Studio

Die Architektur ermöglicht es somit direkt eine Vielzahl von Systemen anzubinden und könnte einem so manche Entwicklung von ETL Paketen ersparen. Ebenso ist der letzte Punkt interessant für jeden BI Entwickler im Microsoft Umfeld.

Das CDC von Attunity

Durch einen Download der Demoversion von CDC für SSIS kann sich bereits jetzt ein Einblick verschafft werden, wie die Technologie in Denali aussehen könnte.

Nach der Installation lässt sich über Visual Studio 2008 in einem Integration Services Projekt die Definition eines CDC Dienstes erstellen. Dies geschieht über einen neuen Kontextmenüeintrag “Attunity SQL-Server CDC” im Integration Services Projekt. Der Eintrag “Configure CDC Service” startet einen Assistenten, der den Entwickler durch die Einzelnen Schritte führt.
12
Im ersten Schritt wird die Datenquelle definiert, die überwacht werden soll. Schritt zwei ist das Angeben von Parametern, wie einem Port, des zu erstellenden CDC Dienstes. Der CDC-Prozess wird als Windows Dienst auf den späteren ETL Server erstellt werden, für die Entwicklung erstellt der Assistent auch eine Instanz dieses Dienstes auf dem Entwicklungsrechner bereit.
3456
Als nächstes werden die zu überwachenden Tabellen ausgewählt, in denen der CDC Dienst Änderungen auswertet. Der Assistent generiert nun ein SQL-Skript, das auf dem Datenbankserver ausgeführt werden muss, um CDC lauffähig zu bekommen.
Zum Schluss wird überprüft, ob alle Operationen geklappt haben und der Dienst lauffähig ist.

78
Nun ist der Dienst eingerichtet. Als nächstes können mit einem weiteren Wizard über den Eintrag “Generate CDC Packages” SSIS Pakete generiert werden. Der Wizard fragt zuerst nach einem Connection String für die Zieldatenbank und fordert den Benutzer dann auf ein Mapping auf Zieltabellen zu erstellen bzw. diese ggf. sogar noch zu erstellen. Der Mapping Dialog zeigt dabei übersichtlich die Eigenschaften der Datenfelder, wie Typ, Länge, oder NULL-Fähigkeit an. Werden besonders viele Tabellen durch CDC verwaltet ist es sinnvoll im nächsten Schritt Tabellengruppen festzulegen. Zum Schluss besteht noch die Auswahlmöglichkeit ein Paket zum Vollständigen und eines zum Inkrementellen Laden zu erstellen.
1112

Ein Blick auf die Pakete zeigt von Attunity eigens entwickelte ControlFlow-Elemente, welche zur Synchronisierung mit dem CDC Dienst dienen. Interessanter ist der Einblick in die Datenfluss Elemente. Das initiale Laden wird hier schlicht mit einer OLE DB Quelle sowie mit einem OLE DB Ziel vorgenommen, wobei zuvor die Daten im Ziel mittels eines T-SQL-Statements abgelöscht wurden. Der inkrementelle Ladevorgang enthält Attunity-eigne Datenflusselemente, welche über den CDC-Dienst Änderungen aus den Protokolldaten auslesen und dann in der Zieltabelle entsprechend verarbeiten.

1716imageimage

Fazit

Das Produkt ist vielversprechend und deckt Szenarien ab, zu denen der SQL Server aktuell nicht in der Lage ist. Jedoch stellt sich die Frage, wie Microsoft die Lizensierung handhaben wird. Bisher ist Change Data Capture nur in der Enterprise- und Datacenter-Edition verfügbar und bietet nicht die Möglichkeit SQL Server niedrigerer Editionen einzubeziehen. Es ist daher durchaus denkbar, dass der CDC Host mindestens über eine SQL Server Denali Enterprise Edition verfügen muss, damit dieses Feature für andere Datenbanksysteme genutzt werden kann.

Dieser Artikel wurde auch im Business Intelligence Blog der PTSGroup AG veröffentlicht

Apr 24

PHP unter Windows war schon immer eine Odysse. Inzwischen ist es zwar sehr einfach möglich PHP direkt zu installieren, ja sogar die FastCGI Konfiguration im IIS klappt automatisch, doch sobald man auf die Idee kommt sich mit dem SQL Server verbinden zu wollen, wird es spannend.

Seit PHP 5.2.0 ist der Treiber für den SQL-Server standardmäßig nicht mehr bei PHP mitgeliefert, da es seitdem einen Treiber von Microsoft gibt, für den sogar offiziel Support geleistet wird und ja sogar in Open Source. Mittlerweile ist der Treiber in der Version 2.0 erhältlich und liefert eine Vielzahl von DLL-Dateien mit, welche für die verschiedenen PHP-Versionen gedacht sind (Version, Compiler, Threadsicherheit).
Hat man den richtigen Treiber in das ext-Verzeichnis kopiert und in der php.ini eingetragen zeigt sich der Treiber in phpinfo() unter dem unscheinbaren Namen sqlsrv.
Die Suche nach dem richtigen Treiber kann man sich ersparen, indem PHP sowie den Treiber über den Web Platform installer installiert werden.

Doch beim Testen meldet PHP erst mal nichts, dafür muss das Error Reporting in der php.ini aktiviert werden. Dies geschieht indem display_errors = On gesetzt wird.
Dann erscheint die Meldung "Call to undefined function mssql_connect()".
Hier steckt der Teufel im Detail, denn die in der PHP-Dokumentation erwähnten Befehle sind für den alten PHP-eigenen Treiber gedacht. Microsoft lässt einen zum Glück nicht im Stich und stellt in der MSDN eine API-Referenz bereit: http://msdn.microsoft.com/library/cc296152(v=SQL.90).aspx
Der Wehrmutstropfen dabei ist, dass nicht nur die Befehle anders heißen, als bisher, sondern obendrein auch noch die Parameter geändert wurden. Das bedeutet also viel Spaß beim Anpassen bereits existierender Software.

Dies weckt alte Erinnerungen an die Umstellung von PHP 3 auf PHP 4, als die Servervariablen alle nun unter einem Array erreichbar waren und alle Anwendungen angepasst werden mussten, was wirklich ärgerlich war.
Aber immerhin: Es funktioniert!

Dieser Artikel ist auch im PTS BI Blog veröffentlicht: http://biblog.ptsgroup.de/sql-server/sql-server-treiber-fur-php-unter-windows-richtig-verwenden/

Tags: | |
Dez 01

Vor zwei Wochen hat Microsoft die erste CTP-Version des neuen SQL Servers, der unter dem Coenamen Denali entwickelt wird, veröffentlicht. Die Version wird derzeit auch als SQL Server 2011 gehandelt, zum offiziellen Releasedatum gibt es bisher aber keine genauen Angaben.

Management Studio

Die ersten Unterschiede zum SQL Server 2008 R2 fallen bereits bei  der Installation auf, so wird neben Visual Studio 2008 auch Visual Studio 2010 mitinstalliert. VS 2010 wird allerdings bisher nur für das Management Studio benötigt, welches sich in einem neuen WPF-Kleid präsentiert.

Bereits beim Start wird auf den neuen Motor hingewiesen:

imageimage

Während der Arbeit mit dem neuen Management Studio zeigt sich das gewohnte Verhalten von Visual Studio 2010. Eine neue Optik, angenehmere Schriften, verbessertes Intellisense.

Auffällig ist, dass das Management Studio bei der Verbindung mit der Datenbankinstanz nun auch einen Ordner für die Integration Services zeigt. Ein Klick mit der Rechten Maustaste verrät, dass es möglich ist einen Katalog für SSIS Pakete zu erstellen.
Um einen solchen Katalog erstellen zu können, ist es allerdings notwendig den .Net CLR im SQL Server zu aktivieren. Dies lässt sich mit folgenden T-SQL-Statements schnell bewerkstelligen:

sp_configure 'show advanced options', 1;
GO
RECONFIGURE;
GO
sp_configure 'clr enabled', 1;
GO
RECONFIGURE;
GO

Nun ist es möglich mit einem Assistenten im Ordner Integration Services einen Katalog zu erstellen, welcher offensichtlich das bisherigen Deployment in die msdb ablösen wird. Im SSIS Katalog können Unterordner erstellt werden, welche wiederrum Projekte und Umgebungsparameter beinhalten. Damit räumt Microsoft auf und ermöglicht es mehrere SSIS Projekte auf einem Server abzulegen und sauber zu trennen. Damit hält auch die Möglichkeit Einzug direkt in Visual Studio ein Deployment vorzunehmen, sodass der bisherige Umweg über das Management-Studio bzw. die Deployment-Datei entfällt.

image

Integration Services

imageBeim imageEntwickeln eines SSIS Paketes fällt sofort der neue Designer in Visual Studio auf. Neben der neuen Optik und der Möglichkeit die Ansicht zu vergrößern bzw. zu verkleinern wurden die Tasks neu geordnet. Die Kategorien sind jetzt nicht mehr nach Tasktypen sondern nach der Häufigkeit der Benutzung angelegt worden.

Auf der Ebene des Datenflusstasks enthält die Favoritenkategorie nun zwei Assistenten für Datenquellen und Ziele, die es komfortabler, als  bisher, erlauben diese Objekte anzulegen.

Neu im SQL Server Denali sind auch die Dependency Services, welche Data Lineage für SSIS ermöglichen. Um dort einen Einblick zu erhalten müssen diese erst per Kommandozeile aktiviert werden, eine Anleitung gibt es in der MSDN. Nach der Einrichtung ist es möglich einen Extraktion Point zu erstellen, um dann die Metadaten aus den SSIS Paketen auszulesen.

imageEinen Ausblick auf kommende Features zeigt die “Data Correction” Komponente, welche einen Auffordert eine Datenbank auszuwählen, welche für Data Quality Services eingerichtet wurde. Microsoft hat 2008 die Data Quality Services von Zoomix akquiriert und wird diese in Denali nun weiter entwickeln. Diese Funktionalität ist im aktuellen CTP noch nicht implementiert und gibt einen Ausblick auf kommende Funktionen zur Datenqualitätssicherung im SQL Server.  Danach lässt sich mit einem grafischen Designer leicht nach Verfolgen, welche Tabellen und Spalten in welchem Paket wohin verarbeitet werden.

Reporting Services und Analysis Services

In SSRS und SSAS sind noch keine Änderungen im CTP1 enthalten, jedoch sind interessante Neuerungen angekündigt.

Analysis Services soll mit der aus PowerPivot bekannten VertiPaq-Engine ein verbessertes MOLAP erhalten. Sehr spannend wird auch das für Reporting Services laufende Project Crescent, in dem eine neue Silverlight-Oberfläche entwickelt wird, die neue Möglichkeiten eröffnet, wie dynamische Zeitverlaufsdiagramme. Dazu empfiehlt sich ein Präsentationsvideo auf YouTube.

Denali bringt bereits jetzt einige sinnvolle Neuerungen, gespannt Blicken wir nun auf die CTP2 in der die angekündigten Funktionen wahrscheinlich das erste Mal der Öffentlichkeit zur Verfügung stehen werden.

Dieser Post wurde auch im PTS Business Intelligence Blog veröffentlicht

Sep 02

Demnächst geht bei der PTSGroup ein Blog über Business Intelligence an den Start, auf dem ich als Autor mit Tätig sein werde.

Die Artikel werden von hier aus auch verlinkt.

Als kleinen Vorgeschmack: Es wird neben Inhalten aus unseren Projekten auch um die spezielle BI Themen im SQL Server gehen, die unter anderem auch in diesen Büchern behandelt werden:

Gansor, Totok & Stock: Von der Strategie zum Business Intelligence Competency Center (BICC): Konzeption - Betrieb - Praxis

MacLennan, Tang & Crivat: Data Mining with Microsoft SQL Server 2008

Jul 23

Seitdem ich auf meinem Arbeitsnotebook mit Windows Server 2008 R2 und Hyper-V arbeite, konnte ich die Energiesparfunktionen von Windows nicht mehr nutzen.

Ein nützlicher BlogPost von Mark Harrison beinhaltet aber den entscheidenden Trick:

Folgender Registry-Key muss geändert werden, damit der HyperVisor nicht standardmäßig geladen wird.

[HKEY_LOCAL_MACHINE\SYSTEM\CurrentControlSet\Services\hvboot]"Start"=dword:00000003

Sobald man dann doch eine VM braucht lässt sich mit folgendem Befehl Hyper-V zum Leben erwecken:

net start hvboot

Bis zum nächsten Neustart ist auch dann kein StandBy oder Ruhezustand möglich, aber damit lässt sich leben =)

Tags:
Apr 29

In den letzten Tagen habe ich etwas mit SharePoint 2010 gespielt und einen interessanten Fehler festgestellt.

Das Erstellen neuer Projekte auf dem Entwicklungssystem funktionierte unter dem Benutzer, der SharePoint eingerichtet hat, wunderbar, alle anderen bekamen jedoch die folgende Fehlermeldung:

image

 

Die Benutzer wurden alle als Farm-Administratoren eingerichtet, sodass ausreichend Berechtigungen vorhanden sind. Ebenso stimmt die URL und die Seite ist auch in Betrieb.

Legt man das Projekt trotzdem an und versucht dieses zu Erstellen gibt es eine detailliertere Fehlermeldung: “Fehler im Bereitstellungsschritt IIS-Anwendungspool wiederverwenden: Der lokale SharePoint-Server ist nicht verfügbar. Überprüfen Sie, ob der Server ausgeführt wird und mit der SharePoint-Farm verbunden ist.”

So habe ich vermutet, dass ein Fehler in der IIS-Konfiguration liegt, wurde dort aber nicht fündig. Nachdem ich Bing etwas bemüht habe, fand ich den Tipp einen Blick in das SharePoint-Protokoll unter C:\Program Files\Common Files\Microsoft Shared\Web Server Extensions\14\LOGS zu schauen.

Und tatsächlich, dort war folgender Fehler festgehalten:

04/29/2010 14:32:22.15     vssphost4.exe (0x165C)                      0x1780    SharePoint Foundation             Database                          880i    High        System.Data.SqlClient.SqlException: Fehler bei der Anmeldung für den Benutzer 'SPT2010TEST\Administrator'.     bei System.Data.SqlClient.SqlInternalConnection.OnError(SqlException exception, Boolean breakConnection)     bei System.Data.SqlClient.TdsParser.ThrowExceptionAndWarning(TdsParserStateObject stateObj)     bei System.Data.SqlClient.TdsParser.Run(RunBehavior runBehavior, SqlCommand cmdHandler, SqlDataReader dataStream, BulkCopySimpleResultSet bulkCopyHandler, TdsParserStateObject stateObj)     bei System.Data.SqlClient.SqlInternalConnectionTds.CompleteLogin(Boolean enlistOK)     bei System.Data.SqlClient.SqlInternalConnectionTds.AttemptOneLogin(ServerInfo serverInfo, String newPassword, Boolean ignoreSniOpenTimeout, Int64 timerExpire, SqlConnection owningObject)     bei System.Data....    

 

Aha! Fehlende Rechte im SQL-Server sind also das Problem. Wäre sinnvoll, wenn man dies in die Fehlermeldung mit rein schreiben würde ;-)

 

Der Beitrag befindet sich jetzt auch BI Blog unter http://biblog.ptsgroup.de/?p=223

Tags:
Apr 28

Ende letzen Jahres habe ich mir einen Home Server zusammengeschaubt. Zuvor fand eine kleine Anforderunsanalyse statt, mit Kriterien, die mein Server erfüllen soll:

  • Große Speicherkapazität aufweisen
  • Von extern aus Zugreifbar sein
  • Daten sollten zusätzlich gesichert werden können
  • Geringer Stromverbrauch
  • Geringe Hardwarekosten

Den Zugriff von extern stellt das Betriebssystem von sich aus sowohl per Remotedesktop, als auch über eine Weboberfläche bereit. Bei der Datensicherung stand ich vor der Wahl das Feature der Ordnerduplizierung von Windows Home Server oder eines externen Sicherungsmediums zu benutzen. Ich habe mich nach etwas überlegen für eine externe Festplatte entschieden, da diese nicht permanent in Betrieb sein muss und somit eine längere Lebensdauer und geringeren Energiebedarf aufweist. Dadurch werden die Daten zwar nicht permanent gesichert, was nicht tragisch ist, da auf dem Server nicht jeden Tag Daten geändert werden.

Die anderen Kriterien decke ich mit folgender Hardware ab:

Hardwarepreis: 400 € (Dezember 2009)

Es gibt durchaus Möglichkeiten sich einen HomeServer deutlich günstiger zusammen zu stellen, von der Kombination erhoffe ich mir einen möglichst geringen Energieverbrauch. Dieser wird später noch gemessen.

IMG_2497

Installation

Vor der Installation habe ich mit dem Windows 7 USB Download Tool einen USB-Stick für die Installation präpariert. Das Booten vom USB-Stick ging ganz einfach: USB-Stick einstecken, Rechner einschalten und warten.

Die Bilder der Installation möchte ich nahezu unkommentiert für sich sprechen lassen. Mich hat gewundert, dass die Installation zwischendurch mit Windows Server 2003 Small Business Server betitelt wurde. Da hat man offenbar Code recycelt :) Zum Schluss wurde die stolze Anzahl von 77 Updates installiert (Stand Dezember 2009).

Jetzt noch Treiber, die Connectoren auf den Clients, fertig! Mit Schraubarbeiten war alles innerhalb von drei Stunden erledigt.

Add-Ins

Um die Funktionalitäten des Windows-Home-Servers zu erweitern existieren eine Vielzahl von Addins. Für meinen Server habe ich als erstes die Plugins RouterControl und LightsOut probiert.

Mit RouterControl ist es möglich Einstellungen im Router auszulesen, zu manipulieren und Statistiken über die Bandbreitennutzung festzuhalten. Leider hat AVM das UPnP-Protokoll nicht vernünftig implementiert, sodass es mit einer aktuellen Fritz!Box 7270 nur zu einer Fehlermeldung kommt.

Das LightsOut-Plugin hingegen hat von vornerein überzeugt. Neben dem Add-In muss auf jeden Client-Computer ein Connector installiert werden. LighsOut versetzt den Server in den Ruhezustand und weckt ihn zu definierten Zeiten auf und auch, wenn ein Client-Computer eingeschaltet wird. Dadurch lassen sich die Stromkosten nochmals erheblich reduzieren.

Stromverbrauch

Und zu guter letzt die Messergebnisse:

Normalbetrieb: 25Wh
Unter Last: 40Wh
Ruhezustand: 1,5Wh

Bei fünf Betriebsstunden am Tag macht dies einen Verbrauch von ca. 180Wh am Tag. Das macht bei meinem aktuellen NaturStrom-Tarif Kosten von 4,32 cent pro Tag bzw. 15,76 € im Jahr. Sogar nur 1/6 so viel, wie die A+-Kühlgefrierkombi in der Küche. Das hat was :)

Wermutstropfen

In den letzten Monaten sind mir beim Betrieb des Homeservers auch mehrere Dinge aufgefallen, die Verbesserungswürdig sind.

Neben dem Problem in dem Add-In Routercontrol ist auch der Login über eine EDGE-Verbindung sehr langsam, da beim Login das komplette Hintergrundbild als Bitmap übertragen wird. Ebenso kann ich die Backup-Esata-Festplatte nicht einfach An- und Ausschalten, sondern muss den Server jedes Mal neustarten.
Hier hoffe ich auf das nächste Release von Windows Home Server. Die derzeit verfügbare Beta unter dem Codenamen “Vail” zeigt, dass es sich um ein Windows Server 2008 R2 basierendes System handeln wird, wo diese Probleme bereits behoben sind.

Tags: