To Data Vault or not to Data Vault..

Data Modeling, Data Vault
Waarom nou DV? Ik zie het voordeel niet want als het gaat om het bijhouden van historische informatie kun je toch net zo goed de tabellen uit je bronsysteem inladen en daar een fromdate en tilldate aan toevoegen? Natuurlijk sla je dan de (business) key dubbel op, maar je hebt een mooi platform waarop je zonder extra joins heel makkelijk ENT en PIT functies kunt bouwen, net zoals het doel is bij de DV methode. (Of is dit niet het doel?) Als een business key wijzigt… Er komt een extra kolom bij de BK. Wat dan? Bij DV kun je kiezen voor een nieuwe hub, maar beter lijkt me om de hub te wijzigen met de nieuwe BK. Maar als je dat doet, wat zeggen de SAT tuples dan nog…
Read More

Database settings and the Trustworthy database property

Database Administration, SQL Server
Last day at work we were confronted with an error in our monthly production run. It turned out the Trustworthy property of the database had been set to "off", so I suspected one of the dba's to have performed a restore without knowing about this setting. It turned out our dba was helping us with disk space issues by moving database files around to new disks where there was more free space. My first thought was: "They should have used the detach/attach method when they were moving the database files!" I soon learned from another coworker that that was what they had probably done in the first place. Somehow I thought that when you use the detach/attach method, the database settings are kept in the sys.databases table, and are applied…
Read More

Triggering my nerves…

Code Correctness, Reliability, SQL Server
This post is about something I come across more times than I would want to, and not even the least of people are repeatedly triggering my nerves with a thing like this. Anyway, I expected you not to, when you are a database developer in a multinational software development company. Let's cut to the chase: this post is about triggers. Database triggers. Very handy database objects that can perform a lot of useful tasks for you whenever you modify data in a table. I'm kidding. Of course, triggers are handy, but they can cause issues for performance, deadlocking, concurrency, and can even bring a not-too-busy database to a grinding halt when they are used wrong. This post is not about that. A few weeks ago, I received a call from one…
Read More