patternsqlMinor
Getting all databases which a sql logon can connect
Viewed 0 times
canlogondatabasesconnectallsqlgettingwhich
Problem
I need to know all databases in a SQL Server on which a user can connect. With
sys.databases I get all databases and with sys.server_principals or sys.syslogins I get all server logons. But I can't find a table which contains a connection between these tables. Has anyone an idea how to solve this? Thanks.Solution
You should be able to do something like this:
For reference see
EXECUTE AS login = 'loginname';
SELECT name
FROM sys.databases
WHERE HAS_DBACCESS(name) = 1;
REVERT;For reference see
EXECUTE AS and HAS_DBACCESSCode Snippets
EXECUTE AS login = 'loginname';
SELECT name
FROM sys.databases
WHERE HAS_DBACCESS(name) = 1;
REVERT;Context
StackExchange Database Administrators Q#98745, answer score: 8
Revisions (0)
No revisions yet.