Wednesday, 19 January 2011

Today I had to analyze a foreign database. During research I had the need to Lookup a value from a PrimaryKey somewhere in the Database. Because I did not know the whole Database Model, I thought about using a Full Text Search to easily find where the expected Value maybe was used (linked in). Because enabling FullTextSearch in the Database Model for each table was to time consuming, I wrote this handy little routine. Feel free to use it or you may want to save it as a Stored Procedure with the search Pattern as input parameter.

Replace your SearchText at the @SearchPattern variable. If you want to find the SearchText somewhere in a field, put a % sign at the beginning. For Example: set @SearchPattern='%house'

Declare @s varchar(max)
Declare @SearchPattern varchar(max)
Declare @unionAll bit
set
@s=''

--- 0 = UNION                 es werden keine doppelten Einträge aufgelistet
--- 1 = UNION ALL           
set @unionAll=0
set @SearchPattern='Suchtext'

select @s=@s+'select '''+table_name+''' as TableName,'''+COLUMN_NAME+''' as DataColumn,['+column_name+'] collate SQL_Latin1_General_CP1_CI_AS as Text from '+Table_Name+' where ['+column_name+'] like '''+@SearchPattern+'%'' '+
char(13)+char(10) + case when @unionAll=1 then 'union all' else 'union' end +char(13)+char(10) from information_schema.columns where Data_type like '%char'
and table_name <> 'dtproperties'
--- If you don't want lookup Views also .. remove remarks
---and TABLE_NAME in (select TABLE_NAME from
---INFORMATION_SCHEMA.TABLES where TABLE_TYPE<> 'VIEW')
set @s=left(@s,len(@s)- case when @unionAll=1 then 12 else 7 end)

execute ( @s )

Wednesday, 19 January 2011 20:21:48 (W. Europe Standard Time, UTC+01:00)  #    Disclaimer  |   | 
 Monday, 04 January 2010

Habe soeben gelesen, dass es im Windows 7 ein verstecktes Feature gibt. Das Feature lässt sich wiefolgt aktivieren:

  1. Rechtklick auf dem Desktop
  2. Neuer Ordner erstellen auswählen
  3. folgendem Text hineinkopieren mit cut & Paste
    GodMode.{ED7BA470-8E54-465E-825C-99712043E01C}
  4. und schon ist die Systemsteuerung mit einer Liste von 278 Optionen direkt anwählbar

Diese Info habe ich im www.Windowsblog.at gefunden. Bin ja gespannt ob sich da noch mehr Features (EasterEggs) versteckt halten.

Monday, 04 January 2010 18:12:41 (W. Europe Standard Time, UTC+01:00)  #    Disclaimer  |   | 
 Thursday, 13 August 2009

In Excel ist es möglich Zellen auf Grund von Formeln und Werten farblich hervorzuheben. Mit Werten klappt das auf Anhieb ohne Probleme. Will man es mit Texten machen, so ist der Dialog mit der Formel Auswahl nicht so intuitiv. Darum hier ein Beispiel, wie man Zellen auf Grund einer gesuchten Zeichenkette einfärben kann.

  1. eine oder mehrer Zellen auswählen
  2. Menupunkt Format, bedingte Formatierung auswählen
  3. Danach die Bedienung auf Formel stellen
  4. und zB bei einer positionierten Zelle von B1 alle Zellen mit der Zeichenkette "!!!" hervorzuheben ist folgende Formel einzugeben:
    =AND(ISTEXT(B1);(SEARCH("!!!";B1)>0))
  5. die gewünschte Farbe für den Hintergrund mit dem Format Button definieren
  6. mit ok bestätigen.

Thursday, 13 August 2009 08:57:27 (W. Europe Standard Time, UTC+01:00)  #    Disclaimer  |   | 
 Wednesday, 13 August 2008

Die aktuelle RDP Version ist 6.1 und wird zB. im neuen Windows Server 2008 unterstützt. Um nun von einem Remote Client auf solch einen Server zugreifen zu können, muss allenfalls zuerst der RDP-Client auf diesem Comuter aktualisiert werden. Folgende Links zeigen auf, wo der entsprechende Client Update herunter geladen werden kann:

