fn_dblog() – DML-Geheimnisse des Transaktionsprotokolls entschlüsseln

Die – nicht dokumentierte und nicht von Microsoft unterstützte – Funktion sys.fn_dblog() zeigt Inhalte des “aktiven” Transaktionsprotokolls einer Datenbank und ist eine wahre Schatztruhe, wenn man die “Geheimnisse” dieser Funktion entschlüsselt. Dieser… mehr »

Parameter Sniffing und Planhinweislisten

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

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 »

CONTROL SERVER vs. sysadmin/sa: permissions, system procedures, DBCC, automatic schema creation and privilege escalation - caveats

CONTROL SERVER gegen Sysadmin/sa: Berechtigungen, Systemprozeduren, DBCC, automatische Schema-Erstellung und Privilegienausweitung Seit SQL Server 2005 gibt es die Serverweite Berechtigung CONTROL SERVER. Prinzipiell eine Alternative zur sysadm… more »

Premium Preview for SQL Database Guidance

Windows Azure SQL Database has released a limited Premium preview for SQL Database. By reserving a fixed amount of capacity for your SQL Database and its secondary replicas, the Premium preview for SQL Database will deliver more predictable performance for cloud applications, relative to existing SQL Database Web and Business Editions… more »

UPDATE in Clustered Index = DELETE mit nachfolgendem INSERT?

Im vorherigen Artikel “UPDATE in HEAP = DELETE mit nachfolgendem INSERT?“ habe ich auf Grund eines interessanten Threads in den MSDN-Foren belegt, dass ein UPDATE-Befehl nicht mit einem DELETE und anschließendem INSERT zu vergleichen ist. Beide Verfahre… mehr »

Wie poste ich mein SQL Server Abfrage-Problem richtig, damit ich die beste Hilfe erhalte?

Zugegebenermassen ein etwas reisserischer Titel, nicht wahr? Aber in Zeiten, wo man stets mit Superlativen zugeschmissen wird, durchaus angebracht, um Aufmerksamkeit zu erregen. mehr »

GUI vs. T-SQL – trotz dbo / db_owner keine Berechtigungen?

Wir haben heute für ein neues Projekt eines Kunden einen POC (Proof of Concept) durchgeführt und dabei unter anderem die angeforderten Berechtigungen des Herstellers überprüft. Unter anderem sollte das Servicekonto der Applikation in der Datenbank selbs… mehr »

Parameter Sniffing und Trace Flag 4136

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 »

RESTful Webservices

Ich bin kein C# Entwickler, aber hin und wieder beschäftige ich mich doch damit und so komme ich auch nicht umhin, mich hin und wieder mit diversen Schlagwörtern und Konzepten, die, unter anderem auch, in der "C#-Szene" gebräuchlich sein, auseinanderset… mehr »

SQL Saturday #230 Nachlese

Nun ist der SQL Saturday in St. Augustin schon fast wieder eine Woche her. Hier kommen ein paar Bilder von den Sessions, die von insidesql.org bloggern gehalten wurden! Bereits morgens die erste Session zum Thema Window Functions kam von mir. Im L… mehr »

UPDATE in HEAP = DELETE mit nachfolgendem INSERT?

In einem recht interessanten Thread in den msdn-Foren von Microsoft ging es primär darum, die Gründe zu finden, warum ein UPDATE so lange dauert. Unter anderem wurde von – einem von mir sehr geschätzten Kollegen – Kalman Toth zu diesem Punkt erwähnt, da… mehr »

Security Session „SQL Attack..ed“ – Attack scenarios on SQL Server ("Hacking SQL Server")

   In this purely demo-based security session, I am showing several attack scenarios on different layers. Due to special request this includes some special SQL Injection types. Furthermore I show how an evaluation of privileges attack is possible due to a not uncommon configuration as well as an “insider-exploit” with a database root kit.   Auf dem diesjährigen SQLSaturday in Deutschland habe ich wieder einmal einen meiner Sicherheitsvorträge gehalten, in denen ich mich auf „Angriff“ konzentriere. Für mich eine gute Gelegenheit, mich wieder einmal intensiv mit SQL Server S… more »

Neue Updates für SQL Server 2012 und 2008

