t-sql
Einfache Datenreihen erzeugen
Für manche Aufgabenstellungen benötigt man Datenreihen, z.B. fortlaufende Nummern oder alle Tage eines Jahres, um zu überprüfen, ob den für alle Tage auch Daten vorhanden sind. Natürlich kann man so etwas auch prüfen, indem man die Differenz zum höchsten...
View als Tabellen – Dummy Ressource / Zero Device
Stress-Tests für Applikationen, die auf Ressourcen zugreifen, sind mangels eben der Ressourcen nicht immer ganz einfach. Wenn man ein Programm testet, das mal eben 1.000 Seiten und mehr ausdrucken soll, verschwendet man eben mal 1.000 Seiten Papier (macht...
INSERTS abfangen und umleiten
Vorab : Das Ganze ist hier mehr exemplarisch und war eher als „ proof of concept “ gedacht. Das Beispiel ist extra einfach gehalten und soll das Verfahren nur verdeutlichen. Problemstellung: Wir haben eine externe Software, die mit einer proprietärer...
CONVERT liefert Sternchen (Asterisk *)
Wenn man versucht einen Text, der keine gültige Zahl darstellt, in eine Zahl zu konvertieren, gibt es einen Laufzeitfehler; ist klar. SELECT CONVERT ( int , 'Text' ) AS Try Meldung 245, Ebene 16, Status 1, Zeile 1 Fehler beim Konvertieren des varchar-Wertes...
Iteration per GO statt per WHILE Schleife
Schleifen zum Abarbeiten von Batches bildet man in T-SQL mittels einer WHILE Schleife ab. Ab Microsoft SQL Server 2005 hat man den Batchtrenner, was per Default ja das GO ist, um einen Parameter für die Anzahl der Durchläufe anzugeben. Also: Schreibe...
Wann ist +1 Monat?
In T-SQL des Microsoft SQL Servers gibt es die Funktion DATEADD, um auf ein Datum ein Intervall-Wert auf bzw. abzurechnen; sein es Tage, Wochen, Monate oder Ein Wert im Datumsbereich. Einen Tag aufzurechnen, das ist klar und eindeutig: Aus Montag wird...
Aktivität und Fortschritt einer Transaktion ermitteln
Lange Transaktion wie umfangreiche Updates in einem Dataware House lässt man meist per Job über Nacht laufen, da sitzt man nicht daneben und muss waren, bis es fertig ist; Hauptsache es ist bis zum nächsten morgen fehlerfrei durchgelaufen. Wenn man aber...
„Create Or Alter“ für MS SQL Server
Bei Oracle und anderen DBMS gibt es die DDL Anweisung „Create Or Alter“ für Procedures, Functions und Views. Das ist praktisch, da man sich keine Gedanken machen muss, ob das Objekt schon vorhanden ist: Ist es vorhanden, wird es aktualisiert, sonst eben...
IO und CPU Auslastung durch einzelne Prozesse
Wie man alle Prozesse mit deren ausgeführten SQL Statements auflistet, hatte ich schon mal ausgeführt. Die nächste Frage, die sich daraus ergibt ist, wer von denen verursacht die meiste Last auf dem Server und zwingt ihn in die Knie? Mit einem statischen...
Größe zu allen Objekten ermitteln 2 (DMV)
Ich hatte schon mal ein T-SQL Script veröffentlich, um die Größe zu allen Objekten zu ermitteln , das mindestens ab dem Microsoft SQL Server 2000 läuft und die interne Stored Procedure EXEC sp_spaceused @objname = … verwendet, für das Ergebnis aber eine...