Background
Trying to access the database property on one of our databases.
Error
Error Message
Syntax
Property Owner is not available for Database ‘[database]’. This property may not exist for this object, or may not be retrievable due to insufficient access rights. (Microsoft.SqlServer.Smo)
Sample
Property Owner is not available for Database ‘[AdminDB]’. This property may not exist for this object, or may not be retrievable due to insufficient access rights. (Microsoft.SqlServer.Smo)
Troubleshooting
Metadata
sp_helpdb
Syntax
use master go exec sp_helpdb go
Output
Explanation
- Database
- AdminDB
- ~~UNKNOWN~~
- AdminDB
sys.databases
Syntax
select tblSD.[database_id] , tblSD.[name] , tblSD.[owner_sid] , [owner] = SUSER_SNAME(tblSD.owner_sid) from [master].[sys].[databases] tblSD go
Output
Explanation
- Database
- AdminDB
- SUSER_SNAME(sys.databases.owner_sid) returns null
- AdminDB
Remediation
Alter Authorization
Syntax
use [master] go ALTER AUTHORIZATION DATABASE::[database] TO [sa] ;
Sample
use master go BEGIN TRAN exec sp_helpdb ALTER AUTHORIZATION ON DATABASE::[AdminDB] TO [sa] ; exec sp_helpdb ROLLBACK
Output
Reproducible
SSMS – v2017
The error does not occur in SSMS v2017.
SSMS – v2014
Noticed it in v2014 when trying to access the database property for an orphaned database.