Kategorie: T-SQL

TSQL – Der bessere Replace

Ab und zu sieht man den Wald vor lauter Bäumen nicht. Dieses mal stand ich vor der Aufgabe aus einer Spalte bestimmte Werte zu ersetzen. Die Liste der zu ersetzenden Werte war doch etwas länger. Mit einem simplen replace komme ich nicht besonders weit, da sich ja nur ein Wert ersetzen läßt.  Grübel grübel.. Doch […]

Von Anfang an – Startup Script Für SQL Server

Sie wollen nach Start des SQL Server ein bestimmtes SQL Script laufen lassen, um etwa den Zeitpunkt des Starts zu protokollieren oder etwa Prüfabfragen zu starten und zu protokollieren? Dann sind Prozeduren, die automatisch nach Start des SQL Servers Dienstes gestartet werden genau das Richtige. Vergessen Sie Startparameter oder ähnliches. Es gibt extra eine Prozedur, […]

Verschätzt – AdHoc Abfragen Probleme

Ich kenne nicht viele Systeme, deren SQL Logik nicht in Prozeduren verpackt worden wäre, aber dennoch.. es gibt sie. Sofern sie ebenfalls vorhaben, mehrfach AdHoc Abfragen an den Server zu stellen, in dem Sie beispielsweise auf Prozeduren in Anwendungen verzichten, dann sollten sie sich folgenden Umsatnd überlegen. Autoparametrisierung SQL Server versucht Abfragen zu parametrisieren, um […]

Zur falschen Zeit am falschen Ort – Datentypen

Eine ganz banale Vergesslichkeit kann zu ungewollten Performanceeinbußen führen. Aufgefallen ist mir diese – sagen wir mal Unachtsamkeit bei Erstellung von Tabellen im SSMS. Gerne klickt man schnell durch und übersieht, dass der Standard für Datentypen ein nchar(10) ist. Kein Problem, solange das auch gewollt ist. Aber wenn nicht..? PROBLEM   Sehen wir uns mal […]

Anderer Ansicht sein – die Crux der Sicht

Gerade für Anfänger scheinen Sichten das Maß aller Dinge zu sein. Sichten Editor im SSMS verhilft einem spielend einfach komplexere Joins zusammenzubasteln. Und so werden es mehr und mehr Sichten .. und Sichten greifen auf Sichten zu, die auf Sichten zugreifen , die auf Sichten zugreifen. Sie wissen sicherlich was ich meine. Die Idee ist […]

Du kommst hier net rein – Logon Trigger

Trigger sind seitens Performance vermutlich die schlechteste Wahl. Worüber wir allerdings hier sprechen hat nichts mit den üblichen Insert, Update und Delete Trigger zu tun.  Wir wollen aktive Login Versuche überwachen und evtl darauf reagieren. Das einzig Gemeinsame mit den Üblichen DML Triggern ist also das Reagieren auf Ereignisse – den Logins. Ein Frage der […]

SQL Server 2014 Columnstore Indizes

  Version 2.0 der Columnstore Indzes. Microsoft gab in der SQL Server 2014 CTP1 den Blick frei auf die kommende Genration der spaltenorientierten Indizes. Das Prinzip der Columnstore Indizes ist klar. Zeilen statt Spalten. Wer frägt denn schon mit Select * Tabellen ab? Hoffentlich keiner! Columnstore Indzies widmen sich vor allem den OLAP Systemen, Abfragen […]

SELECT from PROCEDURE – Prozeduren in Abfragen verwenden

  Prozeduren lassen sich nicht in SELECT Statements verwenden. Sie müssen ausgeführt werden. Im Prinzip eine sehr logische Sache, da Prozeduren einerseits mehrere Ergebnistabellen zurückgeben könnte bzw. – wenn nur INSERT, UPDATE oder DELETE Statements ausgeführt werden würden – auch gar nichts zurückgeben müsste. Ein paar Ausnahmen gibst allerdings schon 😉 Der Standardweg wäre, das […]

SQL Server 2012: Window Frame – Sliding Windows

Mit SQL Server 2012 wurde relativ still eine Erweiterung der Over Klausel eingeführt: Window Frame. Dann und wann liest man auch etwas von Window Function oder Sliding Windows (diese Bezeichnung finde ich optimal), aber Window Frame ist die offizielle Bezeichung.   Worum gehts? MIt dieser Erweiterungen lassen sich laufende Summe bilden. Ausgehen von einer bestimmten […]

SQL Server 2012: CUME_DIST() – kumulierte Verteilung eines Wertes

