Aracılığıyla paylaş


Microsoft Entra Bağlan ile ilgili SQL bağlantı sorunlarını giderme

Bu makalede, Microsoft Entra Bağlan ile SQL Server arasındaki bağlantı sorunlarını giderme adımları açıklanmaktadır.

Aşağıdaki ekran görüntüsünde SQL Server bulunamıyorsa tipik bir hata gösterilmektedir.

SQL hatası

Sorun giderme adımları

"Yönetici istrator olarak çalıştır" ve AD Eşitleme Tools PowerShell modülünü yükleme/içeri aktarma ile bir PowerShell penceresi açın.

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

Not

Install-Module, PowerShell 5.0 (WMF 5.0) veya sonraki bir sürüme güncelleştirilmesini gerektirir;
Veya PackageManagement PowerShell modülü önizlemesini yükleyin - PowerShell 3.0/4.0 için Mart 2016

  • Tüm komutları göster: Get-Command *Sql* -Module ADSyncTools
  • Aşağıdaki parametrelerle PowerShell işleviniConnect-ADSyncToolsSqlDatabase yürütür:
    • Sunucu: SQL Server adı.
    • Örnek (İsteğe bağlı): Kullanmak istediğiniz SQL Server Örneği adı ve isteğe bağlı bağlantı noktası numarası. Varsayılan örneği kullanmak için bu parametreyi belirtmeyin.
    • Bağlantı noktası (İsteğe bağlı): SQL Server bağlantı noktası
    • Kullanıcı adı (İsteğe bağlı): Bağlanacak kullanıcı hesabı, boş bırakılırsa geçerli oturum açmış hesap kullanılır. Uzak bir SQL Server'a bağlanıyorsanız, bu kullanıcı adı Microsoft Entra Bağlan SQL Bağlan ivity için oluşturulan özel hizmet hesabı olmalıdır. Microsoft Entra Bağlan, uzak sql sunucusunda kimlik doğrulaması yapmak için Microsoft Entra Bağlan Eşitleme hizmeti hesabını kullanır.
    • Parola (İsteğe bağlı): Sağlanan UserName için parola.

Bu PowerShell işlevi, geçirilen kimlik bilgilerini kullanarak belirtilen SQL Server'a ve Örneğe bağlanmayı veya geçerli kullanıcının kimlik bilgilerini kullanmayı dener. SQL Server bulunamazsa, betik etkin protokolleri ve bağlantı noktalarını belirlemek için SQL Browser hizmetine bağlanmayı dener.

Yalnızca sunucu adı kullanan örnek:


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                        : 

Sunucu adı ve SQL adlandırılmış örneği kullanma örneği:


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                        : 


Erişilemedi sql örneği kullanma örneği. SQL Server Browser hizmetini sorgulamaya ve kullanılabilir SQL Örneklerini ve ilgili bağlantı noktalarını görüntülemeye çalışır.


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


Sonraki Adımlar