Зараз ви перебуваєте в автономному режимі; очікується повторне підключення до Інтернету

Як запланувати і автоматизувати резервне копіювання баз даних SQL Server, в SQL Server Express

УВАГА! Цю статтю переклала програма машинного перекладу Microsoft, а не людина. Корпорація Microsoft пропонує вам як машинні переклади, так і переклади фахівців, щоб Ви мали доступ до всіх статей бази знань рідною мовою. Проте стаття, яку переклав комп’ютер, не завжди бездоганна. Вона може містити лексичні, синтаксичні або граматичні помилки. Так само помиляється іноземець, спілкуючись вашою рідною мовою. Корпорація Microsoft не несе відповідальність за жодні неточності, помилки або шкоду, завдану неправильним перекладом змісту або його використанням з боку користувачів. Крім того, корпорація Microsoft часто оновлює програму машинного перекладу.

Клацніть тут, щоб переглянути цю статтю англійською мовою: 2019698
ПІДСУМКИ

Видання , SQL Server Express не пропонують шлях графіком робіт або технічного обслуговування планів, тому що компонент агент SQL Server не включені в ці видання. Таким чином, ви повинні прийняти інший підхід до резервне копіювання баз даних, під час використання цих видань.   

В даний час користувачів SQL Server Express можна архівувати свої бази даних за допомогою одного з таких методів:

Використання SQL сервер керування студії Експрес. Це інсталюється разом з або SQL Server Express додаткові служби, або SQL Server Express Toolkit. Для отримання додаткових відомостей зверніться до веб-сайту Microsoft розробників (MSDN):

