Zoals vermeld in mijn vraagupdate, het wijzigen van het serviceaccount naar Domain2
het probleem opgelost. Dus wat was er aan de hand?
Het probleem - uitgelegd
Voor zover ik kan zien (ook met hulp van een Microsoft-vertegenwoordiger), omdat het serviceaccount oorspronkelijk een Domain1
was gebruiker, kan het niet bepalen van welke lokale domeingroepen de verbindende gebruiker lid is wanneer de gebruiker authenticeert via Kerberos. De belangrijkste aanwijzing dat dit een Kerberos-probleem was, was toen ik met succes verbinding maakte met "Named Pipes" omdat dit NTLM-authenticatie gebruikt.
Algemene oplossing
Om het allemaal samen te brengen, om met succes gebruikers toe te voegen van Domain1
en Domain3
als leden van groepen in Domain2
zodat de groepen kunnen worden gebruikt als SQL Server-aanmeldingen met Windows-authenticatie, hier is een lijst met vereisten (of op zijn minst sterk aangemoedigd):
- Gevestigde vertrouwensrelaties tussen de domeinen
- Er moeten minimaal 1-way trusts worden ingesteld zodat
Domain2
vertrouwtDomain1
enDomain3
- Er moeten minimaal 1-way trusts worden ingesteld zodat
- Groepen in
Domain2
moet het bereik "Domein Lokaal" hebben- Dit is zodat u gebruikers en groepen kunt toevoegen vanuit
Domain1
enDomain3
- Zie hier voor meer info
- Dit is zodat u gebruikers en groepen kunt toevoegen vanuit
- Gebruik SQL Server Configuration Manager om een niet-administratief
Domain2
aan te wijzen gebruiker als de identiteit van het serviceaccount- MSDN documenteert waarom het gebruik van een domeingebruikersaccount de voorkeur kan hebben
- Hoewel het de bedoeling is dat de configuratiemanager gebruikers toevoegt aan lokale SQL Server 2005-specifieke groepen voor u (d.w.z. SQLServer2005MSSQLUser$MY_MACHINE$MY_INSTANCE), kwam ik een paar gevallen tegen waarin dit niet het geval was. Controleer dus uw lokale groepen om er zeker van te zijn dat ze correct zijn bijgewerkt met uw
Domain2
gebruikersaccount. - Hoewel het instellen van SQL Server automatisch de juiste machtigingen voor hun lokale groepen zou moeten toewijzen, kwam ik opnieuw een paar gevallen tegen waarin dit niet het geval was. Als dit je overkomt, kun je dit MSDN-artikel samen met het eerder genoemde artikel raadplegen voor toestemmingsvereisten.
- Configureer een Service Principal Name (SPN) voor de SQL Server instance-host (inclusief eventuele aliassen) en de
Domain2
serviceaccount- De SPN is vereist voor wederzijdse authenticatie tussen de client en de serverhost
- Zie dit TechNet-artikel voor meer info
- Afhankelijk van hoe u imitatie wilt gebruiken, kunt u de
Domain2
inschakelen te vertrouwen serviceaccount voor delegatie- Zie dit TechNet-artikel voor meer info
- Externe verbindingen inschakelen voor de SQL Service-instantie
- Maak ten slotte aanmeldingen voor het gewenste
Domain2
groepen en elkDomain1
ofDomain3
leden moeten op afstand verbinding kunnen maken!
Opmerking
Zoals altijd bij elke externe netwerkactiviteit, controleert u uw firewalls om er zeker van te zijn dat uw SQL Server-poorten niet worden geblokkeerd. Hoewel de standaardpoort 1433 is, moet u controleren of uw poort vrij is.