Azure SQL Database 및 Azure Synapse에서 논리 SQL 서버란?

적용 대상: Azure SQL Database Azure Synapse Analytics

Azure SQL Database 및 Azure Synapse Analytics에서 서버는 데이터베이스 컬렉션에 대한 중앙 관리 지점 역할을 하는 논리적 구문입니다. 서버 수준에서 로그인, 방화벽 규칙, 감사 규칙, 위협 탐지 정책자동 장애 조치(failover) 그룹을 관리할 수 있습니다. 서버는 리소스 그룹과 다른 지역에 위치할 수 있습니다. Azure Synapse Analytics에서 Azure SQL Database 또는 데이터 웨어하우스 데이터베이스에 데이터베이스를 만들려면 서버가 있어야 합니다. 단일 서버에서 관리하는 모든 데이터베이스는 서버와 동일한 지역 내에서 생성됩니다.

이 서버는 온-프레미스 환경에서 친숙할 수 있는 SQL Server 인스턴스와 구별됩니다. 특히 데이터베이스 또는 데이터 웨어하우스 데이터베이스를 관리하는 서버와 관련하여 데이터베이스 또는 데이터 웨어하우스 데이터베이스의 위치에 대한 보증은 없습니다. 또한 Azure SQL Database 및 Azure Synapse는 인스턴스 수준 액세스 또는 기능을 노출하지 않습니다. 반대로 관리형 인스턴스의 인스턴스 데이터베이스는 모두 온-프레미스 또는 가상 머신 환경에서 SQL Server를 친숙하게 사용하는 것과 동일한 방식으로 함께 물리적으로 배치됩니다.

서버를 만들 때 해당 서버의 마스터 데이터베이스 및 해당 서버에서 생성된 모든 데이터베이스에 대한 관리 권한이 있는 서버 로그인 계정 및 암호를 제공합니다. 이 초기 계정이 SQL 로그인 계정입니다. Azure SQL Database 및 Azure Synapse Analytics는 인증을 위해 SQL 인증 및 Azure Active Directory 인증을 지원합니다. 로그인 및 인증에 대한 내용은 Azure SQL Database에서 데이터베이스 및 로그인 관리를 참조하세요. Windows 인증은 지원되지 않습니다.

SQL Database 및 Azure Synapse의 서버:

  • Azure 구독 내에서 만들었지만 다른 구독에 포함된 리소스를 사용하여 이동시킬 수 있습니다
  • 데이터베이스, 탄력적 풀 및 데이터 웨어하우스의 상위 리소스입니다.
  • 데이터베이스, 탄력적 풀 및 데이터 웨어하우스 데이터베이스의 네임스페이스를 제공합니다.
  • 강력한 수명 의미 체계를 가진 논리 컨테이너로서 서버를 삭제하고 해당 데이터베이스, 탄력적 풀 및 SQL 풀을 삭제합니다.
  • Azure RBAC(Azure 역할 기반 액세스 제어)에 포함됩니다. 서버 내의 데이터베이스, 탄력적 풀 및 데이터 웨어하우스 데이터베이스는 서버에서 액세스 권한을 상속합니다.
  • Azure 리소스를 관리하기 위한 데이터베이스, 탄력적 풀 및 데이터 웨어하우스 데이터베이스의 ID 상위 요소입니다(데이터베이스 및 풀은 URL 구성표 참조).
  • 지역에 리소스 배치
  • 데이터베이스 액세스에 대한 연결 엔드포인트를 제공합니다(<serverName>.database.windows.net).
  • 마스터 데이터베이스에 연결하여 DMV를 통해 포함된 리소스 관련 메타데이터에 대한 액세스를 제공합니다.
  • 데이터베이스에 적용되는 관리 정책, 즉 로그인, 방화벽, 감사, 위협 요소 탐지 등에 대한 범위를 제공합니다.
  • 상위 구독 내의 할당량으로 제한됩니다(기본적으로 구독 당 6대의 서버임. 여기에서 구독 제한 참조).
  • 포함한 리소스에 대한 데이터베이스 할당량 및 DTU 또는 vCore 할당량의 범위를 제공합니다(예: 45000DTU).
  • 포함된 리소스에서 사용하도록 설정된 기능에 대한 버전 관리 범위입니다.
  • 서버 수준 주체 로그인은 서버에 있는 모든 데이터베이스를 관리할 수 있습니다.
  • 서버에서 하나 이상의 데이터베이스에 대한 액세스를 부여하는 온-프레미스 환경의 SQL Server 인스턴스에서 해당 항목과 비슷한 로그인을 포함하고, 제한된 관리 권한이 부여될 수 있습니다. 자세한 내용은 로그인을 참조하세요.
  • 서버에서 생성되는 모든 데이터베이스에 대한 기본 데이터 정렬은 SQL_LATIN1_GENERAL_CP1_CI_AS입니다. 여기서 LATIN1_GENERAL은 영어(미국)이고, CP1은 코드 페이지 1252이며, CI는 대/소문자 비구분이고, AS는 악센트 구분입니다.

