SQL Server – Steps to Determine NT AUTHORITY\SYSTEM Permissions on Databases

permissionssql server

Have a service running under NT AUTHORITY\SYSTEM (Local System) and accessing local SQL Server database using Windows auth.

On one database they have permission to read/write – on other database (on local database server & same instance) appears to be read only permission.

How would you go about troubleshooting this and determining what is the cause of the different permissions?

Best Answer

Unless NT Auth\System has server level access that covers all of the databases (for example sysadmin (not recommended)) then why would you think it should have access to all of the databases?

Permissions for the most part are handled on a database by database level. You can look at it through the GUI (security dropdown under the DB in the object explorer among other places) or there are lots of queries out there that can help you.

I've got two

that will help you list out the permissions for a given user/db/etc. Once you have determined what permissions the ID SHOULD have for a given database it's just a matter of adding the user to the db (CREATE USER) and granting them the permission using the GRANT command.