Mit dieser Clientversion lassen sich auch Verbindungen per SSL realisieren, sofern ein entsprechender TS Gateway installiert wurde.

Wednesday, 13 August 2008 13:36:00 (W. Europe Standard Time, UTC+01:00)  #    Disclaimer  |   | 
 Monday, 28 July 2008
  1. Be sure to have the ISAPI Feature installed
    Check on Server Manager, Web Server Role, Role Service ISAPI Extension must be installed 
  2. On the Root of the IIS Configuration you can see the Configuration for ISAPI + CGI Restriction. In this Option you have to enter the Name and Location from your ISAPI DLL File and allow the extension path for execute
  3. Click on The Web Site Level, and look for the Configuration Option Handler Mappings. Do a double Click on it. After that choose Edit Feature Permissions and enable Execute Permission.

Be sure to look for the specific Configuration Option at the correct Level (Root, Site, Path)

Monday, 28 July 2008 10:34:55 (W. Europe Standard Time, UTC+01:00)  #    Disclaimer  |   | 
 Wednesday, 28 May 2008

English:
I have had TCP/IP performance Problems on my Lab Installation. I had some Windows 2003 Server installed and added an additional Windows Server 2008 Web-Edition. As the System where running, I recognized a poor IP performance between the Windows 2003 and Windows 2008 Server. The throughput on the 1GBit Lan was something about 2 KBit/s .. unbelievable.

After testing all cable and NIC Settings I had still the Problems. So I connected on W2K3 to the Internet and did a Windows Update. And what happend ... the Performance was good again to both Systems. I checked all the Patches an figured out, that the Patch KB948496 fixed the Problem.


Deutsch:
Ich bermerkte TCP/IP Performance Probleme in unserem Labor zwischen Windows 2003 Server und Windows 2008 Server. Die Probleme traten bei nur W2K3 Server nicht auf. Als ich aber zusätzlich einen W2K8 Server installierte, konnte ich einen TCP/IP Durchsatz von ca. 2KBit/s zwischen dem W2K3 und W2K8 Server messen. Dies war natürlich lächerlich bei einer 1GB Netzwerkkarte.

Daraufhin überprüfte ich die Netzwerkcabel und die Einstellungen der Netzwerkkarte. Das brachte jedoch keine Fehler/Unstimmigkeiten an den Tag. Als nächstes habe ich den W2K3 Server ans Internet angeschlossen, um die aktuellen Windos Patches zu installieren. Nach einem Reboot konnte ich feststellen, dass nun die Performance den Erwartungen entsprach und somit das Problem behoben war. Aus den ca. 20 Patches konnte ich den Patch KB948496 als denjenigen identifizieren, welcher das Problem behoben hat.

Wednesday, 28 May 2008 10:28:30 (W. Europe Standard Time, UTC+01:00)  #    Disclaimer  |   | 
 Wednesday, 09 April 2008

Soeben musste ich mich wieder einmal grün und blau ärgern über meinen Computer. Nun ja und ich bin ja nicht gerade ein Grünschnabel unter den Computer Anwendern. Aber NIEMAND ist gefeilt vor solch fiesen Angelegenheiten.
Was war geschehen. Nun ja ganz einfach; Da ich ein neues Handy habe, wollte ich dies mittels Bluetooth mit meinem Vista synchronisieren. Das ganze klappte auch ganz gut. Nach vielleicht 5 Minuten waren die Treiber installiert, die Verbindung zum Handy stand und ich konnte die Kontakte vom Handy mit der Windows Applikation, Kontakte synchronisieren. Es ging so ziemlich alles vom Sony Ericsson Handy mit, ausser dem Photo. Tip top... ich freute mich bereits über mein Vista, wie es da so alles unbeschwert managet.
Ein Weilchen später als ich meinen Internet Explorer für eine Recherche öffnete und eine neue Webadresse eingeben wollte, bekam ich die Meldunsg angezeigt, dass die Applikation Microsoft Sync Center versucht auf meinen Internet Explorer zuzugreifen. Die Meldung machte mich natürlich Misstrauisch und ich habe das nicht zugelassen. Schliesslich bestimme ich ja wer wo auf meinem Computer zugreift. Doch ... siehe da, der Internet Explorer erstarrte daraufhin vollständig und keine Bedienelemente waren mehr anklickbar. Lediglich die angezeigte Webseite, in meinem Fall die Startseit Google, war noch innerhalb dieser Seite anklickbar. Ich verstand die Welt nicht mehr.

