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 »

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 »

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 »

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 »

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 »