Ganz frisch erschienen und im SQL Server Releaseblog veröffentlicht wurden zwei CUs. Cumulative Update #5 for SQL Server 2012 SP1 Cumulative Update #12 for SQL Server 2008 SP3 Die Cumulative Updates können über die Supportseiten heruntergeladen… mehr »

A new bug today

After installing the latest wsus-updates I could not edit Maintenance Plans on my workstation any longer. The software was not responding and I found out that the history of the reports in SSMS was gone. It seems to be a problem with a .Net4 Update.… more »

Blick über den Zaun

Heute mal der Hinweis auf einen Artikel zur Fensterverwaltung im Office 2010 und 2013. Das hat zwar nicht unbedingt mit Window Functions im T-SQL zu tun, aber ich fand den Blick hinter die Kulissen recht interessant. Mein MVP-Kollege Mourad Louha der… mehr »

Das Programm

Hier findet man das Programm für den SQL Saturday am Samstag. Für die PreCon-Veranstaltung sind auch noch einige wenige Plätze verfügbar. Für den Preis von 179,- EUR für einen ganzen Tag wird man wohl kaum sonst so viel Content bekommen! Ich hoffe wir… mehr »

Optimierung von Partitioned Views

In einem Kundenprojekt wurden eine sogenannte “Partitioned View” eingesetzt, um Daten, die auf mehrere Relationen aufgeteilt waren, in einem abzufragenden Objekt zusammen zu fassen. Die Ausführung dieser Abfrage benötigt von Jahr zu Jahr mehr Zeit für d… mehr »

Änderung der Einstellungen für Kommentare auf InsideSQL.org

Ich hasse Spam!! Als unmittelbare Reaktion auf die seit kurzem gestiegene Anzahl an Spam-Kommentaren für die der jeweilige Verfasser des Betrages jedes Mal eine Mail zur Moderation erhält, um dann in +95% der Fälle seine Zeit mit dämlichen Spam zu vers… mehr »

Verhalten von DEFAULT-Einschränkungen bei nachträglich hinzugefügten Attributen

Durch einen Thread in den MSDN-Foren von Microsoft wurde ich auf ein sehr interessantes Verhalten von Microsoft SQL Server 2012 aufmerksam, das beim Hinzufügen von neuen Attributen zu bestehenden Relationen zu Tage tritt. Bis Microsoft SQL Server 2008 R… mehr »

Most Valuable Professional (MVP) – SQL Server

Heute habe ich von Microsoft eine Email mit dem folgenden Inhalt erhalten: “Sehr geehrte(r) Uwe Ricken, herzlichen Glückwunsch! Wir freuen uns, Ihnen den Microsoft® MVP Award 2013 verleihen zu können! Diese Auszeichnung wird an herausragende, führende… mehr »

The Columnstore Indexes & Batch Mode Processing (R)Evolution in SQL Server 2014

"Apollo ist gelandet" - Während In-Memory Processing die Grundlage für die Veränderung in der Verarbeitung von OLTP im SQL Server 2014 formt, wurde für OLAP/datawarehouse-Systeme ein anderer Schritt getan: Die Verbesserungen für Columnstore Indexe sind gewaltig. Tatsächlich sind sie so gewaltig, das es sich vorhersehen lässt, das Columnstore (spaltenorientiertes Speichern) mit dem SQL Server 2014 der Standard Speichertyp für DataWarehouses wird (zumindest für Systeme, welche die Enterprise Edition verwenden) more »

Änderungen bei DBCC LOGINFO

Mit der Version SQL Server 2012 wurde der Output der nicht dokumentierten DBCC Option geändert. Damit muss auch mein Skript für die Dokumentation der VLFs geändert werden. mehr »

DQS and SSIS

Matching related and duplicate Customer Records can be done with SQL Server Data Quality Services (DQS). Here are two interesting blog posts by Welly Lee showing how to do it and how you can automate it with SSIS. Matching related and duplicate Cust… more »

CTP1 des SQL Server 2014 Released / öffentlicher Download

Tolle Neuigkeiten von der TechEd Europe in Madrid: Die CTP1 des SQL Server 2014 steht zum download bereit! In dieser Release schon enthalten: in-Memory OLTP (Hekaton) xVelocity ColumnStore (höhere Kompression, Updatable(!),...) Auslagern von (Buf… mehr »