Azure Portal을 사용하여 서버, 데이터베이스 및 방화벽 관리

서버에 대한 리소스 그룹을 미리 만들거나 서버 자체를 만드는 동안 만들 수 있습니다. 새 SQL Server를 만들거나 새 데이터베이스 만들기의 일부분으로 새 SQL Server 양식을 가져오는 여러 방법이 있습니다.

빈 서버 만들기

Azure Portal을 사용하여 (데이터베이스, 탄력적 풀 또는 데이터 웨어하우스 데이터베이스 없이) 서버를 만들려면 비어 있는 SQL 서버(논리 SQL 서버) 양식으로 이동합니다.

Azure SQL Database에서 빈 데이터베이스 또는 샘플 데이터베이스 만들기

Azure Portal을 사용하여 SQL Database에서 데이터베이스를 만들려면 비어 있는 SQL Database 양식으로 이동하고 요청된 정보를 제공합니다. 리소스 그룹 및 서버를 미리 만들거나 데이터베이스 자체를 만드는 동안 만들 수 있습니다. 비어 있는 데이터베이스를 만들거나 Adventure Works LT에 따라 샘플 데이터베이스를 만들 수 있습니다.

create database-1

중요

데이터베이스의 가격 책정 계층 선택에 대한 자세한 내용은 DTU 기반 구매 모델vCore 기반 구매 모델을 참조하세요.

관리되는 인스턴스를 만들려면 관리되는 인스턴스 만들기를 참조하세요.

기존 서버 관리

기존 서버를 관리하려면 특정 데이터베이스 페이지, SQL 서버 페이지 또는 모든 리소스 페이지와 같은 다양한 방법을 사용하여 서버로 이동합니다.

기존 데이터베이스를 관리하려면 SQL Database 페이지로 이동하고 관리하려는 데이터베이스를 클릭합니다. 다음 스크린샷에서는 데이터베이스의 개요 페이지에서 데이터베이스의 서버 수준 방화벽을 설정하기 시작하는 방법을 보여줍니다.

server firewall rule

중요

데이터베이스의 성능 속성을 구성하려면 DTU 기반 구매 모델vCore 기반 구매 모델을 참조하세요.

Azure Portal 빠른 시작은 Azure Portal의 SQL Database에서 데이터베이스 만들기를 참조하세요.

PowerShell을 사용하여 서버, 데이터베이스 및 방화벽 관리

참고

이 문서에서는 Azure와 상호 작용하는 데 권장되는 PowerShell 모듈인 Azure Az PowerShell 모듈을 사용합니다. Az PowerShell 모듈을 시작하려면 Azure PowerShell 설치를 참조하세요. Az PowerShell 모듈로 마이그레이션하는 방법에 대한 자세한 내용은 Azure PowerShell을 AzureRM에서 Azure로 마이그레이션을 참조하세요.

중요

PowerShell Azure Resource Manager 모듈은 여전히 지원되지만 향후 모든 개발은 Az.Sql 모듈에 집중됩니다. 이러한 cmdlet은 AzureRM.Sql을 참조하세요. Az 모듈 및 AzureRm 모듈의 명령에 대한 인수는 실질적으로 동일합니다.

Azure PowerShell을 사용하여 서버, 데이터베이스 및 방화벽을 만들고 관리하려면 다음 PowerShell cmdlet을 사용합니다. PowerShell을 설치하거나 업그레이드해야 하는 경우 Azure PowerShell 모듈 설치를 참조하세요. 탄력적 풀 만들기 및 관리에 대해서는 탄력적 풀을 참조하세요.