Ein Klick auf Details offenbarte dann ja eben, dass es sich um das Programm C:\Windows\System32\mobsync.exe handelte. Und da ich ja soeben noch die Synchronisation nutze, habe ich alles deinstalliert was mit Mobile und Synchronisation zu tun hatte. Unter anderem ahabe ich auch in der Systemsteuerung der Offline Dateien Dienst deaktiviert, da ich dachte, dass der Mobiledienst vermutlich auf meine Favoritenliste zugreift, damit er diese nachführen kann und später auf meine Handy synchronisieren kann. Denn diese Option ist mir beim synchronisieren aufgefallen. Doch ... leider war das Problem auch nach 1 Stunde immer noch akut. Und ich wollte natürlich Partout dem Prozess den Zugriff nicht geben (wer weiss ... könnte ja auch was schlimmeres sein). Nach einer weiteren ½ Stunde suchen und ausprobieren gab ich auf. Ich liess den Zugriff zu und siehe da nun konnte ich wieder in der Adresszeile etwas eingeben. Dabei ist mir dann aufgefallen, das ich in der Verlaufliste des INternet Explorers einen lokalen Verweis hatte der irgendwie Aussah wie \Snchronisation Mobile ... und dabei das typische grüne Symbol für die Mobile Devices anzeigte.

Da machte es klick!! Die Lösung für mein ach so ärgerliches Problem lag darin, das ich lediglich  im Internetexplorer den Verlauf löschen  musste. Denn wenn ich jeweils einen neuen URL eingeben wollte, hatte dieser Eintrag die entsprechende Warnung ausgelöst.
Irgendwie habe ich mich vom Ärger und der erneuten Zeitverschwendung noch nicht erholt. Der interessierte User kann auch an der Bennenung des Bildes beim Fehlerdialog erkennen, in welcher Verfassung ich war :).

Die einzige Hoffung ist, dass vielleicht mein Beitrag mit den entsprechenden Stichworten, einmal einem ebenfalls völlig entnervten Windows Benutzer helfen kann. In diesem Sinne - happy computing !!

Wednesday, 09 April 2008 22:08:35 (W. Europe Standard Time, UTC+01:00)  #    Disclaimer  |   | 
 Monday, 11 February 2008

Ist auf einem Computer lediglich die Gratis Version des SQL Server 2005, also die Express Edition, so ist das wiederherstellen einer Datenbank nicht immer ganz einfach. Anbei ein Vorschlag wie man dies bewerkstelligen kann.

Schritt 1
Als erstes versuchen wir die Logischen Filenamen der Datenbank auszulesen. Dies hat den Vorteil, das bei der Wiederherstellung der Datenbank der Ordner angegeben werden kann, wo die Daten zu speichern sind.
osql -E -S meinServerName\SQLEXPRESS
-Q "restore filelistonly from disk ='d:\BackupFilename.bak'"
>%temp%\Ausgabe.txt & Notepad %temp%\Ausgabe.txt 

Variante 2
osql -E -S meinServerName\SQLEXPRESS
-Q "restore filelistonly from disk ='d:\BackupFilename.bak'"
>%temp%\Ausgabe.txt & cls & for /F "tokens=1-2" %i in ( %temp%\te.txt ) do @echo %i

