Azure에 대한 SQL Server 관리 백업 사용 설정
적용 대상: SQL Server
이 항목에서는 데이터베이스 및 인스턴스 수준 모두에서 기본 설정으로 Microsoft Azure에 SQL Server 관리 백업을 사용하도록 설정하는 방법에 대해 설명합니다. 또한 메일 알림을 사용으로 설정하는 방법과 백업 활동을 모니터링하는 방법에 대해서도 설명합니다.
이 자습서에서는 Azure PowerShell을 사용합니다. 자습서를 시작하기 전에 Azure PowerShell을 다운로드 및 설치하십시오.
Important
고급 옵션을 사용하거나 사용자 지정 일정을 사용하려면 먼저 해당 설정을 구성한 후 Microsoft Azure에 대한 SQL Server 관리 백업을 사용하도록 설정합니다. 자세한 내용은 Microsoft Azure에 대한 SQL Server 관리 백업에 대한 고급 옵션 구성을 참조하세요.
Azure Blob Storage 컨테이너 만들기
이 프로세스에는 Azure 계정이 필요합니다. 계정이 이미 있는 경우 다음 단계로 이동합니다. 그렇지 않을 경우 무료 평가판 으로 시작한 후에 구매 옵션을 살펴볼 수 있습니다.
스토리지 계정에 대한 자세한 내용은 Azure Storage 계정 정보를 참조하세요.
Azure 계정에 로그인합니다.
az login
Azure 스토리지 계정을 만듭니다. 스토리지 계정이 이미 있는 경우 다음 단계로 이동합니다. 다음 명령은 이름이
<backupStorage>
인 스토리지 계정을 미국 동부 하위 지역에 만듭니다.az storage account create -n <backupStorage> -l "eastus" --resource-group <resourceGroup>
백업 파일에 대해 이름이
<backupContainer>
인 미확인 개체 컨테이너를 만듭니다.$keys = az storage account keys list --account-name <backupStorage> --resource-group <resourceGroup> | ConvertFrom-Json az storage container create --name <backupContainer> --account-name <backupStorage> --account-key $keys[0].value
컨테이너에 액세스하기 위한 공유 액세스 서명(SAS)을 생성합니다. 다음 명령은 1년 후에 만료되는
<backupContainer>
미확인 개체 컨테이너에 대한 SAS 토큰을 생성합니다.az storage container generate-sas --name <backupContainer> --account-name <backupStorage> --account-key $keys[0].value
참고 항목
이러한 단계는 Azure Portal을 사용하여 수행할 수도 있습니다.
출력에는 컨테이너 및/또는 SAS 토큰에 대한 URL이 포함됩니다. 다음은 이에 대한 예입니다.
https://managedbackupstorage.blob.core.windows.net/backupcontainer?sv=2014-02-14&sr=c&sig=xM2LXVo1Erqp7LxQ%9BxqK9QC6%5Qabcd%9LKjHGnnmQWEsDf%5Q%se=2015-05-14T14%3B93%4V20X&sp=rwdl
URL이 포함된 경우 물음표 위치에서 SAS 토큰과 URL을 분리합니다(물음표는 포함하지 않음). 예를 들어 위의 출력은 다음과 같은 두 값이 됩니다.
Type | 출력 |
---|---|
컨테이너 URL | https://managedbackupstorage.blob.core.windows.net/backupcontainer |
SAS 토큰 | sv=2014-02-14&sr=c&sig=xM2LXVo1Erqp7LxQ%9BxqK9QC6%5Qabcd%9LKjHGnnmQWEsDf%5Q%se=2015-05-14T14%3B93%4V20X&sp=rwdl |
SQL 자격 증명을 만드는 데 사용할 컨테이너 URL과 SAS를 기록합니다. SAS에 대한 자세한 내용은 공유 액세스 서명, 1부: SAS 모델 이해를 참조하세요.
Azure에 대한 관리 백업 사용
SAS URL에 대한 SQL 자격 증명 만들기: SAS 토큰을 사용하여 미확인 개체 컨테이너 URL에 대한 SQL 자격 증명을 생성합니다. SQL Server Management Studio에서 다음 Transact-SQL 쿼리를 사용하여 다음 예시에 따라 미확인 개체 컨테이너 URL에 대한 자격 증명을 만듭니다.
CREATE CREDENTIAL [https://managedbackupstorage.blob.core.windows.net/backupcontainer] WITH IDENTITY = 'Shared Access Signature', SECRET = 'sv=2014-02-14&sr=c&sig=xM2LXVo1Erqp7LxQ%9BxqK9QC6%5Qabcd%9LKjHGnnmQWEsDf%5Q%se=2015-05-14T14%3B93%4V20X&sp=rwdl'
SQL Server 에이전트 서비스가 시작 및 실행 중인지 확인: 현재 실행 중인 아니면 SQL Server 에이전트 시작합니다. Microsoft Azure에 대한 SQL Server 관리 백업을 위해서는 백업 작업을 수행하기 위해 인스턴스에서 SQL Server 에이전트가 실행 중이어야 합니다. SQL Server 에이전트가 자동으로 실행되도록 설정하여 백업 작업이 정기적으로 수행되도록 할 수 있습니다.
보존 기간 결정: 백업 파일의 보존 기간을 결정합니다. 보존 기간은 일 단위로 지정되며 범위는 1에서 90까지입니다.
Microsoft Azure에 대한 SQL Server 관리 백업 사용 설정 및 구성: SQL Server Management Studio를 시작하고 대상 SQL Server 인스턴스에 연결합니다. 요구 사항에 따라 데이터베이스 이름, 컨테이너 URL 및 보존 기간에 대한 값을 수정한 후 쿼리 창에서 다음 문을 실행합니다.
Important
인스턴스 수준에서 관리 백업을 사용하려면
NULL
매개 변수에database_name
을 지정합니다.USE msdb; GO EXEC msdb.managed_backup.sp_backup_config_basic @enable_backup = 1, @database_name = 'yourdatabasename', @container_url = 'https://managedbackupstorage.blob.core.windows.net/backupcontainer', @retention_days = 30 GO
이제 지정한 데이터베이스에서 Microsoft Azure에 대한 SQL Server 관리 백업을 사용할 수 있습니다. 데이터베이스의 백업 작업의 실행을 위해서는 최대 15분이 걸릴 수 있습니다.
확장 이벤트 기본 구성 검토: 다음 Transact-SQL 문을 실행하여 확장 이벤트 설정을 검토합니다.
SELECT * FROM msdb.managed_backup.fn_get_current_xevent_settings()
관리, 운영 및 분석 채널 이벤트는 기본적으로 사용으로 설정되어 있으며 사용 안 함으로 설정할 수 없습니다. 이는 수동 개입이 필요한 이벤트를 모니터링하기에 충분합니다. 디버그 이벤트를 사용하도록 설정할 수 있지만 디버그 채널에는 Microsoft Azure에 대한 SQL Server 관리 백업에서 문제를 감지하고 해결하는 데 사용하는 정보 및 디버그 이벤트가 포함되어 있습니다.
상태 알림 사용 설정 및 구성: Microsoft Azure에 대한 SQL Server 관리 백업에는 주의가 필요할 수 있는 오류나 경고에 대한 전자 메일 알림을 보내는 에이전트 작업을 생성하는 저장 프로시저가 있습니다. 다음 단계에서는 전자 메일 알림을 사용하도록 설정하고 구성하는 프로세스를 설명합니다.
인스턴스에서 아직 사용하도록 설정되지 않은 경우 데이터베이스 메일을 설치합니다. 자세한 내용은 데이터베이스 메일 구성을 참조하세요.
데이터베이스 메일을 사용하도록 SQL Server 에이전트 알림을 구성합니다. 자세한 내용은 데이터베이스 메일을 사용하도록 SQL Server 에이전트 메일 구성을 참조하세요.
백업 오류 및 경고 수신을 위한 전자 메일 알림 사용 설정: 쿼리 창에서 다음 Transact-SQL 문을 실행합니다.
EXEC msdb.managed_backup.sp_set_parameter @parameter_name = 'SSMBackup2WANotificationEmailIds', @parameter_value = '<email1;email2>'
Azure Storage 계정에서 백업 파일 보기: SQL Server Management Studio 또는 Azure Portal에서 스토리지 계정에 연결합니다. 지정한 컨테이너에 백업 파일이 표시됩니다. 데이터베이스에 대해 Microsoft Azure에 SQL Server 관리 백업을 사용하도록 설정한 후 5분 이내에 데이터베이스 및 로그 백업이 표시될 수 있습니다.
상태 모니터링: 이전에 구성한 전자 메일 알림을 통해 모니터링하거나 기록된 이벤트를 능동적으로 모니터링할 수 있습니다. 다음은 이벤트를 표시하는 데 사용하는 Transact-SQL 문 예시입니다.
-- view all admin events USE msdb; GO DECLARE @startofweek datetime DECLARE @endofweek datetime SET @startofweek = DATEADD(Day, 1-DATEPART(WEEKDAY, CURRENT_TIMESTAMP), CURRENT_TIMESTAMP) SET @endofweek = DATEADD(Day, 7-DATEPART(WEEKDAY, CURRENT_TIMESTAMP), CURRENT_TIMESTAMP) DECLARE @eventresult TABLE (event_type nvarchar(512), event nvarchar (512), timestamp datetime ) INSERT INTO @eventresult EXEC managed_backup.sp_get_backup_diagnostics @begin_time = @startofweek, @end_time = @endofweek SELECT * from @eventresult WHERE event_type LIKE '%admin%'
-- to enable debug events USE msdb; GO EXEC managed_backup.sp_set_parameter 'FileRetentionDebugXevent', 'True'
-- View all events in the current week USE msdb; GO DECLARE @startofweek datetime DECLARE @endofweek datetime SET @startofweek = DATEADD(Day, 1-DATEPART(WEEKDAY, CURRENT_TIMESTAMP), CURRENT_TIMESTAMP) SET @endofweek = DATEADD(Day, 7-DATEPART(WEEKDAY, CURRENT_TIMESTAMP), CURRENT_TIMESTAMP) EXEC managed_backup.sp_get_backup_diagnostics @begin_time = @startofweek, @end_time = @endofweek;
이 섹션에서 설명되는 단계는 특히 데이터베이스에서 처음으로 Microsoft Azure에 SQL Server 관리 백업을 구성하기 위한 것입니다. 동일한 시스템 저장 프로시저를 사용하여 기존 구성을 수정하고 새 값을 제공할 수 있습니다.