I have a SQL Server 2005 named instance using Windows Authentication with domain groups serving as logins. The domain structures are as follows:
Forest1 Forest2
/ \ |
Domain1 Domain2 Domain3
Objects are organized in the following domains:
Forest1.Domain1
- Users
- Global Groups
Forest1.Domain2
- SQL Server Instance
- Domain Local Groups (serving as Logins)
Forest2.Domain3
- Users
- Global Groups
All my users exist in Domain1
and Domain3
but the SQL Server box exists in Domain2
. As such, my logins are domain groups in Domain2
. When a user in Domain1
is added to a domain local group in Domain2
and attempts to connect using TCP/IP protocol to the SQL Server instance, he receives the following error message:
Cannot connect to <instance>. Login failed for user 'Domain1\userName'. (Microsoft SQL Server, Error: 18456)
Other things I've tried:
If I add the user as a login explicitly, he can connect.
If I add a
Domain1
global group of which the user is a member as a login explicitly, he can connect.If I add a
Domain1
global group of which the user is a member as a member of theDomain2
domain local group used as a login, he cannot connect.EDIT: If I add the
Domain2
domain local group to the Demote Desktop Users group on theDomain2
server hosting the SQL Server instance, theDomain1
user can successfully connect to the server - I can also connect to the instance locally as theDomain1
user (just not remotely).EDIT: If I add the
Domain2
domain local group to a local server group and create a SQL Server login for that local server group, theDomain1
user still cannot connect to the instance remotely.EDIT: If I change the connection network protocol to "Named Pipes", the
Domain1
user can successfully connect remotely.
From what I understand (referencing these TechNet articles: Group Scope and Nesting Groups), the domain group MUST be a domain local group in order to include users from both Domain1
and Domain3
.
How can I use a domain group as a SQL Server login using Windows authentication such that the domain group can contain users from both Domain1
and Domain3
and users can connect remotely via TCP/IP?
MORE NOTES
- The service account for the SQL Server named instance is a user account in
Domain1
- SPN's have been added for the service account (including server name and alias names)
UPDATE
Changing the SQL Service instance service account to be in Domain2
seems to have resolved the issue. I'll investigate further and post back my findings!