Archiv

Archiv für Februar, 2009

SQL in Form mit SQLInform

24. Februar 2009 admin Keine Kommentare

Ich habe gerade in etwas komplizierteres SQL-Script zur Fehlersuche geöffnet. Leider ist der Kollege der ehemals das Script geschrieben hatte davon ausgegangen dass Zeilenumbrüche und Leerzeichen nur in Notfällen zu gebrauchen sind.

Zum Glück gibts ja das Internet und ich habe dort ein cooles SQL-Formatierungstool (ONLINE und bald auch als Offline-Version verfügbar) gefunden.

Der SQL-Formatter beeindruckt mit einer enormen Vielfalt an Einstellungsmöglichkeiten und den Ausgabeformaten.

Also einfach mal probieren: SQLInform

have fun

KategorienSQL-Server 2005

SQL-Server – Tabellenvergleich nach Inhalt

24. Februar 2009 admin Keine Kommentare

Wie bereits in einem vorangegangenen Artikel erwähnt, kann es im laufe eines Entwicklungszyklus dazu kommen, dass man Änderungen an einem System durchführt und diese sich dann auf die Daten in der Datenbank (nicht) auswirken sollen.

Um zwei Tabellen miteinander zu vergleichen muss man nicht nur die Struktur betrachten sondern auch die Inhalte.

Mit nachfolgend vorgestellten Script können die Inhalte zweiter Tabellen miteinander verglichen werden. Hierbei ist es nicht zwingend relevant wo diese Tabellen gespeichert sind, noch ob die Feldnamen übereinstimmen.

Mehr…

KategorienSQL-Server 2005

SQL-Server – Connections trennen

23. Februar 2009 admin 1 Kommentar

Immer wieder einmal ist man in der Situation, gerade im Entwicklungszyklus, seine Datenbank mal schnell zu restoren. Leider bleiben während der Tests immer wieder Verbindungen auf die Datenbank offen. Um diese Verbindungen zu kappen und die Datenbank “Restorfähig” zu bekommen kann man die folgenden zwei Statements verwenden. Eigentlich eine triviale Geschichte, ich bin aber erst heute auf diese Art der Lösung gekommen ;)

 T-SQL |  copy code |? 
1
ALTER DATABASE [AdventureWorks] SET  SINGLE_USER WITH ROLLBACK IMMEDIATE
2
ALTER DATABASE [AdventureWorks] SET  MULTI_USER

Das erste Statement bringt die Datenbank in den Single-User-Mode und fährt dabei gleichzeitig alle offenen Transaktionen zurück.
Im zweiten Schritt wird die Datenbank wieder in den Normal-Mode zurückgesetzt.

have fun

KategorienSQL-Server 2005

SQL-Server 2005: Suche nach Text in Spalten und Objekten

11. Februar 2009 admin Keine Kommentare

Und wieder einmal habe ich mich endlich dazu durchgerungen ein Script zu schreiben dass mir in der Vergangenheit so manche Stunde Sucharbeit gespart hätte.

Es kommt immer wieder vor dass man Feldnamen, Funktionen bzw. Prozeduren ändern muss um den aktuellen Gegebenheiten von Geschäftprozessen oder Namenskonventionen zu entsprechen. In solchen Fällen ist es wichtig VORHER eine Analyse durchzuführen die eventuelle Nebenwirkungen sichtbar macht. Eine simple Feldnamenänderung kann fatale Folgen auf den gesamten Beladeprozess einer Datenbank haben.

Ein Teil der oben angesprochenen Analyse ist es, einen gegebenen Text in Spaltennamen und anderen Objekten auf einem SQL-Server zu finden.

Das nachfolgend gezeigte Script erledigt diese Aktion in wenigen Sekunden. Ein übergebener Text (Variable @SuchText) wird in allen Datenbanken des Servers gesucht und am Ende erscheinen die Objektnamen mit Datenbankreferenz in Form eines Resultsets. Mehr…

KategorienSQL-Server 2005

System-Views und -Tabellen in SQL-Server

11. Februar 2009 admin Keine Kommentare

 

Aus aktuellem Anlaß möchte ich hier mal die Beschreibungen der System-Objekte (SystemViews und System-Tables) für die SQL-Server Versionen 2000 / 2005 und 2008 gesammelt zur Verfügung stellen.

Die Links beziehen sich direkt auf die Microsoft-Seiten. Damit bekommt man dann auch immer den dort aktuellen Stand. Mehr…

KategorienTechnik

SQL-Server Version feststellen

4. Februar 2009 admin Keine Kommentare

Eine schnelle und einfache Methode um die aktuelle SQL-Server Version zu ermitteln ist das folgende Statement:

 T-SQL |  copy code |? 
01
SELECT  SERVERPROPERTY('productversion') AS ProductVersion,
02
	SERVERPROPERTY ('productlevel')  AS ProductLevel,
03
	SERVERPROPERTY ('edition')	AS Edition
04
 
05
-- oder
06
 
07
PRINT 'ProductVersion: ' + CAST(SERVERPROPERTY('productversion') AS VARCHAR(255))
08
PRINT 'ProductLevel  : ' + CAST(SERVERPROPERTY ('productlevel')  AS VARCHAR(255))
09
PRINT 'Edition       : ' + CAST(SERVERPROPERTY ('edition')	 AS VARCHAR(255))
10
 
11
-- oder
12
 
13
SELECT @@VERSION
14

Die Ausgabe sieht dann in etwa so aus:

ProductVersion: 10.0.1600.22

ProductLevel : RTM

Edition : Developer Edition

Mehr…

KategorienSQL-Server 2005