Cmdlet Description
New-AzSqlDatabase 데이터베이스 만들기
Get-AzSqlDatabase 하나 이상의 데이터베이스 가져오기
Set-AzSqlDatabase 데이터베이스의 속성 설정 또는 기존 데이터베이스를 탄력적 풀로 이동
Remove-AzSqlDatabase 데이터베이스 제거
New-AzResourceGroup 리소스 그룹 만들기
New-AzSqlServer 서버 만들기
Get-AzSqlServer 서버에 대한 정보 반환
Set-AzSqlServer 서버의 속성 수정
Remove-AzSqlServer 서버 제거
New-AzSqlServerFirewallRule 서버 수준 방화벽 규칙 만들기
Get-AzSqlServerFirewallRule 서버의 방화벽 규칙 가져오기
Set-AzSqlServerFirewallRule 서버에서 방화벽 규칙 수정
Remove-AzSqlServerFirewallRule 서버에서 방화벽 규칙 삭제
New-AzSqlServerVirtualNetworkRule Virtual Network 서비스 엔드포인트인 서브넷을 기반으로 가상 네트워크 규칙을 만듭니다.

Azure CLI를 사용하여 서버, 데이터베이스 및 방화벽 관리

Azure CLI를 사용하여 서버, 데이터베이스 및 방화벽을 만들고 관리하려면 다음 Azure CLI SQL Database 명령을 사용합니다. Cloud Shell을 사용하여 CLI 브라우저에서 실행하거나 macOS, Linux 또는 Windows에서 설치합니다. 탄력적 풀 만들기 및 관리에 대해서는 탄력적 풀을 참조하세요.

Cmdlet Description
az sql db create 데이터베이스 만들기
az sql db list 서버에서 관리하는 모든 데이터베이스 또는 탄력적 풀의 모든 데이터베이스 나열
az sql db list-editions 사용 가능한 서비스 목표 및 스토리지 용량 제한 나열
az sql db list-usages 데이터베이스 사용 정보 반환
az sql db show 데이터베이스 가져오기
az sql db update 데이터베이스 업데이트
az sql db delete 데이터베이스 제거
az group create 리소스 그룹 만들기
az sql server create 서버 만들기
az sql server list 서버 나열
az sql server list-usages 서버 사용 반환
az sql server show 서버 가져오기
az sql server update 서버 업데이트
az sql server delete 서버를 삭제합니다.
az sql server firewall-rule create 서버 방화벽 규칙 만들기
az sql server firewall-rule list 서버의 방화벽 규칙 나열
az sql server firewall-rule show 방화벽 규칙의 세부 정보 표시
az sql server firewall-rule update 방화벽 규칙 업데이트
az sql server firewall-rule delete 방화벽 규칙 삭제

Transact-SQL을 사용하여 서버, 데이터베이스 및 방화벽 관리

Transact-SQL을 사용하여 서버, 데이터베이스 및 방화벽을 만들고 관리하려면 다음 T-SQL cmdlet을 사용합니다. Azure Portal, SQL Server Management Studio, Visual Studio Code 또는 서버에 연결하여 Transact-SQL 명령을 전달할 수 있는 다른 프로그램을 사용하여 이러한 명령을 실행할 수 있습니다. 탄력적 풀 관리에 대해서는 탄력적 풀을 참조하세요.

중요

Transact-SQL을 사용하여 서버를 만들거나 삭제할 수 없습니다.

