t-sql
Alle Objekte rekompilieren lassen
Der Ausführungsplan wird vom MS Sql Server einmalig beim Erstellen / Ändern eines Objektes erstellt. Durch neue oder geänderte Indizes, „verschieben“ der Verteilungsstatistik von Daten und anderen Umständen können sich diese Ausführungspläne als ungünstig...
GetDate() und SysDateTime()
Mit dem MS SQL Server 2008 wurden genauere Datumstypen eingeführt, mit denen es möglich ist, auch Daten vor 1753 oder Uhrzeiten mit einer genaueren Auflösung als 10/3 Millisekunden zu speichern. Die Funktion GetDate liefert unverändert einen datetime-Wert....
Die letzten Objekt-Änderungen ermitteln
Wenn man alleine an einem Datenbank-Design für den MS SQL Server sitzt, weiß man, was man zuletzt so alles geändert hat. Arbeitet man im Team, sollte man es wissen, weil einem die Kollegen informieren und es natürlich auch eine Dokumentation mit Historie...
Objekt-Abhängigkeiten im MS SQL Server
Neben dem Durchsuchen von Objektdefinitionen kann man auch die Abhängigkeiten von Objekten untereinander selektieren, dazu dient das System-View sys.sql_dependencies. Ich habe dazu eine Beispiel-Selektion erstellt, diese kann natürlich nach gezielt auf...
Massendaten zwischen Tabellen schieben
Preisfrage: Wie verschiebt man in einer MS SQL Server Datenbank quasi im Bruchteil einer Sekunde mal eben ein paar Millionen Datensätze von einer Tabelle (Partition) in eine andere? BULK COPY vielleicht? Das „Zauberwort“ heißt ALTER TABLE … SWITCH ALTER...
T-SQL Objekt-Definitionen durchsuchen
Bei Designänderungen Im MS Sql Server muss man alle eventuellen Seiteneffekte beachten, spricht man muss prüfen, welche Auswirkungen die Änderungen auf abhängige Objekte haben. Natürlich hat man alles gut dokumentiert, so dass man schnell herausfindet,...
Wer blockiert wen … oder wird es vielleicht bald?
In den letzten Wochen ist es ein paar mal vorgekommen, das ein User einen längeren Prozess angestartet hatte, der Client bzw. die Citrix-Session brach ab, der Prozess auf dem SQL Server blieb bestehen und blockierte durch seine Sperren andere. Bis Helpdesk...
VARCHAR(MAX) Textbehandlung mittels .WRITE
Bis einschließlich SQL Server 2000 konnte man lange Texte, größer 8KB, nur als LOB (large object) ablegen. Dadurch war das „Bearbeiten“ von diesen Texten per T-SQL entsprechend kompliziert und umständlich. Mit SQL Server 2005 wurde dann der neue Datentyp...
INSERT INTO / SELECT FROM … Multiple-Values
Wenn man mal eben ein paar Werte / Zeile braucht, um Logiken u.ä. zu testen, dann hat man bis zum MS SQL Server 2005 meist ein temporäre Tabelle angelegt, ein paar Daten eingefügt und die dann verwendet; sah dann so aus: CREATE TABLE #Dummy ( NumFeld...
Größe zu allen Objekten ermitteln
Die Größe seiner MS SQL Server Datenbanken hat man im Allgemeinen immer im Blick. Nur wie teilt sich das auf meine Objekte und dort auf die Daten, Indizes etc. auf? Mittels EXEC sp_spaceused @objname = 'Schema.Objectname' kann man es sich je Objekt ausgeben...