Ako naplánovať a automatizáciu zálohy SQL Server databáz v SQL Server Express

Preklady článku Preklady článku
ID článku: 2019698
Rozbaliť všetko | Zbaliť všetko

SUHRN

SQL Server Express Edition neposkytujú možnosť naplánovať pracovných miest alebo plány údržby komponentu SQL Server Agent nie je zahrnuté v týchto vydaniach. Preto musíte brať odlišný prístup k zálohovať databázami pri použití týchto vydaní.   

SQL Server Express užívateľov v súčasnosti môžete zálohovať svoje databázy pomocou jednej z nasledujúcich metód:

Použiť SQL Server Management Studio Express. To je nainštalovaný spolu s SQL Server Express rozšírené služby alebo SQL Server Express Toolkit. Ďalšie informácie, navštívte webovú lokalitu nasledujúce Microsoft Developer Network (MSDN):

Vytvoriť Úplné zálohovanie databázy (SQL Server)

  • Použiť Transact-SQL skript, ktorý používa ZÁLOHOVAŤ DATABÁZU rodiny príkazov. Ďalšie informácie nájdete na internetovej lokalite MSDN:

    Zálohovanie (Transact-SQL)

    Tento článok popisuje spôsob použitia skriptu Transact-SQL spolu s Windows Plánovač na automatizáciu zálohovanie databázy SQL Server Express na pravidelnej báze.

  • DALSIE INFORMACIE

    Máte sledovať tieto tri kroky na zálohovanie databáz SQL Server pomocou Windows Plánovač:

    Krok A: použitie SQL Server Management Studio Express alebo Sqlcmd vytvoriť nasledujúce uloženej procedúry v databáze predlohy:

    / / Copyright © Microsoft Corporation.  Všetky práva vyhradené.

    / / Tohto kódexu uvoľnené za podmienok

    / / Microsoft Public License (MS-PL, http://opensource.org/licenses/ms-pl.html.)

    Použitie [kapitán]
    GO 
    / Brachyrhynchus ++++ objekt: StoredProcedure [dbo].[sp_BackupDatabases] brachyrhynchus ++++ /
    SET ANSI_NULLS ON
    ÍSŤ
    SET QUOTED_IDENTIFIER ON
    ÍSŤ
    --=============================================
    --autora: Microsoft
    --Dátum vytvorenia: 2010-02-06
    --Popis: zálohovania databázy pre SQLExpress
    --Parameter1: databaseName
    --Parameter2: backupType F = full, D = diferenciál, L = denníka
    --Parameter3: umiestnenie súboru zálohy
    --=============================================
    vytvoriť postup [dbo]. [sp_BackupDatabases]
    @ databaseName bude sysname = null,
    @ backupType CHAR(1),
    @ backupLocation nvarchar(200)
    ako
    SET na NOCOUNT; 
               
                DECLARE @DBs TABLE
                (
                      ID int IDENTITY PRIMARY KEY,
                      DBNAME nvarchar(500)
                )
               
                 -- Pick out only databases which are online in case ALL databases are chosen to be backed up
                 -- If specific database is chosen to be backed up only pick that out from @DBs
                INSERT INTO @DBs (DBNAME)
                SELECT Name FROM master.sys.databases
                where state=0
                AND name=@DatabaseName
                OR @DatabaseName IS NULL
                ORDER BY Name
               
                -- Filter out databases which do not need to backed up
                IF @backupType='F'
                      BEGIN
                      Odstrániť @ DBs kde DBNAME V ("tempdb", "Northwind", "krčmy", "AdventureWorks")
    koniec
    ELSE IF @ backupType = mal "
    začať
    DELETE @ DBs kde DBNAME V ("tempdb","Northwind","krčmy","majster","AdventureWorks")
    koniec
    ELSE IF @ backupType ="L"
    začať
    DELETE @ DBs kde DBNAME V ("tempdb","Northwind","krčmy","majster","AdventureWorks")
    koniec
    ELSE
    začať
    vrátiť
    koniec
    --deklarovať premenné
    DECLARE @ BackupName varchar(100)
    DECLARE @ BackupFile varchar(100)
    VYHLÁSIŤ @ DBNAME varchar(300)
    DECLARE @ sqlCommand NVARCHAR(1000)
    DECLARE @ dateTime NVARCHAR(20)
    DECLARE @ slučky int
    --slučky prostredníctvom databázy po jednom
    vyberte @ Loop = min(ID) od @ DBs
    chvíli @ slučky IS NOT NULL
    začať
    --databáza názvy musia byť vo formáte [dbname], pretože niektoré z nich - alebo — v ich názov
          Nastaviť @ DBNAME = "[" +(SELECT DBNAME FROM @DBs WHERE ID = @Loop) +"]"
    --nastaviť aktuálny dátum a čas n yyyyhhmmss formát
    SET @ dateTime = NAHRADIŤ (KONVERTOVAŤ (VARCHAR, GETDATE(),101),'/','') + _"+ NAHRADIŤ (KONVERTOVAŤ (VARCHAR, GETDATE(),108),':','')
    --vytvoriť zálohovania súboru vo formáte path\filename.extension pre plný, diff a log zálohovanie
    ak @ backupType ="F"
    SET @ BackupFile = @ backupLocation + NAHRADIŤ (NAHRADIŤ (@ DBNAME," [","), "]", ")"_FULL_"+ @ dateTime +".BAK "
    ELSE IF @ backupType = mal"
    SET @ BackupFile = @ backupLocation + NAHRADIŤ (NAHRADIŤ (@ DBNAME, "[", "),"] ",") "_DIFF_" + @ dateTime + ".BAK "
    ELSE IF @ backupType ="L"
    SET @ BackupFile = @ backupLocation + NAHRADIŤ (NAHRADIŤ (@ DBNAME," [","), "]", ")"_LOG_"+ @ dateTime +".TRN'
     
    -- Provide the backup a name for storing in the media
          IF @backupType = 'F'
                SET @BackupName = REPLACE(REPLACE(@DBNAME,'[',''),']','') +' full backup for '+ @dateTime
          IF @backupType = 'D'
                SET @BackupName = REPLACE(REPLACE(@DBNAME,'[',''),']','') +' differential backup for '+ @dateTime
          IF @backupType = 'L'
                SET @BackupName = REPLACE(REPLACE(@DBNAME,'[',''),']','') +' log backup for '+ @dateTime
     
    -- Generate the dynamic SQL command to be executed
     
           IF @backupType = 'F' 
                      BEGIN
                   SET @sqlCommand = 'BACKUP DATABASE ' +@DBNAME+  ' TO DISK = '''+@BackupFile+ ''' WITH INIT, NAME= ''' +@BackupName+''', NOSKIP, NOFORMAT'
                      END
           IF @backupType = 'D'
                      BEGIN
                   SET @sqlCommand = 'BACKUP DATABASE ' +@DBNAME+  ' TO DISK = '''+@BackupFile+ ''' WITH DIFFERENTIAL, INIT, NAME= ''' +@BackupName+''', NOSKIP, NOFORMAT'        
                      END
           IF @backupType = 'L' 
                      BEGIN
                   SET @sqlCommand = 'BACKUP LOG ' +@DBNAME+  ' TO DISK = '''+@BackupFile+ ''' WITH INIT, NAME= ''' +@BackupName+''', NOSKIP, NOFORMAT'        
                      END
     
    -- Execute the generated SQL command
           EXEC(@sqlCommand)
     
    -- Goto the next database
    SELECT @Loop = min(ID) FROM @DBs where Identifikácia > @ Loop

    Krok B: V textovom editore, vytvoriť dávkový súbor s názvom Sqlbackup.bat a potom skopírujte text z jedného z nasledovných príkladov do súboru, v závislosti na vašej situácii:

    Example1:Úplné zálohovanie všetkých databáz v miestnych pomenovanú inštanciu SQLEXPRESS pomocou overovania systémom Windows

    / / Sqlbackup.bat

    sqlcmd -S. \EXPRESS ktoré -Q "EXEC sp_BackupDatabases @ backupLocation = mal: \SQLBackups\", @ backupType = "F"" 

    Example2: rozdielové zálohovanie všetkých databáz v miestnych pomenovanú inštanciu SQLEXPRESS pomocou SQLLogin a jeho heslo

    / / Sqlbackup.bat

    Sqlcmd - U SQLLogin -P heslo -S. \SQLEXPRESS -Q "EXEC sp_BackupDatabases @ backupLocation ="D:\SQLBackups", @ BackupType = mal „"

    Poznámka: The SQLLogin shouldhave na najmenej zálohovanie prevádzkovateľ úlohu v SQL Server.


    Príklad 3:Denník zálohovanie všetkých databáz v miestnych pomenovanú inštanciu SQLEXPRESS pomocou overovania systémom Windows

    / / Sqlbackup.bat

    Sqlcmd -S. \SQLEXPRESS -E -Q "EXEC sp_BackupDatabases @ backupLocation='D:\SQLBackups\',@backupType='L" "

    Príklad 4:Úplné zálohovanie databázy USERDB v miestnych pomenovanú inštanciu SQLEXPRESS pomocou overovania systémom Windows

    / / Sqlbackup.bat

    Sqlcmd -S. \SQLEXPRESS -E -Q "EXEC sp_BackupDatabases @ backupLocation = mal: \SQLBackups\" @ databaseName = "USERDB", @ backupType = "F" "

    Podobne môžete rozdiel zálohu USERDB prilepením v by " @ backupType parameter a denníka zálohu USERDB že do nej prilepíte"L"pre parameter @ backupType .

    Krok C:Harmonogram a úlohu pomocou plánovača úloh Windows spúšťať dávkový súbor, ktorý ste vytvorili v kroku B. Ak chcete urobiť, postupujte nasledovne:

    1. V počítači so spustenou službou SQL Server Express, kliknite na tlačidlo Štart, ukážte na položku Všetky programy, ukážte na položku Príslušenstvo, ukážte na položku Systémové nástrojea kliknite na tlačidlo plánované úlohy. 
    2. Dvakrát kliknite na Pridať plánovanú úlohu. 
    3. V Sprievodcu, kliknite na tlačidlo ďalej. 
    4. kliknite na tlačidlo Prehľadávať, kliknite na dávkový súbor, ktorý ste vytvorili v kroku b a potom kliknite na tlačidlo Otvoriť. 
    5. Typ SQLBACKUP pre názov úlohy, kliknite na dennéa potom kliknite na tlačidlo ďalej. 
    6. Zadajte informácie pre harmonogram na spustenie úlohy. (Sme odporúčame spustiť túto úlohu aspoň jeden čas každý deň.) Kliknite na ďalej.
    7. Do poľa zadajte meno používateľa zadajte meno používateľa a potom zadajte heslo do poľa zadajte heslo .

      Poznámka Tento používateľ by aspoň pridelí BackupOperator úlohu na úrovni SQL Server Ak používate jeden z dávkových súborov v príklade 1, 3 alebo 4.
    8. Kliknite na tlačidlo ďaleja potom kliknite na tlačidlo Dokončiť. 
    9. Spustiť plánovanú úlohu aspoň jeden čas presvedčiť sa, že zálohovanie úspešne vytvorený.

      Poznámkav priečinku so spustiteľným súborom SQLCMD je vo všeobecnosti cestu premenných pre server po SQL Server je nainštalovaný, ale ak nie sú premennej Path tento priečinok, môžete ho nájsť pod < umiestnenia inštalácie > \90\Tools\Binn (napríklad: C:\Program Files\Microsoft SQL Server\90\Tools\Binn).

      Byť vedomí týchto, ak použijete postup, ktoré je uvedené v tomto článku:

      • V čase, ktorý má naplánovaná na spustenie spustená služba Plánovač úloh systému Windows. Odporúčame, aby nastavíte typ spustenia pre túto službu, ako Automatické. Takto zabezpečíte, že sa bude spustená služba aj na reštartovanie.
      • Tam by mal byť dostatok miesta na disku, na ktorý zálohovanie napísaný. Odporúčame, aby ste čistí staré súbory do priečinka zálohy pravidelne, aby sa ubezpečil, že ste nemali spúšťať z disku. Skript neobsahuje logika vyčistiť staré súbory.

      Dodatočné údaje:

    Vlastnosti

    ID článku: 2019698 - Posledná kontrola: 28. júna 2012 - Revízia: 1.0
    Kľúčové slová: 
    kbmt KB2019698 KbMtsk
    Strojovo preložené
    DÔLEŽITÉ: Tento článok bol preložený pomocou softvéru na strojový preklad od spoločnosti Microsoft, nie prekladateľom. Spoločnosť Microsoft ponúka články preložené prekladateľmi aj strojovo preložené články, vďaka čomu máte možnosť prístupu ku všetkým článkom databázy Knowledge Base vo svojom jazyku. Strojovo preložený článok však nie je vždy perfektný. Môže obsahovať chyby týkajúce sa slovnej zásoby, syntaxe alebo gramatiky, podobne ako cudzinec môže robiť chyby, keď rozpráva vašim jazykom. Spoločnosť Microsoft nenesie zodpovednosť za akékoľvek nepresnosti, chyby alebo škody spôsobené akýmkoľvek nepresným prekladom obsahu alebo jeho použitím zo strany zákazníkov. Spoločnosť Microsoft softvér na strojový preklad pravidelne aktualizuje.
    Pokiaľ chcete vidieť anglickú verziu článku, kliknite sem: 2019698

    Odošlite odozvu

     

    Contact us for more help

    Contact us for more help
    Connect with Answer Desk for expert help.
    Get more support from smallbusiness.support.microsoft.com