sp_check: SQL Server Database Checks

TRUSTWORTHY database

What's the issue?

One or more user databases has the TRUSTWORTHY setting enabled.

Why is this a problem?

If the TRUSTWORTHY setting is set to ON, and if the owner of the database is a member of a the sysadmin group, the database owner can then be able to create and run unsafe assemblies that can compromise the instance of the SQL Server. This can be problematic if a database with TRUSTWORTHY set to ON is copied to another server, where the database owner can unintentionally have elevated permissions.

What should you do about this?

We strongly recommend having the TRUSTOWRTHY setting set to OFF for all user databases. If any user databases are found to have the setting set to ON, then we recommend reviewing these databases to determine if necessary permissions can be assigned without having the TRUSTWORTHY setting enabled.

What do the Vulnerability Levels mean?

0 - Information only. This is stuff you should know about your instances like version and service account used, but if you don't know it…well, now you do.

1 - High vulnerability requiring action. These are the issues that could most likely lead to your company being front page news for all the wrong reasons. If your instances have any results at this level then we recommend cancelling that 3-martini lunch and instead huddling with your team to figure out when to address these issues.

2 - High vulnerability to review. These include settings and assigned permissions you should review soon, if not immediately. These findings may not necessarily indicate a clear vulnerability, but we've found unexpected vulnerabilities in these categories at many, many clients.

3 - Potential vulnerability to review. These are configurations or assigned permissions you may be using that could lead to problems for users. Or maybe they're just required for your applications. Either way, we recommend reviewing these to make sure these are correct.

4 – Low vulnerability with recommended action. These are typically security inconsistencies that should be addressed. They aren't likely to cause problems, but you should clean up the mess.