SQL2016 Not able to create Column Master Key - sql-server

I just installed SQL 2016 Standard Edition because I wanted to use the 'Always Encrypted' feature.
However, when I tried to created a Column Master Key under Security->Always Encrypted Keys->Column Master Key, I got the following error:
productversion: 13.0.160.5, productlevel:RTM, edition:Standard Edition 64bit
Any ideas? Thanks!

I was having the same issue. I fixed it by updating to Sql Server 2016 SP1 from Sql Server 2016.
Previously ##version was:
Microsoft SQL Server 2016 (RTM-GDR) (KB3194716) - 13.0.1722.0 (X64) Sep 26 2016 13:17:23 Copyright (c) Microsoft Corporation Standard Edition (64-bit) on Windows 10 Pro 6.3 (Build 14393: )
Now ##version is:
Microsoft SQL Server 2016 (SP1) (KB3182545) - 13.0.4001.0 (X64) Oct 28 2016 18:17:30 Copyright (c) Microsoft Corporation Standard Edition (64-bit) on Windows 10 Pro 6.3 (Build 14393: )
Note also that my SSMS is totally up to date.
Tools > Check for Updates > Details - 13.0.16100.1
A coworker has a slightly older build of SSMS and does not even see the option to encrypt columns.

The issue was probably caused by restoring a SQL2014 database. I backed up a 2014 database and then restored it in 2016. SQL may have seen it as a 2014 schema and therefore complained Column Master Key not supported.
How I resolved it: In SSMS 2016, generate .sql script for the imported database (in Advanced settings, choose SQL 2016 script)
Install a new SQL 2016 instance (which may not be necessary will test) and run the .sql generated, rather than the restore option

"Always Encrypted is available in SQL Server 2016 (13.x) and SQL Database. (Prior to SQL Server 2016 (13.x) SP1, Always Encrypted was limited to the Enterprise Edition.)"
Source: https://learn.microsoft.com/en-us/sql/relational-databases/security/encryption/always-encrypted-database-engine?view=sql-server-2017

Related

Why does SELECT ##VERSION return previous version after installing new SQL Server

First I installed SQL Server 2012 for learning. Because it doesn't take too much memory.
But later I need a SQL Server for development so I installed the latest version of SQL Server 2019 Developer edition.
After installation, I check the version of SQL Server in SSMS using
SELECT ##VERSION
and I get:
Microsoft SQL Server 2012 - 11.0.2100.60 (X64) Feb 10 2012 19:39:15
Copyright (c) Microsoft Corporation
Enterprise Edition (64-bit) on Windows NT 6.2 <X64> (Build 9200:)
I don't know how to fix this.
If you already had SQL Server 2012 installed, then the SQL Server 2019 Developer edition wasn't installed as the "default, unnamed" instance - since there can only ever be one of those.
So when you installed SQL Server 2019, you must have chosen an instance name - use that instance name when connecting, e.g. use .\INSTANCE or (local)\INSTANCE to connect to the new version of SQL Server installed

SQL Server TLS 1.2 support confirm

For our production DB, we are on the following SQL version,
Microsoft SQL Server 2008 (SP3) - 10.0.5500.0 (X64) Sep 21 2011 22:45:45
Copyright (c) 1988-2008 Microsoft Corporation
Enterprise Edition (64-bit) on Windows NT 6.1 <X64> (Build 7601: Service Pack 1)
From Microsoft KB:
https://support.microsoft.com/en-sg/help/3135244/tls-1-2-support-for-microsoft-sql-server
This SQL Server version is lower than the first build that supports TLS 1.2,
I don't think it supports TLS 1.2.
Can anyone confirm this?
I'm comparing the version numbers 10.0.5500.0 vs 10.50.6542.0 (minimum build that supports TLS 1.2)
SQL Server 2008 v10.0.5500.0 is SQL Server 2008 with Service Pack 3 (SP3) applied. SQL Server with a version number 10.50.xxx.xxx would be SQL Server 2008 R2 - and yes, that's a different version (not just a service pack) of SQL Server.
If you look further down in that document you linked, there's also a line for SQL Server 2008:
SQL Server 2008 SP4 10.0.6547.0
So you would need to apply SP4 to your SQL Server 2008 instance (and possibly also that update that is linked in your document) in order for it to support TLS 1.2

I applied SQL Server SP2 but SSMS displays 11.0.3153 still

The SQL Server version I'm running is 2012 (11.0.3153) in our dev environment..
I've just applied SQL Server SP2 to my database but the version appears unchanged. I need the version level at 11.0.5058 to match our production.
There was no errors during the installation.
Any idea what's going on?
Select ##version shows:
Microsoft SQL Server 2012 (SP1) - 11.0.3153.0 (Intel X86)
Jul 22 2014 15:41:01
Copyright (c) Microsoft Corporation
Standard Edition on Windows NT 6.2 (Build 9200: ) (WOW64) (Hypervisor)
However I tried applying the patch again and I get this:
Upgrade Status: Installed.
There's not supposed to be a need for a restart but I'm doing that anyway.
Restart did not work either.

Can't create column store index on SQL Server 2012

Got this error when trying to create a column store index on a fact table:
Msg 35315, Level 16, State 1, Line 1
CREATE INDEX statement failed because a columnstore index cannot be created in this edition of SQL Server. See Books Online for more details on feature support in different SQL Server editions.
This is from select ##VERSION
Microsoft SQL Server 2012 (SP1) - 11.0.3381.0 (X64)
Aug 23 2013 20:08:13
Copyright (c) Microsoft Corporation
Standard Edition (64-bit) on Windows NT 6.2 <X64> (Build 9200: ) (Hypervisor)
SQL Server Standard edition doesn't support columnstore indexes. From the version comparison for SQL Server 2012, you need Enterprise edition.
Although SQL Server 2012 is specified here, it's worth noting that SQL Server 2016 with Service Pack 1 now allows columnstore indexes to be created across all editions. See here for further details.

SQL Server version

I´m trying to run an SSIS 2013 Package in SQL Server 2014 but i keep getting the error "package migration from version 8 to version 6 failed with error".
So i ckecked the vertion in SQL Server 2014 using a T-SQL query:
SELECT ##VERSION
and i got:
"Microsoft SQL Server 2012 (SP1) - 11.0.3153.0 (X64)
Jul 22 2014 15:26:36
Copyright (c) Microsoft Corporation
Enterprise Edition: Core-based Licensing (64-bit) on Windows NT 6.1 (Build 7601: Service Pack 1)
"
The response for this query should be SQL Server 2014, right?
What should i do to alter this?
This has nothing to do with running the package. I ran into the same error. What happened was that the package was deployed to an Integration services server (version 2012) using the 2014 IS wizard (or visual studio 2013 SSDT)... SSIS and Visual Studio 2013 will not work for SQL Server 2012. There are several Microsoft connect tickets for this but I doubt any of them will get fixed.
SSIS versions are not backwards compatible.
VS 2013 is used for SQL Server 2014, VS 2010/12 is used for SQL Server 2012.
So the SSIS modules created with VS2013 are only compatible to SQL Server 2014.
Older SQL Server versions (2012, 2008...) can not handle them.

Resources