Schlagwort: T-SQL

Tablediff – T-SQL Skript zum Synchronisieren von Tabellen automatisch erstellen lassen

Ok.. viele kennen dieses Tool, aber noch mehr kennen es nicht, obwohl es schon seit Jahren Bestandteil des SQL Servers ist. Tablediff kann sehr schnell und auf einfache Art unterschiedliche Daten zwischen Tabellen erkennen und ein Skript generieren, dass den Abgleich schafft. Download? Braucht man nicht! Tablediff ist ein Tool, das mit dem SQL Server […]

Login Failed – IP Adressen Zugriff auf SQL Server verweigern

Normalerweise würde man den Weg umgekehrt gehen: nur bestimmte Adresse bekommen Zugriff auf den SQL Port. Allerdings bin ich häufiger unterwegs und beziehe per DHPC verschiedenste Adressen. Daher steht der SQL offen im Netz und wird gerne Ziel verschiedenster Angriffe. Das Problem ist für mich zunächt der Versuch oder die Möglichkeit Accounts zu knacken, sondern […]

SQL Server: Index Leitfaden – Verwaltung der Indizes durch Rebuild oder Reorganize

Indizes, Beschleuniger oder Bremse Nr 1, bedürfen einer Wartung. Man stelle sich mal das Münchener Telefonbuch vor, wenn alle neuen Telefonnummern nur immer hinten angehängt werden würden. Ähnlicher Fall bei den Indizes… Jede Änderung der Daten führt zu dazu, dass die entsprechenden Indizes ebenfalls mitgepflegt werden müssen. Im Gegensatz zu Spalten werden bei Indizes die […]

Seltsames TSQL – Geht nicht geht doch

Vor kurzem bin ich über folgendes seltsames Phänomen gestolpert: Die folgende Abfrage ist eigentlich nichts besonderes. Allerdings existiert die Spalte "country” nur in der Tabelle Customers, aber nicht in der Tabelle orders. select * from Customers where Country in (select country from orders) Normalerweise würde man annehmen, das der Optimierer erkennt, dass die Unterabfrage nicht […]

SQL Server : Index Leitfaden Teil 2 – Vergabe von Indizes

Im Teil 1 Index Leitfaden Teil 1- Index für Rookies haben wir die den gruppierten und nicht gruppierten Index vorgestellt. Nun wollen wir mal sehen, auf was es bei der Vergabe der Indizes ankommt. Wir wissen bereits, dass Nicht gruppierte Indizes gut für Abfragen bei relativ geringen Ergebnismengen ist. Der Gruppierte Index dagegen spielt seine […]

SQL Server : Index Leitfaden Teil 1 – Indizes für Rookies

Indizes sind Top Beschleuniger für T-SQL! Ja und Nein. Tatsache ist, dass Indizes Abfragen enorm, wir sprechen von 30 Sekunden auf 1 Sekunde – reduziert werden können. Tatsache ist allerdings auch, dass Indizes “schmerzen”, wenn es um Inserts, Update und Delete geht. Indizes müssen daher mit Bedacht und Sorgfalt gewählt werden. Allerdings welche Kriterien sollte […]

SQL Server 2012 – Sequences

  Eine Neuerung, aber keine neue Erfindung, sind Sequences. Bei Oracle oder DB2 schon lang zu haben, werden diese erst in Denali SQL 11 eingeführt. Sequenzen stellen eine Möglichkeit dar Zahlenreihen unabhängig (auch ausserhalb von Tabellen) transaktional zu erzeugen. Folgendes Beispiel soll dies erläutern:   Anlegen der Sequence –anlegen der Sequence create sequence KD_SQLgo Die […]

Restore einer Datenbank – Transaktionsprotokoll defekt oder weg

Der folgende Fall ist vielfach im Internet zu finden: “Huch.. das Logfile ist aber groß. Die DB ist 500 MB und das Logfile 50 GB groß. Komisch . Am besten ich lösch das mal….DB offline und weg damit..” Ja.. nicht nur das passiert.. auch ein Defekt des Transaktionsprotokolls könnte aufgetreten sein. Sofern in beiden Fällen […]

Optimierung durch Sparse Columns – Spalten mit geringer Dichte

Bis zur Version SQL Server 2005 mussten Spalten, die mit dem NULL belegt werden trotzdem Speicherplatz belegen. Das ist ok, wenn man bedenkt, dass eine Spalte auch eine leere Menge (keine Zeichen)  beinhalten kann und somit sich von NULL unterscheidet. (‘’ ist nicht NULL) Ab Version SQL 2008 kann nun diese scheinbare Platzverschwendung beeinflusst werden. […]

T-SQL: Spalten zu Zeilen

  Folgendes kleines Problem musste ich vor kurzem lösen: Die Werte eine Spalte sollten als kommaseparierte Liste ausgegeben werden. Bspw:   Tabelle Kunden: ID Nachname —————— 1 Maier 2 Schmitt 3 Gates 4 Job Aus dieser Tabelle sollte folgendes generiert werden: Maier, Schmitt, Gates, Job Auf den ersten Blick erscheint es kompliziert, aber die Lösung ist […]

Demodatenbanken

Für diverse test benötige ich dann und wann ein paar Datenbanken: Hier meine wichtigsten:   Nordwind DB als Skript-Datei:Nordwind DB  Adventureworks 2008: (ist eigtl ein Skript, das viele .csv Dateien importiert. Das Skript muss noch an die jeweiligen Pfade angepaßt werden. AdventureWorks2008 DB.   Für einige Test zur Performance Optimierung hat vor einiger Zeit das […]