Optimieren der tempdb

Eine Systemdatenbank, die es in sich hat und trotzdem oft genug ein Schattendasein führt.  Immerhin steckt hier ein sehr großes Potential für Performance Tuning. Wenn mancher wüßte, was alles über die tempdb im Hintergrund verarbeitet wird oder werden kann, hätte man sicher schon sehr früh die Performance Schraube anziehen können. 

Weiterlesen »

Insert into mit dbcc oder stored procedures

SQL Server ist in vielen Momenten so “streng” logisch. Wenn man bspw. Daten aus einem Select in eine Tabelle einfügen möchte geht dies mit folgender Anweisung: Insert into TabA Select sp1, sp2, sp3 from TabB where sp4 = ‚xy‘ go Der INSERT INTO erwartet dabei nicht etwa zwingend den SELECT,

Weiterlesen »

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

Weiterlesen »

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

Weiterlesen »

Indizes warten–Neu erstellen oder reorganisieren

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, daß die entprechenden Indizes ebenfalls mitgepflegt werden müssen. Im Gegensatz zu

Weiterlesen »

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

Weiterlesen »

SQL Server Monitoring: Messen der Leistung mit Systemmonitor – wichtige Leistungsindikatoren

  Systemmonitor Jede Instanz eines SQL Servers installiert ihre persönllichen Leistungsobjekte bzw. Leistungsindikatoren. Der unter Windows verfügbare Systemmonitor (Perfmon) stellt diese und auch OS eigene Indikatoren zur Verfügung. Der Systemmonitor stellt dadurch  – als Werkzeug der ersten Wahl – die Real time Auslastung der Maschine dar. Natürlich könnte man den

Weiterlesen »

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

Weiterlesen »

Datenbanken als Skript exportieren

Ein sehr nützliches Tool ist der Microsoft SQL Server Database Publishing Wizard 1.1. Mit Hilfe dieses kleinen Tools ist es möglich komplette Datenbanken als Skript zu exportieren. Im Gegensatz zu “CREATE AS” in SQL Server Management Studio werden hiermit auch die Inhalte der Tabellen, sowie die Schemas generiert. Der Download

Weiterlesen »