MSSQL 2005 Bug beim Umbenennen eines Users oder Logins

Wenn man versehentlicher Weise mal einen User im Active Directory angelegt hat, wo der Name und der Anmeldename nicht ganz stimmt aber zudem schon alles in den restlichen Bereichen, wie CTI, Exchange, MS SQL usw. angelegt hat, dann „Prost Mahlzeit“ beim Umbenennen. Normalerweise gehe ich dann immer so vor, dass ich den User komplett überall herauslösche (AD, MSSQL, Exchange usw.) und anschließend einen neuen User erstelle… Warum ich das in diesem Fall nicht gemacht habe kann ich leider auch nicht mehr sagen… ich werde in Zukunft aber bei der sicheren LÖSCH-Variante bleiben :-).

Nun gut… nachdem ich also den User komplett umbenannt hatte und auch der Meinung war alle Stellen erwischt zu haben, stellte sich heraus, dass es beim Login in Microsoft Dynamics NAV (Basis ist ein SQL-Server 2005 SP2) Probleme gab. Der Login war immer noch der alte Benutzername, obwohl dieser im Management Studio schon aktualisiert wurde.

Ewiges Umbenennen und neu anlegen half nicht. Angezeigt wurde er mir bei der Suche im AD über den SQL richtig, klickt man aber auf OK, legte er den SQL-Login immer mit dem falschen Anmeldenamen an… Meine Herren!
Wie sich herausstellte, ist das ein Bug in der 2005er Version des Microsoft SQL Servers. 

 

Ab SQL Server 2005 SP2 gibt es einen Workaround:

Problembeschreibung:

The problem will be when trying to access/manipulate metadata since SQL Server will use the metadata (MD) copy of the NetBIOS name (i.e. the old name) and we won’t be able to identify the new name.

The root cause for this problem is the fact that SQL Server keeps a copy of the Windows NetBIOS user name in MD and we use this MD copy whenever a name-based operation on the user is made instead

of relying exclusively on the SID. 

This is a well known limitation of SQL Server and it has been there since Windows authentication was introduced (SQL Server 7 if I do remember). In SQL Server 2005 SP2 we introduced a mechanism that

allows you to rename the login and user to match the updated Windows name:

 

ALTER LOGIN [Old_Windows_name] WITH NAME = [New_Windows_name]
ALTER USER [Old_Windows_name] WITH NAME = [New_Windows_name]

 

As long as the SID in MD for [Old_Windows_name] matches the SID for [New_Windows_name], this operation should succeed and properly rename the principal login/user name in MD. For more information please refer to BOL:

http://msdn.microsoft.com/en-us/library/ms189828.aspx
http://msdn.microsoft.com/en-us/library/ms176060.aspx

 

Nachdem ich die oben beschriebenen Schritte vollzogen hatte, funktionierte der Login mit dem umbenannten User wunderbar…

Zwei Stunden später stand der User mit dem alten Loginnamen wieder in der SQL… WTH!
Ich glaube dies ist aber dem NAV zuzurechnen, da dieser auch komischerweise seine Logins mit dem SQL synchronisiert und dort scheinbar immer noch bei der alten SID den alten Loginnamen stehen hatte…

Fazit: An einem ruhigen Abend erst mal die Löschvariante vollzogen und nach 1,5 Stunden war der User komplett neu und sauber angelegt … in allen Applikationen.

Aprilscherze bei der Arbeit

Ich habe am heutigen 1. April 2009 versucht die 120 Mitarbeiter im Unternehmen in den April zu schicken.
Folgende E-Mail mit dem Betreff  „Wichtige Info zur Aufteilung der IT-Kosten auf die einzelnen Abteilungen“  erreichte jeden Mitarbeiter um 7:30 als Aprilscherz Nummer Eins:

