다음을 통해 공유


Azure Arc를 사용하여 SQL Server 리소스의 인벤토리 관리

적용 대상:SQL Server

Azure Arc에서 SQL Server 엔진 인스턴스 또는 관련 서비스를 사용하도록 설정하는 경우 Azure를 사용하여 인벤토리를 관리할 수 있습니다.

필수 조건

SQL Server 서비스가 정상적으로 작동하는지 확인합니다.

  • 버전 SQL Server 2014(12.x) 이상.
  • Windows 운영 체제를 실행하는 물리적 또는 가상 머신에서
  • Azure Arc에 연결되었습니다. AZURE Arc에 SQL Server 연결을 참조하세요.
  • 직접 또는 프록시 서버를 통해 인터넷에 연결됩니다.

인벤토리 데이터베이스

SQL Server 데이터베이스의 인벤토리를 만들려면 데이터베이스 이름이 명명 규칙을 준수하고 예약된 단어가 포함되지 않도록 합니다. 예약어 목록은 예약된 리소스 이름에 대한 오류 해결을 참조하세요.

데이터베이스를 목록화하려면 다음 단계를 따르세요.

  1. Azure Portal에서 Azure Arc에서 사용하도록 설정된 SQL Server 인스턴스를 찾습니다.
  2. SQL Server 리소스를 선택합니다.
  3. 데이터 관리에서 데이터베이스를 선택합니다.
  4. SQL Server 데이터베이스 - Azure Arc 영역을 사용하여 인스턴스에 속한 데이터베이스를 봅니다.

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

데이터베이스 속성 보기

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

데이터베이스를 만들거나 수정하거나 삭제한 후 1시간 내에 Azure Portal에 변경 내용이 표시됩니다.

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

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

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

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

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

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

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

시나리오 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 설정된 모든 데이터베이스 가져오기

| 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

인벤토리 관련 서비스

SQL Server 관련 서비스는 다음과 같습니다.

  • SQL Server 데이터베이스 엔진
  • SSAS(SQL Server Analysis Services)
  • SSIS(SQL Server Integration Services)
  • SQL Server Reporting Services(SSRS)
  • Power BI Report Server(PBIRS)

연결된 서비스의 각 설치는 ARM(Azure Resource Manager)에 특정 서비스를 표시하는 속성이 있는 SQL Server 인스턴스로 serviceType 표시됩니다. 속성은 다음과 같이 정의됩니다.

"serviceType":  {
         "type": "string",
         "enum": [ "Engine", "SSAS", "SSIS", "SSRS", "PBIRS" ],
         "default": "Engine"
     }

인벤토리 대시보드 만들기

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

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

알려진 문제

온-프레미스에서 삭제된 리소스는 Azure에서 즉시 삭제되지 않을 수 있습니다. 예를 들어 데이터베이스를 삭제하면 서버 리소스가 동기화될 때까지 Azure의 데이터베이스 이미지가 유지됩니다.