// Undelete Object From Database
Have you ever tried to delete an object from the database by mistake or other error? Then you should read on in this short post. I recently came across a good co-worker of mine who lost one of the views on the developer database. He called me for help. Fortunately the database was in FULL RECOVERY mode – so I could extract the object from the database log and send the script to him for his further work that day. [...]
// Ready, SET, Go – How Does SQL Server Handle Recursive CTE’s
First of all, a quick recap on what a recursive query is. Recursive queries are useful when building hierarchies, traverse datasets and generate arbitrary rowsets etc. The recursive part (simply) means joining a rowset with itself an arbitrary number of times. A recursive query is defined by an anchor set (the base rowset of the recursion) and a recursive part (the operation that should be done over the previous rowset). [...]
// Use of Hierarchyid in SQL Server
I attended a TDWI conference in May 2016 in Chicago. Here I got a hint about the datatype hierarchyid in SQL Server which could optimize and eliminate the good old parent/child hierarchy. Until then I (and several other in the class) hadn’t heard about the hierarchyid datatype in SQL Server. So here’s an article covering some of the aspects of the datatype hierarchyid – including: Introduction How to use it How to optimize data in the table How to work with data in the hierarchy-structure Goodies Introduction The datatype hierarchyid was introduced in SQL Server 2008. [...]
// Update SCD Type 2 Dimension in One Single Transaction Using Only T SQL
Recently I got a request inside my organization to make sure that a dimension would keep track of the changes due to requrementes from the business. This needed to be done in a single transaction in pure T-SQL code. So – what to do and how to do it. Here’s one way. The sourcetable looks like this: The request was to keep track of changes in the ManagerId according to CaseId. [...]
// Query Store – The Next Generation Tool for Every DBA
Along with the release of SQL server 2016 CTP 3 now comes the preview of a brand new feature for on premise databases – the Query Store. This feature enables performance monitoring and troubleshooting through the log of executed queries. This blogpost will cover the following aspects of the Query Store feature: Introduction How to activate it Configuration options What information is found in the Query Store How to use the feature What’s in it for me Introduction The new feature Query Store enables everyone with responsibility for SQL server performance and troubleshooting with insight to the actual queries and their query-plans. [...]
// Many to Many in SSAS Tabular
This blogpost will cover the aspects of the many-to-many feature from SQL Server 2016 – including: Prerequisites The old way The new way This post is based on data from the AdventureWorksDW2012 database. Prerequisites In order to test the new many-to-many feature from SQL Server 2016 SSAS Tabular you’ll need to download the latest CTP from Microsoft – it can be found here: Technet Also you’ll need the Visual Studio 2015 and the add-in for Business Intelligence: [...]
// Behold the New Live Query Stats in SQL Server 2016
With the release of SQL Server 2016 also comes a great new feature to get a live view of the current execution plan for an active query. This blogpost will cover the aspects of this new feature including: Introduction How to activate How to use and read the output Downsides – if any Introduction The introduction of live query plans are in the current release of SQL Server 2016 CTP 2. [...]
// Row Level Security in SQL Server 2016
With the release of SQL Server 2016 comes many great new features. One of these is the implementation of row level security in the database engine. This blogpost will cover the aspects of this new feature – including: Setup Best practice Performance Possible security leaks Introduction The row level security feature was released earlier this year to Azure – following Microsoft’s cloud-first release concept. A past big issue with the SQL Server engine was that in only understands tables and columns. [...]
// The DBAs Guide to Stretch Database
One of the new features in SQL Server 2016 – and there is a lot – is the ability to stretch the on premise databases to an Azure environment. This blogpost will cover some of the aspects of this – including: Primarily setup – how to get started Monitoring state of databases that are in ‘stretch mode’ Daily work with stretch databases Backup – what’s good to know With the release of SQL Server 2016, the new feature called stretch database is also released. [...]
// Enlarge AdventureWorksDW2012
I could use the AdventureWorks2012 database, but I needed the clean datawarehouse tables in order to have minimum data maintennance when testing the BIML scripts. I could not find it, and figures out it was faster to make my own. So heavily inspired by this post from Jonathan Kehayias (blog), I’ve made a script that can be used to enlarge the dbo.FactInternetSales table. The script creates a new table called dbo. [...]