Da auch die IT in diesem Jahr genau rechnen muss, werden sämtliche IT-Kosten budgetiert um somit eine faire Verteilung der Kosten zu ermöglichen.
Bedeutet für alle Mitarbeiter:
Wer viele Tippfehler im NAVISION macht, benötigt viel CPU-Zeit, sorgt also für erhöhte Kosten.
Mit sofortiger Wirkung werden die IT-Kosten nach der Anzahl der Tippfehler auf die jeweiligen Abteilungen aufgeteilt.
Wir haben in NAVISION ein Modul installiert, welches diese Tippfehler zu 100 Prozent bemerkt und auf die Abteilungen verteilt.
An jedem Monatsende bekommt ihr nun eine Auflistung der Kosten.

Vielen Dank für euer Verständnis
Wir bitten euch ggf. ein Schreibmaschinenkurs zu besuchen.

… ich werde versuchen, die Reaktionen hier als Updates zu posten.

Aprilscherz Nummer Zwei war, dass ich bei einigen Telefonen mit Tesafilm den Sensor fürs Abheben verklebt habe.
Wenn das Telefon nun klingelte und der Mitarbeiter abnahm, klingelte es weiter, da das Telefon durch das Blenden des Sensors nicht merkte, dass der Hörer schon abgenommen wurde :-).

Ach… wie lustig ist das Leben :-)!

UPDATE

Also, dass Ding mit den Telefonen war ein voller Erfolg, manche saßen schreiend vor dem Telefon, weil Sie auf Lautsprecher stellten oder saßen ratlos vor dem Hörer, weil trotz abheben des Hörers das Telefon weiter klingelte 🙂

Bei der Mail habe ich leider ein Fehler gemacht. Ich habe die Mail Nachts am 01. April geschickt. Das hat einige stuzig gemacht. Besser wäre gewesen, wenn ich das am Arbeitstag geschickt hätte. Dennoch, neben einigen Personen, die natürlich schnell schnallten, dass das Nen Fake war, gab es dennoch einige, die sich darüber wirklich aufregten. Wer weiß ich leider nicht, diese Namen wurden mir vorenthalten… Schade! 🙂

Dennoch, ein recht guter Tag :-)… auch bei der Exchange 2k7 Migration

Urlaub…

Nach erfolgreichen 8 Monaten mit dem neuen Warenwirtschaftprogramm NAVISION gönne ich mir auch mal Urlaub 🙂 um mich dann wieder in das ERP-Projekt, was scheinbar nie endet (nicht weils nicht funktioniert, sondern weil die Möglichkeiten damit fast unbegrenzt sind, so dass wir immer neue Ideen Entwickeln und Umsetzten), zu stürzen. Es stehen noch Fertigungsmodul, Sachmerkmale, Atlas (Zoll) uvm. an.

… ich wünsche mir viel Spaß im URlaub 🙂

mehr muss ich nicht sagen…

Böser Outlook-, Blackberry-, TerminalServer- & Navision-Hack

…zum Urlaub hin etwas schwere Kost :-)…

Anfang des Jahre haben wir NAVISION 5.0 (mittlerweile SP1) eingeführt. Das Systemhaus Qurius aus Hamburg leistet dabei wirklich gute Arbeit!

Nun ist es soweit, dass die Aufgaben und Termin, die im Navision angelegt werden ins Outlook der jeweiligen User gepusht werden sollen. Zusätzlich sollen aber auch die Blackberrys die jeweiligen Daten erhalten.

Problem: Navision kennt nur eine Outlook Synchronisation und synchronisiert nur, wenn Outlook geöffnet ist. Außerdem sollen die Blackberrys die synchronisierten Daten auch erhalten. Die Blackberrys unterhalten sich aber mit dem Exchange und nicht mit Outlook direkt. Wie bekommt man nun die Sachen zusammen, dass der gleiche Datenbestand in allen drei Systemen (NAVISION, Outlook (2003 & 2007) und Blackberry Pushmail) ist?

… vorab: nicht lachen. Folgende Lösung ist wirklich die schnellste und kostengünstigste Variante 🙂 (mehr …)