Tag: "t-sql"

EXECUTE permission was denied
Apr 25th
Ein User erstellt eine Prozedur und versucht sie anschließend auszuführen. Er bekommt aber die Meldung: Nachricht 229, Stufe 14, Status 5, Prozedur usp_MeineProzedur, Zeile 1 [Batchstartzeile 0] The EXECUTE permission was denied on the object… mehr »

DROP ... IF EXISTS
Mär 14th
Ab SQL Server 2016 gibt es einige schöne Möglichkeiten Skripte etwas fehlertoleranter zu schreiben. mehr »

Der Plancache - Grundlagen
Sep 18th
Wofür ist eigentlich der Plancache da und was kann ich mit den Informationen anfangen? In den nächsten Postings will ich dem Thema mal etwas auf den Grund gehen. mehr »

Mehrfache Leerzeichen einfach entfernen
Mai 22nd
Kurz vor dem langen Wochenende nur ein kleines Skript mit einem tollen Trick, wie man mehrfache Leerzeichen in einem String einfach entfernen kann. mehr »

Dynamisches Pivot
Jun 19th
Nicht immer sind die Spalten fest definiert, nach denen man eine Tabelle pivotieren möchte. Falls die Spalten auch erst nach Anwendung anderer Kriterien feststehen, hilft nur noch dynamisches SQL um das passende Statement zur Laufzeit zu erzeugen. mehr »

Das Märchen von ORDER BY
Mai 12th
Das Troll-Rätsel: Ein SQL Märchen
Es war einmal vor langer Zeit, da lebten in einem fernen Land drei T-SQL Programmierer.
Frederick Function liebte es einfach T-SQL Funktionen in seinen Abfragen aufzurufen. Er dachte, das würde seinen Code… mehr »

Prüfung auf mehrere Kriterien
Mär 6th
Kürzlich erreichte mich die Anfrage aus unserer PASS-Gruppe, wie man am effektivsten aus einer Menge von Lieferungen diejenigen herausfinden könnte, wo mehrere Kriterien erfüllt sein müssten. Eine Kombination von Joins oder AND-Bedingungen schien nicht… mehr »

Parameter Sniffing und Planhinweislisten
Aug 6th
Im dritten Teil wollen wir eine weitere Methode kennen lernen, wie die hinterlegten Pläne im Plancache beeinflusst werden können. Dies ist insbesondere dann interessant, wenn wir es mit Prozeduren oder Statements zu tun bekommen, die wir nicht einfach m… mehr »

Parameter Sniffing und der Plancache
Aug 5th
Heute wollen wir mal einen etwas genaueren Blick auf den Plancache werfen und noch einmal betrachten, wie dort abgelegte Pläne die Ausführungszeiten von Statements beeinflussen.… mehr »

Parameter Sniffing und Trace Flag 4136
Jul 24th
Wer schnüffelt hier an wem und warum könnte das eine Herausforderung für Programmierer sein? Gibt es Abhilfen, oder müssen wir das so hinnehmen?
Um dieses Thema zu verstehen, muss man sich der Arbeitsweise des Query Optimizers nähern, sich mit Statis… mehr »

It's all in the manual, stupid - Trigger
Apr 29th
Neulich hatte ich wieder einmal dieses unbezahlbare Gefühl, dass einfach alles Sinn macht, sobald man es nur oft genug genau liest und (mehr oder weniger zufällig) den Sinn der aneinandergereihten Buchstaben erfasst...
Vor 3 Jahren haben wir für eine… mehr »

Analoge Zeit in Transact-SQL
Apr 10th
Gestern gab es hier eine kleine interne Diskussion um ASCII Art und in diesem Zusammenhang fiel mir ein kleines "Highlight" ein, das mittlerweile vor fast 10 Jahren (seufz!) stattgefunden hat und das wert ist, aufbewahrt zu werden.
Konkret ging es um… mehr »

Einige Arbeitstage in der Zukunft
Mär 12th
Aufgabenstellung: Ausgehend von einem Startwert soll das Datum des Tages berechnet werden, dass drei Arbeitstage (unter Berücksichtigung der Feiertage und Wochenenden) in der Zukunft liegt.… mehr »

