Benutzer:

Passwort:

Claus Rothe

Derzeit im Umbau... Dient vor allem meinem privaten Zweck, wer es trotzdem findet, viel Spaß. ;)


Datenbank Blog

2011-09-19: Links

Es gibt ein paar Seiten die man kennen sollte:
G-Productions - Systemsichten und Systemviews als Quellcode

SQL Server Builds Übersicht

2011-06-22: Systemsichten Übersicht

Auf der Microsoftseite findet man ein schönes Poster zu den Systemsichten des SQL Servers 2008.

Dazu einfach hier klicken und dann rechts "Poster mit SQL Server 2008 R2 Systemansichten" anklicken.

2011-04-29: Kommagetrennte Daten in einem Feld

Wer kennt die Anforderung nicht, da will jemand eine Liste mit Daten, aber bestimmte Daten sollen Komma-Separiert Dargestellt werden. Nehmen wir das Beispiel eines Ansprechpartners, der verschiedene Sprachen spricht. Klassisch wird das über 3 Tabellen abgebildet. Sprich eine für den Ansprechpartner, eine für die Sprache und zuletzt noch eine Zuordnungstabelle. Wie bekommt man aus so einem Konstrukt die Sprachen kommasepariert?
Eine der Lösungen auf die man recht schnell kommt ist eine Funktion zu bauen die diese Daten in einer Schleife durchläuft und die Daten zu einem String zusammenfügt. Doch es geht mit einem simplen Trick viel einfacher und schneller. Man kann dafür nämlich die XML Funktionen missbrauchen. Sofern keine Tagnamen angegeben werden, werden nämlich die Tags komplett weg gelassen.

Anhand der oben genannten Tabellen möchte ich hier ein einfaches Beispiel geben:

select	ap.name, 
		ap.vorname, 
		(select 
            s.sprache+','
            from Ansprechpartner_Sprache aps
            inner join 
            sprache s
            on aps.sprache_id = s.id
            where aps.ansprechpartner.id = ap.id
            FOR XML path('')
			) as sprachen
from ansprechpartner ap

Das Ergebnis sieht dann so aus:

Hans		Meier		Deutsch,Englisch,
Hubert	Franz	Deutsch,
Herbert	Müller	Englisch, Französisch,

Das Komma zu viel bekommt sicher so ziemlich jeder selbst entfernt, ich wollte den Query aber nicht noch komplizierter machen.

2011-04-14: Performanceproblem Replikation?

Beim MS SQL Server 2008 sind einige Indices für die Replikation so eingestellt, dass es bei größeren Replikationsmengen schnell zu Performanceengpässen führen kann. Meist ist dieses auf dem Verleger nur durch Blockierungen zu sehen.
Hier sollte man die wichtigsten Indices einfach mit einem anderen Fillfactor versehen. Wichtig sind hier die Tabellen MSMerge_genhistory, MSmerge_tombstone und MSmerge_contents.
Zum Beispiel so:

 Alter index c1MSmerge_genhistory on MSmerge_genhistory REBUILD with (FILLFACTOR = 50) 
Alter index uc1MSmerge_tombstone on MSmerge_tombstone REBUILD with (FILLFACTOR = 50) 
Alter index uc1SycContents on MSmerge_contents REBUILD with (FILLFACTOR = 50)

Man sollte diese natürlich dann auch regelmäßig reorganisieren.

2011-03-25: Thesaurus für die Volltextsuche

Für die Volltextsuche im SQL Server gibt es die Möglichkeit sprachabhängig einen Thesaurus zu pflegen. Ich hab das leider noch nicht einsetzen dürfen, aber hier mal die Doku dazu.

Ich hoffe die Pflege wird bei SQL Server 2011 über den SQL Server selbst laufen.

MS Doku dazu


Seite zurück [1] [2] [3] [4] [5] [6] Seite weiter

Impressum

Claus Rothe

Mobil: +49 176 81188859

E-Mail: post@...