명령 Description
CREATE DATABASE(Azure SQL Database) Azure SQL Database에서 새로운 데이터베이스를 만듭니다. 새 데이터베이스를 만들려면 master 데이터베이스에 연결해야 합니다.
CREATE DATABASE(Azure Synapse) Azure Synapse에서 새 데이터 웨어하우스 데이터베이스를 만듭니다. 새 데이터베이스를 만들려면 master 데이터베이스에 연결해야 합니다.
ALTER DATABASE(Azure SQL Database) 데이터베이스 또는 탄력적 풀을 수정합니다.
ALTER DATABASE(Azure Synapse Analytics) Azure Synapse에서 데이터 웨어하우스 데이터베이스를 수정합니다.
DROP DATABASE(Transact-SQL) 데이터베이스를 삭제합니다.
sys.database_service_objectives(Azure SQL Database) 데이터베이스에 대해(있는 경우) 버전(서비스 계층), 서비스 목표(가격 책정 계층) 및 탄력적 풀 이름을 반환합니다. 서버의 마스터 데이터베이스에 로그인하면 모든 데이터베이스에 대한 정보를 반환합니다. Azure Synapse의 경우 마스터 데이터베이스에 연결해야 합니다.
sys.dm_db_resource_stats(Azure SQL 데이터베이스) Azure SQL Database의 데이터베이스에 대한 CPU, IO 및 메모리 소비량을 반환합니다. 데이터베이스에서 활동이 없더라도 15초 간격으로 한 행이 있습니다.
sys.resource_stats(Azure SQL Database) Azure SQL Database의 데이터베이스에 대한 CPU 사용량 및 스토리지 데이터를 반환합니다. 데이터는 5분 간격 이내로 수집 및 집계됩니다.
sys.database_connection_stats(Azure SQL Database) Azure SQL Database의 데이터베이스 연결 이벤트에 대한 통계를 포함하며 데이터베이스 연결 성공 및 실패에 대한 개요를 제공합니다.
sys.event_log(Azure SQL Database) Azure SQL Database에 대한 성공적인 데이터베이스 연결 및 연결 실패를 반환합니다. 이 정보를 사용하여 데이터베이스 활동을 추적하거나 문제를 해결할 수 있습니다.
sp_set_firewall_rule(Azure SQL Database) 서버에 대한 서버 수준 방화벽 설정을 만들거나 업데이트합니다. 이 저장 프로시저는 master 데이터베이스에서 서버 수준 보안 주체 로그인에 대해서만 사용할 수 있습니다. Azure 수준 사용 권한 가진 사용자가 첫 번째 서버 수준 방화벽 규칙을 만든 후에만 Transact-SQL을 사용하여 서버 수준 방화벽 규칙을 다시 만들 수 있습니다.
sys.firewall_rules(Azure SQL Database) 서버와 연결된 서버 수준 방화벽 설정에 대한 정보를 반환합니다.
sp_delete_firewall_rule(Azure SQL Database) 서버에서 서버 수준 방화벽 설정을 제거합니다. 이 저장 프로시저는 master 데이터베이스에서 서버 수준 보안 주체 로그인에 대해서만 사용할 수 있습니다.
sp_set_database_firewall_rule(Azure SQL Database) Azure SQL Database의 데이터베이스에 대한 데이터베이스 수준 방화벽 규칙을 만들거나 업데이트합니다. 마스터 데이터베이스와 SQL Database의 사용자 데이터베이스에 대해 데이터베이스 방화벽 규칙을 구성할 수 있습니다. 데이터베이스 방화벽 규칙은 포함된 데이터베이스 사용자를 사용하는 경우에 유용합니다. Azure Synapse에서는 데이터베이스 방화벽 규칙이 지원되지 않습니다.
sys.database_firewall_rules(Azure SQL Database) Azure SQL Database의 데이터베이스에 대한 데이터베이스 수준 방화벽 설정에 대한 정보를 반환합니다.
sp_delete_database_firewall_rule(Azure SQL Database) Azure SQL Database에서 자신의 데이터베이스에 대한 데이터베이스 수준 방화벽 설정을 제거합니다.

Microsoft Windows에서 SQL Server Management Studio를 사용하는 빠른 시작은 Azure SQL Database: SQL Server Management Studio를 사용하여 데이터에 연결 및 쿼리를 참조하세요. Windows, Linux 또는 macOS에서 Visual Studio Code를 사용하는 빠른 시작은 Azure SQL Database: Visual Studio Code를 사용하여 연결 및 데이터 쿼리를 참조하세요.

REST API를 사용하여 서버, 데이터베이스 및 방화벽 관리

서버, 데이터베이스 및 방화벽을 만들고 관리하려면 다음 REST API 요청을 사용합니다.

명령 Description
서버 - Create 또는 Update 새 서버를 만들거나 업데이트합니다.
Servers - Delete 서버를 삭제합니다.
Servers - Get 서버를 가져옵니다.
Servers - List 서버 목록을 반환합니다.
서버 - List by resource group 리소스 그룹의 서버 목록을 반환합니다.
Servers - Update 기존 서버를 업데이트합니다.
데이터베이스 - Create 또는 Update 새 데이터베이스를 만들거나 기존 데이터베이스를 업데이트합니다.
Databases - Delete 데이터베이스를 삭제합니다.
데이터베이스 - Get 데이터베이스를 가져옵니다.
데이터베이스 - List by elastic pool 탄력적 풀에서 데이터베이스의 목록을 반환합니다.
데이터베이스 - List by server 서버의 데이터베이스의 목록을 반환합니다.
데이터베이스 - Update 기존 데이터베이스를 업데이트합니다.
방화벽 규칙 - Create 또는 Update 방화벽 규칙을 만들거나 업데이트합니다.
방화벽 규칙 - Delete 방화벽 규칙을 삭제합니다.
방화벽 규칙 - Get 방화벽 규칙을 가져옵니다.
방화벽 규칙 - List by server 방화벽 규칙 목록을 반환합니다.

다음 단계

  • SQL Server 데이터베이스를 Azure SQL Database로 마이그레이션하는 방법에 대한 자세한 내용은 Azure SQL Database로 마이그레이션을 참조하세요.
    • 지원되는 기능에 대한 자세한 내용은 기능을 참조하세요.