다음을 통해 공유


Microsoft Entra Connect와 관련된 SQL 연결 문제 해결

이 문서에서는 Microsoft Entra Connect와 SQL Server 간의 연결 문제를 해결하는 방법에 대해 설명합니다.

다음 스크린샷에서는 SQL Server를 찾을 수 없는 경우의 일반적인 오류를 보여 줍니다.

SQL 오류

문제 해결 단계

"관리자 권한으로 실행"을 사용하여 PowerShell 창을 열고 ADSyncTools PowerShell 모듈을 설치/가져옵니다.

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

참고 항목

Install-Module은 PowerShell 5.0(WMF 5.0) 이상으로 업데이트해야 합니다.
또는 PowerShell 3.0/4.0용 PackageManagement PowerShell 모듈 미리 보기 - 2016년 3월 설치

  • 모든 명령 표시: Get-Command *Sql* -Module ADSyncTools
  • 다음 매개 변수를 사용하여 PowerShell 함수 실행: Connect-ADSyncToolsSqlDatabase
    • Server: SQL Server 이름.
    • Instance(선택 사항) 사용할 SQL Server 인스턴스 이름 및 선택적 포트 번호. 기본 인스턴스를 사용하려면 이 매개 변수를 지정하지 마세요.
    • Port(선택 사항): SQL Server 포트
    • 사용자 이름(선택 사항): 연결할 사용자 계정입니다. 공백으로 남겨두면 현재 로그온된 계정이 사용됩니다. 원격 SQL Server에 연결하는 경우 이 사용자 이름은 Microsoft Entra Connect SQL 연결용으로 만들어진 사용자 지정 서비스 계정이어야 합니다. Microsoft Entra Connect는 Microsoft Entra Connect 동기화 서비스 계정을 사용하여 원격 SQL 서버에 인증합니다.
    • Password(선택 사항): 제공된 UserName의 암호.

이 PowerShell 함수는 전달된 자격 증명을 사용하거나 현재 사용자의 자격 증명을 사용하여 지정된 SQL Server 및 인스턴스에 바인딩하려고 합니다. SQL Server를 찾을 수 없는 경우 스크립트는 사용하도록 설정된 프로토콜과 포트를 확인하기 위해 SQL Browser 서비스에 연결을 시도합니다.

서버 이름만 사용하는 예제:


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                        : 

서버 이름과 SQL 명명된 인스턴스를 사용하는 예:


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                        : 


연결할 수 없는 SQL 인스턴스를 사용하는 예입니다. SQL Server Browser 서비스를 쿼리하고 사용 가능한 SQL 인스턴스 및 해당 포트를 표시하려고 시도합니다.


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


다음 단계