Dela via


Felsöka SQL-anslutningsproblem med Microsoft Entra Anslut

I den här artikeln beskrivs hur du felsöker anslutningsproblem mellan Microsoft Entra Anslut och SQL Server.

Följande skärmbild visar ett typiskt fel om SQL Server inte kan hittas.

SQL-fel

Felsökningsanvisningar

Öppna ett PowerShell-fönster med modulen "Kör som administratör" och Installera/importera ADSyncTools PowerShell.

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

Kommentar

Install-Module kräver uppdatering till PowerShell 5.0 (WMF 5.0) eller senare.
Eller installera PackageManagement PowerShell-modulförhandsgranskning – mars 2016 för PowerShell 3.0/4.0

  • Visa alla kommandon: Get-Command *Sql* -Module ADSyncTools
  • Kör PowerShell-funktionen: Connect-ADSyncToolsSqlDatabase med följande parametrar:
    • Server: SQL Server-namnet.
    • Instans (valfritt): NAMNET på SQL Server-instansen och valfritt portnummer som du vill använda. Ange inte den här parametern för att använda standardinstansen.
    • Port (valfritt): SQL Server-porten
    • Användarnamn (valfritt): Det användarkonto som ska anslutas till, om det lämnas tomt används det aktuella inloggade kontot. Om du ansluter till en fjärransluten SQL Server ska det här användarnamnet vara det anpassade tjänstkontot som skapats för Microsoft Entra Anslut SQL-Anslut ivity. Microsoft Entra Anslut använder Microsoft Entra Anslut Sync-tjänstkontot för att autentisera till en fjärransluten SQL-server.
    • Lösenord (valfritt): Lösenord för angivet användarnamn.

Den här PowerShell-funktionen försöker binda till den angivna SQL Server och instansen med de autentiseringsuppgifter som skickas eller använda den aktuella användarens autentiseringsuppgifter. Om SQL Server inte kan hittas försöker skriptet ansluta till SQL Browser-tjänsten för att fastställa aktiverade protokoll och portar.

Exempel med bara ett servernamn:


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                        : 

Exempel med ett servernamn och en SQL-namngiven instans:


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                        : 


Exempel med en SQL-instans som inte kan nås. Den försöker fråga SQL Server Browser-tjänsten och visa tillgängliga SQL-instanser och respektive portar.


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 NualexSQLS01.nualex.net -Insta ...
+ ~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~
    + CategoryInfo          : ConnectionError: (:) [Write-Error], WriteErrorException
    + FullyQualifiedErrorId : Microsoft.PowerShell.Commands.WriteErrorException,Connect-ADSyncToolsSqlDatabase
 
TROUBLESHOOTING: Attempting to query the SQL Server Browser service configuration on NualexSQLS01.nualex.net. 

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 NualexSQLS01.nualex.net 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


Nästa steg