Створіть повну резервну копію бази даних (SQL Server)

  • Використовувати оператори Transact-SQL скрипт, який використовує сім'ї резервне КОПІЮВАННЯ бази даних команд. Для отримання додаткової інформації зверніться до наступних веб-сайті MSDN:

    Резервне КОПІЮВАННЯ (Transact-SQL)

    У цій статті поетапно описано використання оператори Transact-SQL скрипт разом з Windows планувальника завдань для автоматизації резервного копіювання, SQL Server Express баз даних розкладом.

  • ДОДАТКОВІ ВІДОМОСТІ

    Ви повинні дотримуватися ці три кроки для резервного копіювання ваших баз даних SQL Server, за допомогою планувальника завдань Windows:

    Крок A: використання SQL Server управління студії Express або Sqlcmd для створення Збережена процедура бази даних master:

    / / Copyright © корпорація Майкрософт.  Всі права захищені.

    / / Цей код виходу на умовах на

    / / Громадська ліцензія Microsoft (MS-PL,http://opensource.org/licenses/ms-pl.html.)

    Використання [майстер]
    GO 
    / ****** Об'єкт:StoredProcedure [dbo].[sp_BackupDatabases] ****** /
    ВСТАНОВИТИ ANSI_NULLS на
    ЙТИ
    ВСТАНОВИТИ QUOTED_IDENTIFIER на
    ЙТИ
    -=============================================
    -Автор: Microsoft
    -Дата створення: 2010-02-06
    -Опис: Резервне копіювання баз даних для SQLExpress
    -Parameter1: databaseName
    -Parameter2: backupType F = повне, D = диференціальних, L = журналу
    -Parameter3: розташування файлу резервної копії
    -=============================================
    Створити ПРОЦЕДУРУ [dbo]. [sp_BackupDatabases]
    @ databaseName-sysname = null,
    @ backupType CHAR(1),
    @ backupLocation nvarchar(200)
    AS
    ВСТАНОВЛЕНИЙ на 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
                     DELETE @ DBs де DBNAME В ('tempdb', 'Борей', 'пабів', 'AdventureWorks')
    кінці
    ще якщо @ backupType = мав '
    ПОЧАТИ
    DELETE @ DBs де DBNAME В ('tempdb', 'Борей', 'пабів', майстер', 'AdventureWorks')
    кінця
    ще якщо @ backupType = 'L'
    ПОЧАТИ
    DELETE @ DBs де DBNAME В ('tempdb', 'Борей', 'пабів', майстер', 'AdventureWorks')
    кінця
    ELSE
    ПОЧАТИ
    повернення
    кінець
    -оголосити змінні
    ЗАЯВИТИ @ BackupName varchar(100)
    ЗАЯВИТИ @ BackupFile varchar(100)
    ОГОЛОСИТИ @ DBNAME varchar(300)
    ЗАЯВИТИ @ sqlCommand NVARCHAR(1000)
    ЗАЯВИТИ @ dateTime NVARCHAR(20)
    ЗАЯВИТИ @ Loop int
    -Зациклювання баз даних
    виберіть @ петлю = min(ID) від @ DBs
    час @ Loop IS NOT NULL
    ПОЧАТИ
    - імена бази даних мають бути у форматі [dbname], оскільки деякі з них - або в їх ім'я _
         ВСТАНОВИТИ @ DBNAME = '[' +(SELECT DBNAME FROM @DBs WHERE ID = @Loop) +']'
    – установити на поточний формат дати й часу n yyyyhhmmss
    SET @ dateTime = ЗАМІНИТИ (перетворення (VARCHAR, GETDATE(),101),'/','') + "_" +ЗАМІНИТИ (перетворення (VARCHAR, GETDATE(),108),':','')
    – Створення резервної копії ім'я файлу у форматі path\filename.extension для повного, порівняння та журналу резервних копій
    якщо @ backupType = 'F'
    SET @ BackupFile = @ backupLocation + ЗАМІНИТИ (ЗАМІНИТИ (@ DBNAME, ' [', '),'] ', ') + '_FULL_' + @ dateTime + '.Бак '
    ІНШЕ якщо @ backupType = були '
    SET @ BackupFile = @ backupLocation + ЗАМІНИТИ (ЗАМІНИТИ (@ DBNAME, ' [', '),'] ', ') + '_DIFF_' + @ dateTime + '.Бак '
    ІНШЕ якщо @ backupType = 'L'
    SET @ BackupFile = @ backupLocation + ЗАМІНИТИ (ЗАМІНИТИ (@ 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 ID > @ цикл
    кінці

    Крок B: В текстовий редактор, створіть пакетний файл, що називається Sqlbackup.bat і скопіювати текст з однієї з таких прикладів до цього файлу, залежно від вашої ситуації:

    Example1:Повні резервні копіївсіх баз даних в місцевих іменованого екземплярів SQLEXPRESS за допомогою автентифікацію Windows

    / / Sqlbackup.bat

    sqlcmd -С. \EXPRESS –E -Q "EXEC sp_BackupDatabases @ backupLocation = мав: \SQLBackups\', @ backupType = 'F'" 

    Example2:диференціальне резервне копіюванняусіх баз даних в місцевих іменованого екземплярів SQLEXPRESS за допомогою в SQLLogin та свого пароля

    / / Sqlbackup.bat

    sqlcmd - U SQLLogin -P пароль -С. \SQLEXPRESS -Q "EXEC sp_BackupDatabases@ backupLocation = 'D:\SQLBackups', @ BackupType = мав '"

    Примітка: The SQLLogin shouldhave в останню оператора архівації роль в SQL Server.


    Приклад 3:Журнал резервні копіївсіх баз даних в місцевих іменованого екземплярів SQLEXPRESS за допомогою автентифікацію Windows

    / / Sqlbackup.bat

    sqlcmd -С. \SQLEXPRESS -Е -Q "EXEC sp_BackupDatabases @ backupLocation='D:\SQLBackups\',@backupType='L'"

    Приклад 4:Повні резервні копії бази даних USERDB в місцевих іменованого екземплярів SQLEXPRESS за допомогою автентифікацію Windows

    / / Sqlbackup.bat

    sqlcmd -С. \SQLEXPRESS -Е -Q "EXEC sp_BackupDatabases @ backupLocation = мав: \SQLBackups\', @ databaseName = 'USERDB', @ backupType = 'F'"

    Аналогічним чином, можна зробити диференціалу резервної копії з USERDB під час вставляння в б ' для параметра @ backupType та журналу резервну копію USERDB шляхом вставлення в "L" для параметра@ backupType .

    Крок с.-Розклад роботи за допомогою планувальника завдань Windows виконати пакетного файлу, створеного на кроці b. Для цього виконайте такі дії:

    1. На комп'ютері, який працює SQL Server Express, натисніть кнопкуПуск, виберіть пунктУсі програми,стандартні,Службовіта натисніть кнопкузапланованих завдань. 
    2. Двічі клацнітьДодати запланована завдання. 
    3. У майстер планування завдань натисніть кнопку "Далі". 
    4. натисніть кнопку Огляд, виберіть пакетного файлу, створеного на кроці b і натисніть кнопкуВідкрити. 
    5. ВведітьSQLBACKUP для ім'я завдання, клацніть щодняі натисніть кнопкуДалі. 
    6. Вкажіть відомості для розклад для виконання завдання. (Ми рекомендуємо запускати завдання принаймні один час кожен день). Натиснітьнаступний.
    7. У поліВведіть ім'я користувача введіть ім'я користувача та введіть пароль у поліВведіть пароль .

      Примітка Цей користувач має принаймні присвоєно SQL Server рівні, роль BackupOperator Якщо використовується одна з пакетних файлів у приклад 1, 3 або 4.
    8. Натисніть кнопкуДаліі натисніть кнопку Готово. 
    9. Виконання запланованого завдання по крайней мере один раз, щоб переконатися, що резервну копію створено успішно.

      ПриміткаПапку для SQLCMD виконуваний файл, як правило, в змінних шлях для сервера після інсталяції SQL Server, але якщо шлях змінної без зазначення папки, ви можете знайти у розділі< встановіть розташування > \90\Tools\Binn (наприклад: C:\Program Files\Microsoft SQL Server\90\Tools\Binn).

      Пам'ятайте про таке під час використання процедура, описана в цій статті:

      • Служба планувальника завдань Windows має працювати в той час, що заплановано виконання роботи. Ми рекомендуємо встановити тип запуску цієї служби якАвтоматичне. Це гарантує, що послуга буде працювати навіть на перезавантаження.
      • Там повинно бути багато місця на диску, на яку писали резервні копії. Радимо, що ви очистити старі файли в папку архіву регулярно, щоб переконатися, що ви не бракує вільного простору. Скрипт не містить логіку для очищення старого файли.

      Додаткові посилання

    Попередження. Цю статтю переведено автоматично

    Властивості

    Ідентифікатор статті: 2019698 – останній перегляд: 06/29/2012 00:19:00 – виправлення: 1.0

    • kbmt KB2019698 KbMtuk
    Зворотний зв’язок