July 26, 2018 at 7:40 am
Hi,
I just upgraded from SQL Server 2014 Standard to SQL Server 2016 Enterprise SP2 and one of the applications that connects to a database on this instance is reporting a SQL error:
Invalid object name 'master.sys.dm_database_encryption_keys'
My experience would tell me that it really doesn't exist (which I would find odd) or that it's a permissions issue. Well, it does exist, and I've logged in as the user that the application logs in as (which has plenty sufficient permissions), and I'm able to query that DMV without a problem (albeit, with 0 rows returned). Any ideas for other reasons I might be getting this error?
I'll say that I've gone through this upgrade process in a development and a test environment without receiving the error...so this is the first time I'm seeing this, but I would expect it to work based on two successful upgrades...
Thanks in advance,
Mike
Mike Scalise, PMP
https://www.michaelscalise.com
July 26, 2018 at 8:07 am
Mike Scalise - Thursday, July 26, 2018 7:40 AMHi,I just upgraded from SQL Server 2014 Standard to SQL Server 2016 Enterprise SP2 and one of the applications that connects to a database on this instance is reporting a SQL error:
Invalid object name 'master.sys.dm_database_encryption_keys'
My experience would tell me that it really doesn't exist (which I would find odd) or that it's a permissions issue. Well, it does exist, and I've logged in as the user that the application logs in as (which has plenty sufficient permissions), and I'm able to query that DMV without a problem (albeit, with 0 rows returned). Any ideas for other reasons I might be getting this error?
I'll say that I've gone through this upgrade process in a development and a test environment without receiving the error...so this is the first time I'm seeing this, but I would expect it to work based on two successful upgrades...
Thanks in advance,
Mike
If this is a third-party application, have you checked that 2016 is a supported DB platform?
The absence of evidence is not evidence of absence.
Martin Rees
You can lead a horse to water, but a pencil must be lead.
Stan Laurel
July 26, 2018 at 11:54 am
Phil Parkin - Thursday, July 26, 2018 8:07 AMMike Scalise - Thursday, July 26, 2018 7:40 AMHi,I just upgraded from SQL Server 2014 Standard to SQL Server 2016 Enterprise SP2 and one of the applications that connects to a database on this instance is reporting a SQL error:
Invalid object name 'master.sys.dm_database_encryption_keys'
My experience would tell me that it really doesn't exist (which I would find odd) or that it's a permissions issue. Well, it does exist, and I've logged in as the user that the application logs in as (which has plenty sufficient permissions), and I'm able to query that DMV without a problem (albeit, with 0 rows returned). Any ideas for other reasons I might be getting this error?
I'll say that I've gone through this upgrade process in a development and a test environment without receiving the error...so this is the first time I'm seeing this, but I would expect it to work based on two successful upgrades...
Thanks in advance,
Mike
If this is a third-party application, have you checked that 2016 is a supported DB platform?
Good question, and yes it is. According to the vendor, it supports "Microsoft SQL Server 2016 (and all SPs)"
Thanks,
Mike
Mike Scalise, PMP
https://www.michaelscalise.com
July 26, 2018 at 5:17 pm
Mike Scalise - Thursday, July 26, 2018 11:54 AMPhil Parkin - Thursday, July 26, 2018 8:07 AMMike Scalise - Thursday, July 26, 2018 7:40 AMHi,I just upgraded from SQL Server 2014 Standard to SQL Server 2016 Enterprise SP2 and one of the applications that connects to a database on this instance is reporting a SQL error:
Invalid object name 'master.sys.dm_database_encryption_keys'
My experience would tell me that it really doesn't exist (which I would find odd) or that it's a permissions issue. Well, it does exist, and I've logged in as the user that the application logs in as (which has plenty sufficient permissions), and I'm able to query that DMV without a problem (albeit, with 0 rows returned). Any ideas for other reasons I might be getting this error?
I'll say that I've gone through this upgrade process in a development and a test environment without receiving the error...so this is the first time I'm seeing this, but I would expect it to work based on two successful upgrades...
Thanks in advance,
Mike
If this is a third-party application, have you checked that 2016 is a supported DB platform?
Good question, and yes it is. According to the vendor, it supports "Microsoft SQL Server 2016 (and all SPs)"
Thanks,
Mike
This may not apply but I can think of more than a few times where an application was throwing a SQL error but not the error message/error number/user that they reported. If you haven't yet, you may want to collect the errors with extended events to check on who, what, etc. Just filter out Changed database% and Changed language% on the sql text.
Sue
July 26, 2018 at 5:36 pm
Sue_H - Thursday, July 26, 2018 5:17 PMMike Scalise - Thursday, July 26, 2018 11:54 AMPhil Parkin - Thursday, July 26, 2018 8:07 AMMike Scalise - Thursday, July 26, 2018 7:40 AMHi,I just upgraded from SQL Server 2014 Standard to SQL Server 2016 Enterprise SP2 and one of the applications that connects to a database on this instance is reporting a SQL error:
Invalid object name 'master.sys.dm_database_encryption_keys'
My experience would tell me that it really doesn't exist (which I would find odd) or that it's a permissions issue. Well, it does exist, and I've logged in as the user that the application logs in as (which has plenty sufficient permissions), and I'm able to query that DMV without a problem (albeit, with 0 rows returned). Any ideas for other reasons I might be getting this error?
I'll say that I've gone through this upgrade process in a development and a test environment without receiving the error...so this is the first time I'm seeing this, but I would expect it to work based on two successful upgrades...
Thanks in advance,
Mike
If this is a third-party application, have you checked that 2016 is a supported DB platform?
Good question, and yes it is. According to the vendor, it supports "Microsoft SQL Server 2016 (and all SPs)"
Thanks,
Mike
This may not apply but I can think of more than a few times where an application was throwing a SQL error but not the error message/error number/user that they reported. If you haven't yet, you may want to collect the errors with extended events to check on who, what, etc. Just filter out Changed database% and Changed language% on the sql text.
Sue
Sue,
That's a great idea. I'll give that a shot. Thank you!
Mike Scalise, PMP
https://www.michaelscalise.com
July 28, 2018 at 6:33 pm
Ok I think I know what's going on. There actually is one small component of this third-party system that interacts with a SQL Server 2005 Enterprise instance, which it doesn't officially support and, as you probably know, SQL Server 2005 doesn't have "master.sys.dm_database_encryption_keys"
So, one option is for me to just ignore the error that it throws each time in the administration area. I know I can just click OK and it doesn't actually have a negative effect on anything. I do have plans to eventually upgrade the instance.
Another option, which I know isn't ideal and would only be for convenience, is to trick it into thinking that DMV exists on the 2005 box. I know there's not an official way to add an object to the sys schema (and I know that's a horrible approach), but does anyone know of a way to make it think it exists? I'm not sure if a synonym would help..but maybe something along those lines?
If there isn't something relatively easy to implement, I'm just going to not worry too much about it and upgrade in a little while. Anyway, I appreciate all of the input so far and going forward.
Mike
Mike Scalise, PMP
https://www.michaelscalise.com
Viewing 6 posts - 1 through 5 (of 5 total)
You must be logged in to reply to this topic. Login to reply