Dela via


Aktivera sql server-hanterad säkerhetskopiering till Azure

gäller för:SQL Server

Det här avsnittet beskriver hur du aktiverar SQL Server-hanterad säkerhetskopiering till Microsoft Azure med standardinställningar på både databas- och instansnivå. Den beskriver också hur du aktiverar e-postaviseringar och hur du övervakar säkerhetskopieringsaktivitet.

I den här självstudien används Azure PowerShell. Innan du påbörjar självstudien ladda ned och installera Azure PowerShell.

Viktig

Om du också vill aktivera avancerade alternativ eller använda ett anpassat schema konfigurerar du inställningarna först innan du aktiverar SQL Server-hanterad säkerhetskopiering till Microsoft Azure. Mer information finns i Konfigurera avancerade alternativ för SQL Server-hanterad säkerhetskopiering till Microsoft Azure.

Skapa Azure Blob Storage-containern

Processen kräver ett Azure-konto. Om du redan har ett konto går du till nästa steg. Annars kan du komma igång med en kostnadsfri utvärderingsversion eller utforska köpalternativ.

Mer information om lagringskonton finns i Om Azure Storage-konton.

  1. Logga in på ditt Azure-konto.

    az login
    
  2. Skapa ett Azure Storage-konto. Om du redan har ett lagringskonto går du till nästa steg. Följande kommando skapar ett lagringskonto med namnet <backupStorage> i regionen USA, östra.

    az storage account create -n <backupStorage> -l "eastus" --resource-group <resourceGroup>
    
  3. Skapa en blobcontainer med namnet <backupContainer> för säkerhetskopieringsfilerna.

    $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 
    
  4. Generera en signatur för delad åtkomst (SAS) för åtkomst till containern. Följande kommando skapar en SAS-token för <backupContainer> blobcontainer som upphör att gälla om ett år.

    az storage container generate-sas --name <backupContainer> --account-name <backupStorage> --account-key $keys[0].value
    

Not

De här stegen kan också utföras med hjälp av Azure-portalen.

Utdata innehåller antingen URL:en till containern och/eller SAS-token. Följande är ett exempel:

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

Om URL:en inkluderas separerar du den från SAS-tokenet vid frågetecknet (inkludera inte frågetecknet). Till exempel skulle föregående utdata resultera i följande två värden.

Typ Utdata
container-URL https://managedbackupstorage.blob.core.windows.net/backupcontainer
SAS-token sv=2014-02-14&sr=c&sig=xM2LXVo1Erqp7LxQ%9BxqK9QC6%5Qabcd%9LKjHGnnmQWEsDf%5Q%se=2015-05-14T14%3B93%4V20X&sp=rwdl

Registrera containerns URL och SAS för användning när du skapar en SQL CREDENTIAL. Mer information om SAS finns i signaturer för delad åtkomst, del 1: Förstå SAS-modellen.

Aktivera hanterad säkerhetskopiering till Azure

  1. Skapa en SQL-autentiseringsuppgift för SAS-URL:en: Använd SAS-token för att skapa en SQL-autentiseringsuppgift för blobcontainerns URL. I SQL Server Management Studio använder du följande Transact-SQL fråga för att skapa autentiseringsuppgifterna för blobcontainerns URL baserat på följande exempel:

    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'  
    
  2. Se till att SQL Server Agent-tjänsten är startad och körs: Starta SQL Server-agenten om den inte körs för närvarande. SQL Server-hanterad säkerhetskopiering till Microsoft Azure kräver att SQL Server-agenten körs på instansen för att utföra säkerhetskopieringsåtgärder. Du kanske vill ange att SQL Server-agenten ska köras automatiskt för att se till att säkerhetskopieringsåtgärder kan utföras regelbundet.

  3. Fastställa kvarhållningsperioden: Fastställa kvarhållningsperioden för säkerhetskopieringsfilerna. Kvarhållningsperioden anges i dagar och kan variera från 1 till 90.

  4. Aktivera och konfigurera SQL Server-hanterad säkerhetskopiering till Microsoft Azure: Starta SQL Server Management Studio och ansluta till SQL Server-målinstansen. I frågefönstret kör du följande instruktion när du har modifierat värdena för databasnamnet, container-URL:en och kvarhållningsperioden enligt dina krav:

    Viktig

    Om du vill aktivera hanterad säkerhetskopiering på instansnivå anger du NULL för parametern 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  
    

    SQL Server-hanterad säkerhetskopiering till Microsoft Azure är nu aktiverad på den databas som du angav. Det kan ta upp till 15 minuter innan säkerhetskopieringsåtgärderna på databasen börjar köras.

  5. Granska standardkonfigurationen för utökad händelse: Granska inställningarna för utökad händelse genom att köra följande Transact-SQL-instruktion.

    SELECT * FROM msdb.managed_backup.fn_get_current_xevent_settings()  
    

    Du bör se att admin-, drift- och analyskanalhändelser är aktiverade som standard och inte kan inaktiveras. Detta bör vara tillräckligt för att övervaka de händelser som kräver manuella åtgärder. Du kan aktivera felsökningshändelser, men felsökningskanalerna innehåller informations- och felsökningshändelser som SQL Server-hanterad säkerhetskopiering till Microsoft Azure använder för att identifiera problem och lösa dem.

  6. Aktivera och konfigurera avisering för hälsostatus: SQL Servers hanterade säkerhetskopiering till Microsoft Azure har en lagrad procedur som skapar ett agentjobb för att skicka ut e-postmeddelanden om fel eller varningar som kan kräva uppmärksamhet. Följande steg beskriver processen för att aktivera och konfigurera e-postmeddelanden:

    1. Konfigurera Database Mail om det inte redan är aktiverat på instansen. För mer information, se Konfigurera databaspost.

    2. Konfigurera SQL Server Agent Notification för att använda Database Mail. Mer information finns i Konfigurera SQL Server Agent Mail för att använda Database Mail.

    3. Aktivera e-postmeddelanden för att ta emot säkerhetskopieringsfel och varningar: Kör följande Transact-SQL instruktioner från frågefönstret:

      EXEC msdb.managed_backup.sp_set_parameter  
      @parameter_name = 'SSMBackup2WANotificationEmailIds',  
      @parameter_value = '<email1;email2>'  
      
  7. Visa säkerhetskopieringsfiler i Azure Storage-kontot: Anslut till lagringskontot från SQL Server Management Studio eller Azure-portalen. Du ser alla säkerhetskopior i containern som du har angett. Observera att du kan se en databas och en loggsäkerhetskopia inom 5 minuter efter aktivering av SQL Server-hanterad säkerhetskopiering till Microsoft Azure för databasen.

  8. Övervaka hälsostatus: Du kan övervaka via e-postmeddelanden som du konfigurerade tidigare eller aktivt övervaka de händelser som loggats. Följande är några exempel Transact-SQL -instruktioner som används för att visa händelserna:

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

Stegen som beskrivs i det här avsnittet är specifikt avsedda för att konfigurera SQL Server-hanterad säkerhetskopiering på Microsoft Azure för första gången på databasen. Du kan ändra befintliga konfigurationer med samma system lagrade procedurer och ange de nya värdena.

Se även

Hanterad säkerhetskopiering för SQL Server till Azure