다음을 통해 공유


Azure Arc 지원 SQL Server 데이터베이스 보기

적용 대상: SQL Server

Azure에서 Azure Arc 지원 SQL Server 데이터베이스를 인벤토리하고 볼 수 있습니다.

필수 조건

  • 데이터베이스를 호스팅하는 SQL Server 인스턴스가 있는지 확인합니다.

    • Windows 운영 체제를 실행하는 물리적 또는 가상 머신에서 호스팅됩니다.
    • SQL Server 2014(12.x) 이상인지 여부
    • Azure Arc에 연결되어 있습니다. SQL Server를 Azure Arc에 연결을 참조하세요.
    • 직접 또는 프록시 서버를 통해 인터넷에 연결되어 있는지 여부
  • 데이터베이스 이름이 명명 규칙을 준수하고 예약 단어를 포함하지 않는지 확인합니다. 예약어 목록은 예약된 리소스 이름에 대한 오류 해결을 참조하세요.

  • 데이터베이스 크기와 사용 가능한 공간을 보려면 기본 제공 SQL Server 로그인 NT AUTHORITY\SYSTEM이 컴퓨터에서 실행 중인 모든 SQL Server 인스턴스에 대한 SQL Server sysadmin 서버 역할의 구성원인지 확인합니다.

인벤토리 데이터베이스

  1. Azure Portal에서 Azure Arc 지원 SQL Server의 인스턴스를 찾습니다.
  2. SQL Server 리소스를 선택합니다.
  3. 데이터 관리에서 데이터베이스를 선택합니다.
  4. SQL Server 데이터베이스 - Azure Arc 영역을 사용하여 인스턴스에 속한 데이터베이스를 볼 수 있습니다.

데이터베이스 속성 보기

특정 데이터베이스의 속성을 보려면 포털에서 데이터베이스를 선택합니다.

데이터베이스를 생성, 수정 또는 삭제한 후 변경 내용이 1시간 이내에 Azure Portal에 표시됩니다.

Azure Portal의 SQL Server 데이터베이스 속성 스크린샷.

데이터베이스 창에는 다음 정보가 표시됩니다.

  • 데이터 수집 및 업로드에 대한 정보:
    • 마지막으로 수집된 시간
    • 업로드 상태
  • 각 데이터베이스에 대한 정보:
    • 속성
    • 상태
    • 만든 시간
    • 가장 빠른 복원 지점

특정 데이터베이스를 선택하면 해당 데이터베이스의 모든 속성이 표시됩니다. 이러한 속성은 SQL Server Management Studio에도 표시됩니다.

전체 데이터베이스 속성 목록의 스크린샷.

Azure Resource Graph를 사용하여 데이터를 쿼리

다음은 Azure Arc 지원 SQL Server 데이터베이스를 볼 때 사용 가능한 데이터를 쿼리하기 위해 Azure Resource Graph를 사용하는 방법을 보여주는 몇 가지 예시 시나리오입니다.

시나리오 1: 데이터베이스 10개 가져오기

10개의 데이터베이스를 가져와서 쿼리할 수 있는 속성을 반환:

resources
| where type == 'microsoft.azurearcdata/sqlserverinstances/databases'
| limit 10

쿼리할 가장 흥미로운 속성은 대부분 properties 속성에 있습니다. 사용 가능한 속성을 탐색하려면 다음 쿼리를 실행한 다음 행에 대한 세부 정보 보기를 선택합니다. 이 작업은 오른쪽에 있는 JSON 뷰어의 속성을 반환합니다.

resources
| where type == 'microsoft.azurearcdata/sqlserverinstances/databases'
| project properties

JSON의 각 수준 사이에 마침표를 사용하여 속성 JSON의 계층 구조를 탐색할 수 있습니다.

시나리오 2: 데이터베이스 옵션 AUTO_CLOSE가 ON으로 설정된 모든 데이터베이스 가져오기

| where (type == 'microsoft.azurearcdata/sqlserverinstances/databases' and properties.databaseOptions.isAutoCloseOn == true)
| extend isAutoCloseOn = properties.databaseOptions.isAutoCloseOn
| project name, isAutoCloseOn

시나리오 3: 암호화된 데이터베이스 수 가져오기와 암호화되지 않은 데이터베이스 수 가져오기의 비교

resources
| where type == 'microsoft.azurearcdata/sqlserverinstances/databases'
| extend isEncrypted = properties.databaseOptions.isEncrypted
| summarize count() by tostring(isEncrypted)
| order by ['isEncrypted'] asc

시나리오 4: 암호화되지 않은 모든 데이터베이스 표시

resources
| where (type == 'microsoft.azurearcdata/sqlserverinstances/databases' and properties.databaseOptions.isEncrypted == false)
| extend isEncrypted = properties.databaseOptions.isEncrypted
| project name, isEncrypted

시나리오 5: 지역 및 호환성 수준별 모든 데이터베이스 가져오기

이 예시에서는 호환성 수준이 160인 westus3 위치에 있는 모든 데이터베이스를 반환합니다.

resources
| where type == 'microsoft.azurearcdata/sqlserverinstances/databases'
| where location == "westus3"
| where properties.compatibilityLevel == "160"

시나리오 6: SQL Server 버전 배포 표시

resources
| where type == 'microsoft.azurearcdata/sqlserverinstances'
| extend SQLversion = properties.version
| summarize count() by tostring(SQLversion)

시나리오 7: 호환성별 데이터베이스 수 표시

다음 예에서는 호환성 수준별로 정렬된 데이터베이스의 수를 반환합니다

resources
| where type == 'microsoft.azurearcdata/sqlserverinstances/databases'
| summarize count() by tostring(properties.compatibilityLevel)
| order by properties_compatibilityLevel asc

차트를 만들고 대시보드에 고정할 수도 있습니다.

호환성 수준별 데이터베이스 수에 대한 쿼리 결과를 표시하는 원형 차트의 다이어그램

알려진 문제

온-프레미스에서 삭제된 데이터베이스는 Azure에서 즉시 삭제되지 않을 수 있습니다. 데이터베이스 CRUD(생성, 읽기, 업데이트, 삭제) 작업이 온-프레미스에서 수행되는 방식에는 영향을 미치지 않습니다.