중요합니다
Microsoft SQL Server 2019 빅 데이터 클러스터 추가 기능이 사용 중지됩니다. SQL Server 2019 빅 데이터 클러스터에 대한 지원은 2025년 2월 28일에 종료됩니다. Software Assurance를 사용하는 SQL Server 2019의 모든 기존 사용자는 플랫폼에서 완전히 지원되며, 소프트웨어는 지원 종료 시점까지 SQL Server 누적 업데이트를 통해 계속 유지 관리됩니다. 자세한 내용은 공지 블로그 게시물 및 Microsoft SQL Server 플랫폼의 빅 데이터 옵션을 참조하세요.
AD(Active Directory) 모드의 배포가 중지됩니다. 도메인 컨트롤러 DNS 서버에 역방향 조회 영역 항목이 누락된 원인이 있는지 확인하려면 증상을 확인합니다.
증상
AD 모드로 BDC를 배포하기 시작했습니다. 그러나 배포가 중단되고 앞으로 진행되지 않습니다.
다음 예제에서는 bash 셸의 배포 결과를 보여줍니다.
The privacy statement can be viewed at:
https://go.microsoft.com/fwlink/?LinkId=853010
The license terms for SQL Server Big Data Cluster can be viewed at:
Enterprise: https://go.microsoft.com/fwlink/?linkid=2104292
Standard: https://go.microsoft.com/fwlink/?linkid=2104294
Developer: https://go.microsoft.com/fwlink/?linkid=2104079
Cluster deployment documentation can be viewed at:
https://aka.ms/bdc-deploy
NOTE: Cluster creation can take a significant amount of time depending on
configuration, network speed, and the number of nodes in the cluster.
Starting cluster deployment.
Cluster controller endpoint is available at bdc-control.contoso.com:30080, 193.168.5.14:30080.
Waiting for control plane to be ready after 5 minutes.
Waiting for control plane to be ready after 10 minutes.
Waiting for control plane to be ready after 15 minutes.
Waiting for control plane to be ready after 20 minutes.
Waiting for control plane to be ready after 25 minutes.
현재 배포된 Pods를 확인하세요.
kubectl get pods -n mssql-cluster
아래 결과는 컨트롤러에 속한 포드만 배포되었음을 나타냅니다. 컴퓨팅, 데이터 또는 스토리지에 대한 Pod가 만들어지지 않습니다.
NAME READY STATUS RESTARTS AGE
control-rts5t 3/3 Running 0 18m
controldb-0 2/2 Running 0 18m
controlwd-csgst 1/1 Running 0 16m
dns-7kfnz 2/2 Running 0 16m
logsdb-0 1/1 Running 0 16m
logsui-2pc29 1/1 Running 0 16m
metricsdb-0 1/1 Running 0 16m
metricsdc-4rtm4 1/1 Running 0 16m
metricsdc-6lr2t 1/1 Running 0 16m
metricsdc-ftx9m 1/1 Running 0 16m
metricsdc-h59jb 1/1 Running 0 16m
metricsui-lvdpt 1/1 Running 0 16m
mgmtproxy-mkmxp 2/2 Running 0 16m
보안 지원 컨테이너 로그를 검사합니다. LDAP 오류를 찾습니다.
보안 지원 컨테이너 확인
보안 지원 컨테이너 로그를 검토합니다.
다음 명령은 네임스페 mssql-cluster
이스의 클러스터에서 보안 지원 로그를 수집합니다.
azdata bdc debug copy-logs -n mssql-cluster -c security-support
로그를 추출하고 \mssql-cluster\control-<identifier>\controller\control-rts5t-controller-stdout.log
을 찾습니다.
팁 (조언)
로그를 수집하는 방법에는 여러 가지가 있습니다. Azure Data CLI(azdata
)를 사용하여 로그를 복사하는 대신 Azure Data Studio에서 Notebook을 사용할 수 있습니다.
Azure Data Studio에서 Kubernetes 클러스터에 연결하고 적절한 문제 해결 Notebook을 실행합니다. 다음은 노트북의 예입니다.
- TSG027 - 클러스터 배포 관찰
- TSG061 - BDC 네임스페이스 내의 Pod에서 모든 컨테이너 로그의 끝부분 가져오기
- TSG001 - 실행
azdata copy-logs
로그를 검사합니다.
로그를 찾습니다. 다음 예제에서는 컨트롤러 배포 로그를 가리킵니다.
<folderOfDebugCopyLog>\debuglogs-mssql-cluster-YYYYMMDD-HHMMSS\<namespace>\control-<identifier>\controller\control-<identifier>-controller-stdout.log
"
YYYY-MM-DD HH:MM:SS.ms | ERROR | Failed to create AD user account 'cntrl-controller'. Error code: 53. Message: Failed to create user object: Failed to add object 'CN=cntrl-controller,OU=bdc, DC=CONTOSO, DC=com' to 'CONTOSO.COM': Server is unwilling to perform.
YYYY-MM-DD HH:MM:SS.ms | ERROR | Failed to create AD user account 'ldap-user'. Error code: 53. Message: Failed to create user object: Failed to add object 'CN=ldap-user,OU=bdc, DC=CONTOSO, DC=com' to 'CONTOSO.COM': Server is unwilling to perform.
YYYY-MM-DD HH:MM:SS.ms | ERROR | Failed to create AD user account 'nginx-mgmtproxy'. Error code: 53. Message: Failed to create user object: Failed to add object 'CN=nginx-mgmtproxy,OU=bdc, DC=CONTOSO, DC=com' to 'CONTOSO.COM': Server is unwilling to perform.
원인
도메인 컨트롤러 DNS 항목의 도메인 컨트롤러에 대한 역방향 조회 영역 항목이 없습니다.
해결 방법
다음 PowerShell 스크립트를 실행하여 역방향 DNS 항목(PTR 레코드)이 구성되어 있는지 확인합니다.
#Domain Controller FQDN 'DCserver01.contoso.local'
$Domain_controller_FQDN = 'DCserver01.contoso.local'
#Performing Domain Controller DNS record, reverse PTR Checks...
$DcControllerDnsPtr_Result = New-Object System.Collections.ArrayList
try {
$Domain_controller_DNS_Record = Resolve-DnsName $Domain_controller_FQDN -Type A -Server $Domain_DNS_IP_address -ErrorAction Stop
foreach ($ip in $Domain_controller_DNS_Record.IPAddress) {
#resolving hostname by IP address to make sure we have reverse PTR record
if ((Resolve-DnsName $ip).NameHost -eq $Domain_controller_FQDN) {
[void]$DcControllerDnsPtr_Result.add("OK - $Domain_controller_FQDN has an A record with an IP $ip, Reverse PTR record is in place")
}
else {
[void]$DcControllerDnsPtr_Result.add("Missing - $Domain_controller_FQDN has an A record with an IP $ip, But no reverse PTR record was found for the host")
}
}
}
catch {
[void]$DcControllerDnsPtr_Result.add("Error - " + $_.exception.message)
}
#show the results
$DcControllerDnsPtr_Result