Skip to content

Stéphane Haby

Stéphane Haby has more than 20 years of experience in Microsoft solutions, specializing in the installation, migration, best practices, and performance analysis of Microsoft SQL Server, as well as Microsoft Business Intelligence solutions (SharePoint, Office) and .NET development for the banking sector. A former Microsoft Most Valuable Professional (MVP) and early adopter of Microsoft Team System in France, he has authored several technical articles. He holds Microsoft Certified Solutions Associate (MCSA) and Expert (MCSE) for SQL Server, MCTS, MCITP for SQL Server 2008, and ITIL V3 Foundation certifications. His industry experience covers chemicals and pharma, banking, and financial services.

182 posts since April 2011

Security via policies

Few weeks ago, I presented the session on security via Policies for “Les journées SQL Server 2014”, organized by the French SQL Server User Group (GUSS) in Paris. I promised to post our policies script on a blog. Security Policies are split into 4 categories: Server Instance Database Data All policies follow this naming convention: dbi_”Level number”_”Level name”_”Policy name” I… 

SQL Server tips: how to list orphaned logins

I read a lot of about orphaned database users in SQL Server, but I have almost never read about orphaned logins. Many of my customers migrate or remove databases in SQL Server. They forget – not every time but often – to remove the logins and jobs associated with these databases. I have created a script – without any cursors,… 

SQL Server tips: Executing a query with the EXECUTE command

This short SQL Server blog post is meant to help people who have experienced the error messages 2812 and 203 with the EXECUTE command. The goal is to execute a simple query from a variable in a string format with the EXECUTE (exec) command. Very easy, isn’t it? Ok, let’s GO! If I execute “select * from sys.databases” in SSMS,… 

Windows 10: The new features

First, it should have been Windows 9, but finally the new Microsoft operating system is named Windows 10! In the same way as for my blog post on Windows 8, I have decided to write a few words about the new features of Windows 10. Why 10? It’s a good question and I have read many articles about it. First,… 

SQL Server 2014 Tips: Create indexes directly via CREATE TABLE

This week, I discovered a new enhancement which is not hidden but not really visible in SQL Server 2014. Among Hekaton and other new features in SQL Server 2014, a little option appears in table creation.8-O On the msdn website, we can see a new section in the “CREATE TABLE” code:   We can directly create an index in the… 

How to find the SQL Server Management Pack in the SCOM database

While working on a customer project, I needed to retrieve the SQL Server SCOM Management Pack version. Unfortunately, the SCOM team took a while to answer and as I am the DBA, I have access to the SCOM databases. So let’s have a look at how we can get this the “hard” way. On 30/06/2014, a new Management Pack was published… 

SQL Server Perfmon does not start automatically

I have recently used perfmon (performance monitor) at a customer site. I created a Data Collector Set to monitor CPU, Memory, Disk, and Network during one day. Then, I ran the monitor and I received a “beautiful” error message… What happened? 😉 Ok, to be sure that it was not a rights or a setting problem in my Data Collector… 

SQL Server 2014: Are DENY ‘SELECT ALL USERS SECURABLES’ permissions sufficient for DBAs?

SQL Server 2014 improves the segregation of duties by implementing new server permissions. The most important is the SELECT ALL USERS SECURABLES permission that will help to restrict database administrators from viewing data in all databases. My article is a complement to David Barbarin’s article ‘SQL Server 2014: SELECT ALL USERS SECURABLES & DB admins’. I have tested some cases… 

SQL Server: How to find the default data path?

I have read a lot of SQL Server blog postings and articles in order to find the default data path. This post covers different SQL Server versions (SQL Server 2012, SQL Server 2014, SQL Server 2008, SQL Server 2005) and provides a generic script with different methods. Search with SERVERPROPERTY Since SQL Server 2012, we can use the parameter “InstanceDefaultDataPath”… 

Check SQL Server Error Log size with a policy

In many blogs or articles, we can read that it is recommended to recycle the error log to be sure that the size is not too big In the Best Practice Analyzer (BPA) for SQL Server, this is a rule. But what is a good size for the error log file? I have often heard “it depends”, but in my… 

Delayed Transaction Durability: A new feature in SQL Server 2014 CTP2

Delayed Transaction Durability is a new SQL Server 2014 feature that was not included in SQl Server 2014 CTP1 but discreetly published in CTP2. It is a very interesting functionality that helps reducing the IO contention for transaction log writes. In other databases engine, you will find equivalents such as: Oracle: ‘COMMIT WRITE BATCH WAIT|NOWAIT’ (link here) MySQL: ‘group_commit’ since… 

SQL Server 2014: Rebuilding Clustered Columnstore Indexes

I was surprised that you have to rebuild indexes that are stored In Memory. My previous posting “SQL Server 2014 – New Features: xVelocity memory optimized columnstore index” explains all processes connected with columnstore indexes. In this article, I will explain why, when, and how to rebuild them. Why do we need to rebuild the Clustered Columnstore Indexes? When a…