Schritt 2
Im sich öffnenden Notizblock stehen nun in der ersten Spalte die Logical Names der Datendateien. Für jede einzelne ist dann im Schrit 3 eine entsprechende Move Anweisung nötig.

Schritt 3
Nun wird der effektive Restore Befehl zusammengesetzt.

osql -E -S meinServerName\SQLEXPRESS
-Q "RESTORE DATABASE neueDB From Disk =
'd:\BackupFilename.bak' with
move 'File_Data' to 'D:\SQL_DATA\neueDB_Data.mdf',
move 'File_Log' to 'D:\SQL_DATA\neueDB_log.ldf'" 

SQL Express Mode switchen SQLExpress_AuthenticationMode_Mixed.reg (.29 KB)

Monday, 11 February 2008 23:02:24 (W. Europe Standard Time, UTC+01:00)  #    Disclaimer  |   | 
 Thursday, 07 February 2008

Wie so oft ist es so, das eine WEB Applikation welche Wochen und Monate lang ohne Probleme funktioniert hat, auf ein Mal nicht mehr richtig funktioniert. In meinem Fall war es so, das ich eine ASP.NET 2.0 Applikation hatte, welche für die Authentifizierung im Intranet die NT Challenge Response des Internet Explorer zum IIS nutzt. Auf einmal beklagen sich aber Benützer darüber, dass sie die Applikation nicht mehr aufrufen können. Und wie so meistens sind es nicht die normalen Arbeiter, sondern die wichtigen Entscheidungsträger.

In meinem Fall war die Unzulänglichkeit wie so oft, tief in der Microsoft Konfiguration des Servers/Services versteckt. Konkret lief die .NET Applikation auf einem Windows Server 2003, also auf einem IIS 6.0. Das Problem lag darin, das Benutzer mit vielen Mitgliedschaften im Active Directory, auf Grund einer Grössenbeschränkung vom IIS nicht mehr authentifiziert wurden. So ist der IIS standardmässig so eingestellt, das Active Directory User bis ungefähr 70 Mitgliedschaften erkannt werden. Da bei uns jedoch gerade eine Reorganisation vonstatten ging und einige Benutzer temporär locker das Doppelte an Mitgliedschaften hatte, reichte das nicht mehr. Folgende Parameter Settings lösten das Problem:

  1. Registry öffnen
  2. zum Key HKLM\System\CurrentControlSet\Services\HTTP\Parameters  navigieren
  3. Neuer DWORD Key MaxFieldLength, Value dezimal 32768 setzen
  4. Neuer DWORD Key MaxRequestBytes, Value dezimal 32768 setzen
  5. In Kommandozeile eingeben: net stop http
  6. In Kommandozeile eingeben: net start http
  7. In Kommandozeile eingeben: net stop iisadmin /y
Thursday, 07 February 2008 15:35:03 (W. Europe Standard Time, UTC+01:00)  #    Disclaimer  |   | 
 Wednesday, 17 October 2007

Alle Jahre kommt ja der Zeitpunkt, wo man gerne ein Zertifikat zu Testzwecken benötigt. Darum hier nun eine kleine Beschreibung der nötigen Tasks (für W2K3):

  1. Den Certification Service auf dem Rechner installieren
    (Dies ist nötg, wenn noch keine eigne Certification Authority da ist, die nicht kostet)
  2. Danach kann man via http://localhost/certsrv einen WEB-Request absetzen.
  3. Request a certificate , um eine Anfrage für ein Zertifikat machen zu können
  4. advanced certificate , request um ein Server Zertifikat auszuwählen
  5. Create and submit a request to this CA , umd die entsprechenden Angaben zu machen
  6. Anschliessend bekommt man die Meldung, dass der Request pending ist
  7. Als nächstes startet man die Certification Authority und wählt bei den pendenten Aufträgen per Kontextmenu Issue um das Zertifikat zu generieren.
  8. Anschliessend lässt sich das Zertifikat downloaden.
Wednesday, 17 October 2007 15:15:15 (W. Europe Standard Time, UTC+01:00)  #    Disclaimer  |   |