SQL Server 데이터베이스 보기 - Azure Arc

적용 대상:SQL Server

Azure에서 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. 데이터 관리에서 데이터베이스를 선택합니다.

Azure Portal은 SQL Server 데이터베이스 - Azure Arc를 보여줍니다. 이 영역을 사용하여 인스턴스에 속한 데이터베이스를 볼 수 있습니다.

데이터베이스 속성 보기

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

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

Screenshot of Azure portal, SQL Server database properties.

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

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

특정 데이터베이스를 선택하면 해당 데이터베이스에 대한 모든 속성이 표시되며 SSMS(SQL Server Management Studio)에도 표시됩니다.

Screenshot of full database property list.

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가 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

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

Diagram of a pie chart that displays the query results for the count of databases by compatibility level.

알려진 문제

온-프레미스에서 삭제된 데이터베이스는 Azure에서 즉시 삭제되지 않을 수 있습니다. 데이터베이스 CRUD 작업이 온-프레미스에서 발생하는 방식에는 영향을 주지 않습니다.