Update in bestimmter Reihenfolge
Mär 7th
Heute gab es im Forum mal wieder eine interessante Frage, die darauf zielte Sätze aus einer Tabelle in einer bestimmten Reihenfolge mit Sätzen aus einer anderen Tabelle zu aktualisieren. mehr »

It's all in the manual, stupid - Kompatibilitätsgrad
Feb 19th
Gerade wenn man denkt, man versteht was so um einen herum vor sich geht und hat eine gewisse Einsicht in SQL Server, kommt es anders, als man denkt und endet in dem, was die Engländer so nett "Facepalm" nennen.
Hintergrund: Unsere Produktionsdatenban… mehr »

Dateninseln partitionieren
Okt 30th
Wie wir alle wissen, gibt es verschiedene Arten von Inseln, die man nicht unbedingt miteinander vergleichen kann. Sand, Fels, Korallen, ...! Für unsere Dateninseln gilt genau das gleiche.… mehr »

Dateninseln erkennen und auswerten
Okt 25th
Beim Thema Inseln kommt vielleicht spontan Urlaubsstimmung auf, aber hier geht es (leider) um etwas ganz anderes. Der Lösungsansatz zur Behandlung von Dateninseln offenbart sich erst auf den zweiten Blick, aber hier lohnt sich auf jeden Fall die genauere Betrachtung der Möglichkeiten und bestimmt ergeben sich auch Anwendungsfälle bei den eigenen Daten.… mehr »
Umrechnung UTC-Zeit in Normalzeit
Sep 21st
Einige Felder innerhalb des SQL-Servers werden nicht in der normalen Zeitzonenzeit gespeichert sondern in der sogenannten UTC-Zeit (Universal Time Coordinated). Unsere MEZ (Mitteleuropäische Zeit) erhält man, wenn man eine Stunde dazu addiert bzw. inner… mehr »

THROW (Mit und ohne Semikolon)
Sep 19th
Hier kann ich nicht so richtig reinschreiben: Neuerung in 2012, denn es kommt fatal auf die Schreibweise an.
Ausgehend von dem Connect-Beitrag von Erland Sommarskog möchte ich hier kurz die Problematik erläutern. mehr »

CONCAT (Neuerung in SQL Server 2012)
Sep 13th
Bei der Verknüpfung von Strings mit der Gefahr auch NULL-Werte dabei zu haben, gibt es bisher schon verschiedene Wege zum Ziel. Mit SQL Server 2012 ist eine neuer dazu gekommen. mehr »

The Power of 2
Jun 21st
Der Begriff "Gleitkommaunterlauf" ist sicherlich nicht jedem geläufig und die Fallstricke, die die POWER()-Funktion bereithält überraschen sicherlich auch den ein oder anderen (unangenehm). mehr »

High-Performance T-SQL Using Window Functions
Mai 29th
Es gibt mal wieder ein neues Buch von Itzik Ben-Gan. Dieser Autor wurde schon öfters auf den Seite von insidesql.org erwähnt.… mehr »

Tabelle mit einer Zeile
Mai 25th
Nun gut, dies ist bestimmt nicht der Standard-Fall. Gelegentlich kommt es vor, dass man sicherstellen muss, nur eine Zeile in einer Tabelle abzuspeichern. Hier kommt ein verblüffend einfacher Tipp.… mehr »

Anti-Semi-Join Reordering
Mai 9th
Spielt die Reihenfolge der Angaben in der Where-Klausel eine Rolle? In der Regel nicht, aber es gibt Ausnahmen.
Wie Conor Cunningham vor einiger Zeit bereits in seinem blog berichtete, kann der Optimizer allerhand magische Operationen und … mehr »

Maximum von drei Daten ermitteln
Mai 4th
Viele Wege führen nach Rom und hier zeige ich drei unterschiedliche Ansätze, um das Maximum von drei Daten zu ermitteln. Nicht jeder Weg erschließt sich automatisch, aber kann doch zum Ziel führen.… mehr »
