Som nævnt i min spørgsmålsopdatering ændrer du tjenestekontoen til at være i Domain2
løst problemet. Så hvad foregik der?
Problemet – forklaret
Efter hvad jeg kan se (også med hjælp fra en Microsoft-repræsentant), fordi tjenestekontoen oprindeligt var et Domain1
bruger, kunne den ikke bestemme, hvilke lokale domænegrupper den forbindende bruger er medlem af, når brugeren godkender via Kerberos. Den primære ledning til, at dette var et Kerberos-problem, var, da jeg oprettede forbindelse ved hjælp af "Named Pipes", da dette bruger NTLM-godkendelse.
Samlet løsning
For at bringe det hele sammen, at tilføje brugere fra Domain1
og Domain3
som medlemmer af grupper i Domain2
så grupperne kan bruges som SQL Server-login med Windows-godkendelse, er her en liste over krav (eller i det mindste stærkt opfordret):
- Etablerede tillidsforhold mellem domænerne
- Mindst 1-vejs-trusts skal konfigureres, så
Domain2
har tillid tilDomain1
ogDomain3
- Mindst 1-vejs-trusts skal konfigureres, så
- Grupper i
Domain2
skal have omfanget "Lokalt domæne"- Dette er, så du kan tilføje brugere og grupper fra
Domain1
ogDomain3
- Se her for mere information
- Dette er, så du kan tilføje brugere og grupper fra
- Brug SQL Server Configuration Manager til at udpege en ikke-administrativ
Domain2
bruger som tjenestekontoidentitet- MSDN dokumenterer, hvorfor det kan være at foretrække at bruge en domænebrugerkonto
- Selvom det er meningen, at konfigurationsmanageren skal tilføje brugere til lokale SQL Server 2005-specifikke grupper for dig (dvs. SQLServer2005MSSQLUser$MY_MACHINE$MY_INSTANCE), stødte jeg på nogle få tilfælde, hvor dette ikke var tilfældet. Så tjek bare dine lokale grupper for at sikre, at de er blevet opdateret korrekt med dit
Domain2
brugerkonto. - Selvom SQL Server-konfigurationen automatisk skulle tildele passende tilladelser til deres lokale grupper, stødte jeg igen på et par tilfælde, hvor dette ikke var tilfældet. Hvis dette sker for dig, kan du henvise til denne MSDN-artikel sammen med den tidligere nævnte artikel for tilladelseskrav.
- Konfigurer et Service Principal Name (SPN) for SQL Server-instansværten (inklusive eventuelle aliaser) og
Domain2
servicekonto- SPN er påkrævet for gensidig godkendelse mellem klienten og serverværten
- Se denne TechNet-artikel for mere information
- Afhængigt af hvordan du har tænkt dig at bruge personefterligning, vil du måske aktivere
Domain2
servicekonto, der skal have tillid til delegering- Se denne TechNet-artikel for mere information
- Aktiver fjernforbindelser for SQL Service-instansen
- Til sidst skal du oprette logins for det ønskede
Domain2
grupper og enhverDomain1
ellerDomain3
medlemmer skal kunne oprette forbindelse eksternt!
Bemærk
Som altid med enhver ekstern netværksaktivitet, skal du kontrollere dine firewalls for at sikre, at dine SQL Server-porte ikke er blokeret. Selvom standardporten er 1433, skal du kontrollere, at din port er fri.