Behandeln von SQL-Konnektivitätsproblemen mit Microsoft Entra Connect
Dieser Artikel erklärt, wie Probleme mit der Konnektivität zwischen Microsoft Entra Connect und SQL Server behoben werden können.
Der folgende Screenshot zeigt einen typischen Fehler, wenn der SQL Server nicht gefunden werden kann.
Schritte zur Fehlersuche
Öffnen Sie ein PowerShell-Fenster mit „Als Administrator ausführen“ und „ADSyncTools PowerShell-Modul installieren/importieren“.
[Net.ServicePointManager]::SecurityProtocol = [Net.SecurityProtocolType]::Tls12
Install-PackageProvider -Name NuGet -MinimumVersion 2.8.5.201 -Force
Install-Module ADSyncTools
Import-Module ADSyncTools
Hinweis
Für „Install-Module“ ist die Aktualisierung von PowerShell 5.0 (WMF 5.0) oder höher erforderlich.
Installieren Sie alternativ PackageManagement PowerShell-Module (Vorschauversion) – März 2016 für PowerShell 3.0/4.0.
- Alle Befehle anzeigen:
Get-Command *Sql* -Module ADSyncTools
- Ausführen der PowerShell-Funktion „
Connect-ADSyncToolsSqlDatabase
“ mit den folgenden Parametern:- Server: Der Name des SQL Servers.
- Instanz (optional): Der Name der SQL Server-Instanz und optional die Nummer des zu verwendenden Ports. Geben Sie diesen Parameter nicht an, um die Standardinstanz zu verwenden.
- Port (optional): Der SQL Server-Port
- Benutzername (optional): Das Benutzerkonto, mit dem eine Verbindung hergestellt werden soll, wenn dieses Feld leer gelassen wird, wird das aktuell angemeldete Konto verwendet. Wenn Sie eine Verbindung mit einer SQL Server-Remoteinstanz herstellen, sollte dieser Benutzername das benutzerdefinierte Dienstkonto verwenden, das für die Konnektivität zwischen Microsoft Entra Connect und SQL erstellt wurde. Microsoft Entra Connect verwendet das Microsoft Entra Connect-Synchronisierungsdienstkonto für die Authentifizierung bei einer SQL Server-Remoteinstanz.
- Kennwort (optional): Kennwort für den angegebenen Benutzernamen.
Diese PowerShell-Funktion versucht, mit den übergebenen Anmeldeinformationen eine Bindung mit dem angegebenen SQL-Server und der Instanz herzustellen oder die Anmeldeinformationen des aktuellen Benutzers zu verwenden. Wenn der SQL Server nicht gefunden werden kann, stellt das Skript eine Verbindung mit dem SQL-Browser-Dienst her, um aktivierte Protokolle und Ports zu ermitteln.
Beispiel für die ausschließliche Verwendung eines Servernamens:
PS C:\> Connect-ADSyncToolsSqlDatabase -Server SQL1.contoso.com
Resolving server address : SQL1.contoso.com
InterNetworkV6 : fe80::6c90:a995:3e70:ef74%17
InterNetworkV6 : 2001:4898:e0:66:6c90:a995:3e70:ef74
InterNetwork : 10.91.26.143
Attempting to connect to SQL1 using a TCP binding for the default instance.
Data Source=tcp:SQL1.contoso.com\;Integrated Security=True.ConnectionString
Successfully connected.
StatisticsEnabled : False
AccessToken :
ConnectionString : Data Source=tcp:SQL1\;Integrated Security=True
ConnectionTimeout : 15
Database : master
DataSource : tcp:SQL1.contoso.com\
PacketSize : 8000
ClientConnectionId : 23e06ef2-0a38-4f5f-9291-da931de40375
ServerVersion : 13.00.4474
State : Open
WorkstationId : SQL1
Credential :
FireInfoMessageEventOnUserErrors : False
Site :
Container :
Beispiel für die Verwendung eines Servernamens und einer benannten SQL-Instanz:
PS C:\> Connect-ADSyncToolsSqlDatabase -Server SQL1.contoso.com -Instance SQLINSTANCE1
Resolving server address : SQL1.contoso.com
InterNetwork: 10.0.100.24
Attempting to connect to SQL1.contoso.com\SQLINSTANCE1 using a TCP binding.
Data Source=tcp:SQL1.contoso.com\SQLINSTANCE1;Integrated Security=True
Successfully connected.
StatisticsEnabled : False
AccessToken :
ConnectionString : Data Source=tcp:SQL1.contoso.com\SQLINSTANCE1;Integrated Security=True
ConnectionTimeout : 15
Database : master
DataSource : tcp:SQL1.contoso.com\SQLINSTANCE1
PacketSize : 8000
ClientConnectionId : 2b365b7a-4348-45f6-9314-d6b56db36dbd
ServerVersion : 13.00.4259
State : Open
WorkstationId : SQL1
Credential :
FireInfoMessageEventOnUserErrors : False
Site :
Container :
Beispiel für die Verwendung einer SQL-Instanz, die nicht erreicht werden kann. Es wird versucht, den SQL Server-Browserdienst abzufragen und die verfügbaren SQL-Instanzen und die entsprechenden Ports anzuzeigen.
PS C:\> Connect-ADSyncToolsSqlDatabase -Server SQL01.Contoso.com -Instance DEFAULT
Resolving server address : SQL01.Contoso.com
InterNetwork: 10.0.100.24
Attempting to connect to SQL01.Contoso.com\SQL using a TCP binding.
Data Source=tcp:SQL01.Contoso.com\SQL;Integrated Security=True
Connect-ADSyncToolsSqlDatabase : Unable to connect using a TCP binding. A network-related or instance-specific error occurred while establishing a connection to SQL Server. The server was not found or was
not accessible. Verify that the instance name is correct and that SQL Server is configured to allow remote connections. (provider: SQL Network Interfaces, error: 26 - Error Locating Server/Instance
Specified)
At line:1 char:1
+ Connect-ADSyncToolsSqlDatabase -Server SQL01.Contoso.com -Insta ...
+ ~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~
+ CategoryInfo : ConnectionError: (:) [Write-Error], WriteErrorException
+ FullyQualifiedErrorId : Microsoft.PowerShell.Commands.WriteErrorException,Connect-ADSyncToolsSqlDatabase
TROUBLESHOOTING: Attempting to query the SQL Server Browser service configuration on SQL01.Contoso.com.
SQL browser response contained 2 instances.
Verifying protocol bindings and port connectivity...
SQLINSTANCE1 : Enabled - port 49823 is assigned and reachable through the firewall
SQL2019 : Enabled - port 50631 is assigned and reachable through the firewall
WHAT TO TRY NEXT:
Each SQL instance must be bound to an explicit static TCP port and paired with an inbound firewall rule on SQL01.Contoso.com to allow connection. Review the TcpStatus field for each instance and take cor
rective action.
InstanceName : SQLINSTANCE1
tcp : 49823
TcpStatus : Enabled - port 49823 is assigned and reachable through the firewall
InstanceName : SQL2019
tcp : 50631
TcpStatus : Enabled - port 50631 is assigned and reachable through the firewall