Mark Aslan Kuschels Blog

SQL, Business Intelligence, Microsoft, .Net

BI Blog bei der PTSGroup

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

Trotz installiertem Hyper-V Ruhezustand und StandBy

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 =)

SharePoint 2010 und Visual Studio 2010 Zugriff

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

Windows Home Server im Eigenbau

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.

Zwischenstand 1. Quartal 2010

Im ersten Quartal war es sehr leise im Blog, da ich in Bergisch Gladbach auf einem Projekt gewesen war. Der Kunde hat uns die Technologie Oracle Apex vorgeschrieben. Als Entwickler mit modernen Webzeugen, wie ASP.Net oder Sharepoint, kommt man sich bei Apex wie ein Steinzeitmensch mit zurechtgeschnitzen Werkzeugen vor.

Im Grunde ist eine Apex eine HTML Datenbank und schränkt einen ziemlich ein. Wir haben daher mehrere Wochenenden durchgearbeitet, um die Projektzeit halten zu können. Nun bin ich froh wieder mit vernünftigen Tools arbeiten zu können.

Zum Quartalsresümée gehören natürlich auch ein paar Statistiken:

Gefahrene Zugkilometer: 6384
Kilometerpreis: 8,4 cent
Fahrzeit: 60,12 Stunden
Pünktlichkeitsquote: 73,6 %
Summe der Verspätungen: 277 min
Durchschnittliche Verspätung pro Fahrt: 4 min

Und auch die Dotmap hat sich gefreut, nun sind es 117 Dots:

Aktuelle Trefferwahrscheinlichkeiten

Aus den Statistiken der Eurobilltracker-Seite (Daten gefiltert für Deutschland) habe ich gerade Mal die Wahrscheinlichkeiten einen Treffer zu landen berechnet:

5er       1:187,65
10er:    1:394,41
20er:    1:458,54
50er:    1:880,08
100er:  1:1422,86
200er:  1:1184,24
500er:  1:1563,86

Mich erstaunt dabei, dass die Trefferwahrscheinlichkeit für 200er höher ist, als die für 100er. Von diesen Scheinen müssen also nur sehr wenige in Umlauf sein

Eurobilltracker Stand Ende 2009

Das Jahr 2009 naht sich nun dem Ende gegen, und da möchte ich meine aktuelle Eurobilltracker-Statistik festhalten, um diese mit dem kommenden Jahr vergleichen zu können.

Heute hatte ich meinen letzten Hit, nach 18 Uhr. Da hat vermutlich jemand sein Weihnachtsgeschenk ausgepackt und gleich einen Hit mitbekommen^^
http://de.eurobilltracker.com/notes/?id=47453247

Ansonsten habe ich durch zahlreiche Bahnreisen inzwischen einige Dots auf der Europakarte:

doteuropa

Durch die inzwischen 24 Hits sind auch hier einige Orte zusammen gekommen:

 hitmap

Für alle Statistikfans habe ich meine Eurobilltracker NIG Statistik gerade auch Mal hochgeladen: http://www.mark-kuschel.name/ebt/13638_statistics.html

In diesem Sinne: Frohe Weihnachten, einen guten Rutsch ins neue Jahr und viele Hits!

Nachtzugverbindung Hamburg-Nürnberg getestet

Auf dem Weg zu einer Abnahme bei einem Kunden bin ich letzte Nacht mit dem Nachtzug nach Nürnberg gefahren.

Die Anfahrt mit dem ICE514 nach Hamburg lief gut, wir waren drei Minuten vor Plan im Bahnhof, in dem Moment fuhr auch schon der CNL483 aus Kopenhagen sein, sodass Warten in der Kälte entfiel.

Ich hatte einen Bettplatz im Doppelstockwagen. Die Beschilderung der Bettnummern ist sehr verwirrend, ich war nicht der einzige, der erst auf dem Gang herum irrte. Irgendwann fand ich es aber doch. Verglichen mit dem Talgo hat man etwas weniger Platz in seinem Schlafwagenabteil, insgesamt ist es aber viel moderner, gemütlicher und laufruhiger. Die Fahrt über die Nacht war sehr angenehm, ich bin nur ein Mal beim rangieren in Hannover einen kurzen Moment wach geworden. Leider musste ich schon um 6.44 aussteigen, die Nacht hätte durchaus länger sein können.

Das Frühstück war ganz okay, dieses wird einem ins Abteil gebracht. Es gibt frischen Kaffee oder Tee und dazu ein Brötchen, ein Croissant, Streichkäse, Marmelade und Orangensaft. Das Frühstück im Talgo war immer in einem Restaurantwagen, dies hat irgendwie mehr Flair und es gab eine Auswahl am Buffet.

Insgesamt ist die Fahrt im CNL zu empfehlen, solange man nicht größer als 1,90 ist.

WCF ArgumentException beim Kompilieren

Welcher .Net-Entwickler kennt das nicht: man erstellt einen WCF-Dienst, verteilt alles auf den IIS und dann regnet es 500er. Einem nach den nächsten und man hat keine Ahnung woran es liegt.

Heute bin ich mal wieder über eine ArgumentException beim kompilieren gestolpert.
Die tolle Meldung:

Diese Sammlung enthält bereits eine Adresse mit Schema "http". Diese Sammlung kann maximal eine Adresse pro Schema enthalten.
Parametername: item

Nach vielem rumprobieren der Bindings in der web.config stellte ich fest, dass es daran lag, dass die IIS Webseite an mehrere Protokolle gebunden war.
Nach dem entfernen lief es sofort!

Kleiner Trick, große Wirkung.

Bei der Fehlersuche von WCF-Problemen hilft übrigens das Tool Fiddler2 sehr gut.

Umgestellt auf .Net Blogengine

Nachdem ich es trotz mehrfacher Versuche nicht geschafft hatte eine Erweiterung für mein Sharepoint-Blog zu installieren, habe ich nun bei einem Serverumzug die Gelegenheit genutzt, auf die DotNet Blogengine umzustellen. DotNet Blogengine ist eine OpenSource-Lösung auf Basis von ASP.Net und Microsoft SQL-Server.

Ab sofort können in meinem Blog endlich Kommentare Hinterlassen werden.
Ansonsten hat das Blog auch ein paar andere neue Funktionen bekommen, die Blog-typisch sind.