Delen via


Problemen met SQL-connectiviteit met Microsoft Entra Connect oplossen

In dit artikel wordt uitgelegd hoe u verbindingsproblemen tussen Microsoft Entra Connect en SQL Server kunt oplossen.

In de volgende schermopname ziet u een typische fout als de SQL Server niet kan worden gevonden.

SQL-fout

Stappen voor probleemoplossing

Open een PowerShell-venster met 'Als administrator uitvoeren' en installeer/importeer ADSyncTools PowerShell-module.

[Net.ServicePointManager]::SecurityProtocol = [Net.SecurityProtocolType]::Tls12
Install-PackageProvider -Name NuGet -MinimumVersion 2.8.5.201 -Force
Install-Module ADSyncTools
Import-Module ADSyncTools

Notitie

Voor de installatiemodule moet worden bijgewerkt naar PowerShell 5.0 (WMF 5.0) of hoger;
Of installeer PackageManagement PowerShell-module preview - maart 2016 voor PowerShell 3.0/4.0

  • Alle opdrachten weergeven: Get-Command *Sql* -Module ADSyncTools
  • Voer de PowerShell-functie uit: Connect-ADSyncToolsSqlDatabase met de volgende parameters:
    • Server: de SQL Server-naam.
    • Exemplaar (optioneel): de naam van het SQL Server-exemplaar en eventueel poortnummer dat u wilt gebruiken. Geef deze parameter niet op om het standaardexemplaren te gebruiken.
    • Poort (optioneel): de SQL Server-poort
    • Gebruikersnaam (optioneel): het gebruikersaccount waarmee u verbinding wilt maken, als u leeg blijft, wordt het huidige aangemelde account gebruikt. Als u verbinding maakt met een externe SQL Server, moet deze gebruikersnaam het aangepaste serviceaccount zijn dat is gemaakt voor Microsoft Entra Connect SQL Connectivity. Microsoft Entra Connect maakt gebruik van het Microsoft Entra Connect Sync-serviceaccount om te verifiëren bij een externe SQL-server.
    • Wachtwoord (optioneel): Wachtwoord voor de opgegeven gebruikersnaam.

Met deze PowerShell-functie wordt geprobeerd verbinding te maken met de opgegeven SQL Server en instantie met behulp van de referenties die zijn doorgegeven of de referenties van de huidige gebruiker gebruiken. Als de SQL Server niet kan worden gevonden, probeert het script verbinding te maken met de SQL Browser-service om ingeschakelde protocollen en poorten te bepalen.

Voorbeeld van alleen een servernaam:


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                        : 

Voorbeeld van een servernaam en een SQL-benoemd exemplaar:


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                        : 


Voorbeeld van een SQL-exemplaar dat niet kan worden bereikt. Er wordt geprobeerd een query uit te voeren op de SQL Server Browser-service en de beschikbare SQL-exemplaren en respectieve poorten weer te geven.


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


Volgende stappen