Skip to content

Cumulative Update #1 for SQL Server 2016 RTM

'Dear Customers,

The 1st cumulative update release for SQL Server 2016 RTM is now available for download at the Microsoft Support site.

To learn more about the release or servicing model, please visit:

https://blogs.msdn.microsoft.com/sqlreleaseservices/cumulative-update-1-for-sql-server-2016-rtm/

SQL Server 2014 SP2: DBCC CLONEDATABASE

'DBAs are stuck in this annoying cycle where they need to give developers production, or production-like data, but… Production data can be huge. Hundreds of gigabytes if you’re lucky, several terabytes if you’re not. Then once it gets there, you have other considerations. Either you lock down Dev, or you come up with a process to scramble data. This poses another set of problems because once data is scrambled, you lose some of the nuances of your actual data. Pattern matching scrambled data is useless and I hate it.'...

https://www.brentozar.com/archive/2016/07/sql-server-2014-sp2-dbcc-clonedatabase/

Why Not Just Create Statistics?

'We have a proud tradition of not blaming index fragmentation for everything. There are points you should deal with it, but they’re probably not 5% and 30% and 1000 pages. But that’s not what this blog post is about. I’m hoping to clarify why we’re more interested in up to date statistics, and also why statistics outside of indexes aren’t really the most helpful thing. If they were, we’d all just create statistics and every query would magically blaze from select to offset without a care in the world.'...

https://www.brentozar.com/archive/2016/07/not-just-create-statistics/

Encrypting and Decrypting SQL Server Stored Procedures, Views and User-Defined Functions

'You work in a shop that puts business or application logic in the SQL Server using stored procedures, views and functions to return values to the calling applications or perform tasks. This is not unusual in companies that use the SQL Server layer to perform business tasks, such as finance operations, or incorporate application functionality into the programmability layer. You wish to preserve secrecy on some procedures, views or functions in order to maintain security.'...

https://www.mssqltips.com/sqlservertip/2964/encrypting-and-decrypting-sql-server-stored-procedures-views-and-userdefined-functions/

SQL Authentication Via AD Groups Part III: What About Orphaned Users?

'This article came about as the result of two previous articles I had written that this wonderful site published:Liberating the DBA from SQL Authentication with AD Groups and SQL Authentication Via AD Groups Part II: Who has what access? In these pieces, I push for the elimination of SQL authentication as rapidly as possible. In the second article I presented a SQL script that would find the ultimate users of the server and every database, even if abstracted by many levels of Active Directory groups.'...

http://www.sqlservercentral.com/articles/Security/142831/

SQL Authentication Via AD Groups Part II: Who has what access?

'On December 21, 2015, my article, Liberating the DBA from SQL Authentication with AD Groups appeared on this wonderful site, and I received a significant response!  One of these responses stuck in my head, and drove me to do a little research. The question was this: If you have these groups, and your sysadmins will not allow you even the read-only access to the AD groups, how can you know who has access to your databases?'...

http://www.sqlservercentral.com/articles/Active+Directory/135710/

Liberating the DBA from SQL Authentication with AD Groups

'SQL Authentication.  It's the dread of auditors, and therefore the nightmare of the DBA.  Connection strings sitting in the open on vulnerable servers, with something like this:

Server=I_Am_So_Vulnerable;Database=FreeForAll;User Id=Chump;Password=ItDoesNotMatterHowComplexItIs;

Even worse, you have SA enabled, and all of your servers may just have the same SA password (at least not something like "P@ssW0rd" - I'll pause here to give you time to change it). What if someone with SA access quits? Do you know for sure that this person has no access into your network after separation?  If this disgruntled ex-employee were to infiltrate and log in as SA, even the best auditing tool would likely not identify who just stole your credit card table, and who may just have a copy of the encryption key for that card-number column (assuming that you encrypt it as PCI-DSS expects)!'...

http://www.sqlservercentral.com/articles/Security/133778/

Addressing large memory grant requests from optimized Nested Loops

'Optimized Nested Loops (or Batch Sort) is effectively an optimization aimed at minimizing I/O during a nested loop when the inner side table is large, regardless of it being parallelized or not.

The presence of this optimization in a given plan may not be very obvious when you look at an execution plan, given the sort itself is hidden, but you can see this by looking in the plan XML, and looking for the attribute Optimized, meaning the Nested Loop join may try to reorder the input rows to improve I/O performance. You can read more about optimized Nested Loops in Craig Freeman’s blog.'...

https://blogs.msdn.microsoft.com/sql_server_team/addressing-large-memory-grant-requests-from-optimized-nested-loops/