Neben den Erweiterung der OVER-Klausel wurden auch einige statistische Erweiterung implementiert. Wollen Sie zum Beispiel wissen, wie häufig ein Werte rel. zum Rest eines Bereiches vorkommt, so kann dies CUME_DIST im Handumdrehen lösen. Das kann nützlich sein, wenn Sie in einer Tabelle Abteilunge und Umsätze sehen. Wollen Sie nun wissen, welcher Umsatz pro Abteilung der […]

SQL Logins umziehen

Wie in vorherigen Artikeln schon beschrieben, ist ein lösbares Grundproblem des Restores einer DB auf eine andere SQL Server Instanz, dass die Logins fehlen. Die integrierte Prozedur sp_Change_userslogin kann diese verweisten Datenbankbenutzer korrigieren,. Allerdings ist das ein wenig mühselig, wenn man viele Logins umziehen muss. Dazu hat Microsoft einen Knowledgebase Artikel inkl. Skript veröffentlicht (http://support.microsoft.com/kb/918992/DE) […]

SQL Server 2012 – Virtual Labs

Auf der Seite http://www.microsoft.com/sqlserver/en/us/learning-center/virtual-labs.aspx können online bestimmte Szenarien erprobt werden. Mittels virtueller Maschinen und einer Anleitung werden Labs zu den Themen Power View, AlwaysON, Security Enhancements ,T-SQL Neuerungen und weitere kostenlos zur Verfügung gestellt. Die Labs bitte per IE starten. In anderen Browsern kann/gibts Probleme beim Start.

SQL Server 2012 – ENDOFMONTH auch in SQL Server 2008

Natürlich sind in SQL Server 2012 neue T-SQL Erweiterungen, sprich Funktionen, enthalten, die einem das Leben ein Stückchen leichter machen. Ein Beispiel dazu wäre ENDOFMONTH(). Eine Funktion, die den letzten Tag eines Monats ausgibt. Natürlich kann man eine solche Funktion auch älteren SQL Servern haben. Zunachst mal die SQL Server 2012 Function…: SQL Server 2012: […]

SQL Server 2012 – Columnstore Indizes updaten

In Columnstore Indexex habe ich bereits den neuen spaltenorientierten Index beschrieben.  Ein wichtige Tatsache muss allerdings noch beachtet werden: Tabellen mit Columnstored Indizes sind nicht update fähig. Wer denkt, dass dies ein Mag-ich-nicht Feature ist, hat zwar Recht, aber dafür gibt es 2 nette Workarounds:   Workaround 1: Drop table … create table kein weitere […]

SQL Server – Buch Empfehlung Performance-Optimierung

Auf gut 350 Seiten beschreibt Holger Schmeling die wichtigsten Tuning Maßnahmen auf leicht verständlichen Art. Da Buch führt den Leser u.a. durch Indizes, Planhinweislisten, Partitionierung oder auch Monitoring. Die Beispiele sind dabei leicht verständlich und allesamt fehlerfrei nachvollziehbar und auf CD mit dabei. Auf 350 Seiten kasnn und wird natürlich nicht alles, was das Tuning […]

SQL Server 2012 – AdventureWorks Demodatenbank installieren

Auf der codeplex.com Website findet man unter Demodatenbank für Denali CTP3. Unter anderem sind dort auch die DBs für das Datawarehouse und SSAS zu haben. Die Demodatenbank wird mit folgendem Skript eingebunden: CREATE DATABASE AdventureWorks2008R2 ON (FILENAME = ‚C:SQLDBAdventureWorks2008R2_Data.mdf‘) FOR ATTACH_REBUILD_LOG ; Das Skript quittiert SQL Denali folgendermaßen. Dateiaktivierungsfehler. Der physische Dateiname ‚C:Program FilesMicrosoft SQL […]

SQL Server 2012 – Debugging von T-SQL

Das Debugging von T-SQL Code macht in Denali deutlich mehr Spaß, als in den älteren SQL Server Versionen. Zugegeben, ich bin eher einer der print – Befehl Debugger, aber Denali überzeugt mich nun doch.   Multimonitor Support Hier zunächst mal ein Screeenshot über zum Thema “Look and Like”: Gerade der Multimonitor Betrieb, der verschiedene Abfragefenster […]

SQLDays in Rosenheim: SQL Server 2012 – SQL Server Next Generation

Dieses Jahr finden wieder die SQLdays in Rosenheim vom 28.9. bis zum 29.9. statt . Der Fokus steht dieses mal ganz im Zeichen von Denali. Thomas Grohser – Wächter und Hüter des größten SQL Servers (100 TB+ DBs) – wird einiges aus der Praxis erzählen. Auch Mitglieder des MVP-Programms, die bereits seit Monaten an und […]

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 […]