Infrastructure at your Service

Tag

SQL Server 2016 Archives - Page 3 of 9 - Blog dbi services

Microsoft Team

SQL Server 2016: Distributed availability groups and Cross Cluster migration

By | Database Administration & Monitoring | 2 Comments

How to migrate an environment that includes availability groups from one Windows Failover Cluster to another one? This scenario is definitely uncommon and requires a good preparation. How to achieve this task depends mainly of your context. Indeed, we may use a plenty of scenarios according to the architecture in-place as well as the customer constraints in terms of maximum downtime allowed for example. Among all possible scenarios, there is a process called “cross-cluster migration…

Read More
Microsoft Team

SQL Server 2016: TRUNCATE PARTITIONS with sliding Windows scenarios

By | Database Administration & Monitoring, Development & Performance | 7 Comments

Some time ago, I had to deal with a new partitioning scenario that included sliding windows stuff for mainly archiving purpose. Regarding the customer context, I used some management scripts that include this time dropping oldest partition. We didn’t care about data oldest than 2 years. Usually in this case, I use a method that consists in dropping data by switching first the oldest partition to a staging table and then truncate it. Finally we may…

Read More
Stéphane Savorgnano

SQL Server 2016: Dynamic Data Masking and database role

By | Database Administration & Monitoring, Technology Survey | 4 Comments

Last week, dbi services organized an event named “SQL Server 2016: what’s new?” in Lausanne, Basel and Zurich. I would take the opportunity to say again a big thank you to everyone which joined us. During my session some questions concerning the new functionality Dynamic Data Masking were asked. In fact data are masked for some roles and not for some others. Let’s try to clarify that. I will use the same script I used…

Read More
Microsoft Team

SQL Server 2016 : Basic availability groups may fit to your HA needs

By | Database Administration & Monitoring | No Comments

In this blog let’s talk about SQL Server and availability groups in standard Edition. I had some customer questions about existing limitations and this is a good opportunity to review them on this blog post. First of all, let’s say that Microsoft has already documented the restrictions here and from my side, I already written a blog post on the subject at the time of the CTP version of SQL Server 2016. In the meantime,…

Read More
Microsoft Team

SQL Server AlwaysOn: new services packs and new diagnostic capabilities

By | Database Administration & Monitoring | No Comments

As you certainly know, the SQL Server 2014 SP2 has been released by Microsoft with some interesting improvements that concern SQL Server AlwaysOn and availability groups feature. In fact, all of them are also included into SQL Server 2012 SP3 and SQL Server 2016 (update 24.09.2016: not yet released with SQL Server 2016). Among all fixes and improvements that concern AlwaysOn, I would like to focus on those described in the Microsoft KB3173156 and KB3112363. But in this…

Read More
Stéphane Haby

SQL Server 2016: New SQL PowerShell CMDLETs for ErrorLog

By | Database Administration & Monitoring | No Comments

With the latest release of SQL Server Management Studio(SSMS) 2016 (13.0.15500.91), downloadable here, was introduced new CMDLETs for Always Encrypted, SQL Agent and the  ErrorLog. In this article, I will present you the 2 new CMDLETs for the Error Logs: Get-SqlErrorLog: Retrieves the SQL Server Logs. Set-SqlErrorLog: Sets or resets the maximum number of error log files before recycling. My first step is to search all commands with “Sql”: Get-Command | Select Name |Where-Object {$_.Name…

Read More
Microsoft Team

SQL Server 2016 AlwaysOn: Direct seeding and backup considerations

By | Database Administration & Monitoring | No Comments

As promised in my prior blog post, we’ll talk now about direct seeding feature and backups. We found an interesting LIMIT_CONCURRENT_BACKUPS value for current state of the hadr_automatic_seeding_state_transition event. As said last time, this value is meaningful by itself. So let’s try to perform a backup while the database is concerned by an active seeding session. In fact, my backup was blocked (as I supposed) and here what I found from the sys.dm_tran_locks and sys.dm_exec_requests…

Read More
Microsoft Team

SQL Server 2016 AlwaysOn: Direct seeding and performance considerations

By | Database Administration & Monitoring, Development & Performance | No Comments

This blog post follows the previous one about new direct seeding feature shipped with SQL Server 2016. As a reminder, I had some doubts about using direct seeding with large databases because log stream is not compressed by default but I forgot the performance improvements described into the Microsoft BOL. I also remembered to talk about it a couple of months ago in this blog post. So let’s try to combine all the things with the…

Read More
Stéphane Savorgnano

SQL Server 2016: Always Encrypted – part 2

By | Database Administration & Monitoring, Technology Survey | No Comments

In my last blog post about SQL Server 2016 Always Encrypted, here, I showed how to use this new functionality but also that you have to separate the different execution context with an Application server, a database server and a security server to avoid that certificate will be available for all users and break the segregation. Let’s see how to build those environment. In my security server named SQL2016-2, I first create a Self-signed certificate…

Read More
Stéphane Haby

SQL Server 2016 – Query Store: retrieve query that doesn’t appear!

By | Database Administration & Monitoring, Development & Performance, Technology Survey | One Comment

For our event SQL Server 2016 in September, I am studying the new functionality Query Store. My colleague David Barbarin have written few months ago about Query Store and how it’s working. Simple SELECT Query To begin, I execute a simple SELECT on a table with 3 different methods: SELECT * FROM QS_test; exec sp_executesql N’SELECT * FROM QS_test’ EXEC sp_GetQS_test; The “sp_GetQS_test” is a stored procedure with the select statement. I created a little…

Read More