Короткий посібник. Резервне копіювання та відновлення бази даних SQL Server за допомогою SSMS
У цьому короткому посібнику ви створите нову базу даних, створіть повну резервну копію та відновіть її.
Необхідні компоненти
Для роботи з цим коротким посібником вам знадобиться:
Створення тестової бази даних
- Запустіть середовище SQL Server Management Studio (SSMS) та підключіться до свого екземпляра SQL Server.
- Відкрийте вікно Новий запит.
- Створіть тестову базу даних за допомогою наступного коду Transact-SQL (T-SQL).
USE [master]; GO CREATE DATABASE [SQLTestDB]; GO USE [SQLTestDB]; GO CREATE TABLE SQLTest ( ID INT NOT NULL PRIMARY KEY, c1 VARCHAR(100) NOT NULL, dt1 DATETIME NOT NULL DEFAULT GETDATE() ); GO USE [SQLTestDB]; GO INSERT INTO SQLTest (ID, c1) VALUES (1, 'test1'); INSERT INTO SQLTest (ID, c1) VALUES (2, 'test2'); INSERT INTO SQLTest (ID, c1) VALUES (3, 'test3'); INSERT INTO SQLTest (ID, c1) VALUES (4, 'test4'); INSERT INTO SQLTest (ID, c1) VALUES (5, 'test5'); GO SELECT * FROM SQLTest; GO
Створення резервної копії
Щоб створити резервну копію бази даних, виконайте такі дії за допомогою SQL Server Management Studio або Transact-SQL:
- SSMS
- T-SQL
- Запустіть середовище SQL Server Management Studio (SSMS) та підключіться до свого екземпляра SQL Server.
- У оглядачі об'єктів розгорніть вузол Бази даних.
- Клацніть правою кнопкою миші базу даних, наведіть вказівник миші на Завданнята виберіть Резервне копіювання. .
- У розділі Призначення перевірте правильність шляху резервної копії. Якщо потрібно змінити його, виберіть Видалити для видалення існуючого шляху, а потім Додати, щоб ввести новий шлях. Можна використовувати кнопку з трьома крапками для переходу до певного файлу.
- Щоб створити резервну копію бази даних, натисніть ОК.
Крім того, щоб створити резервну копію бази даних, можна виконати наступну команду Transact-SQL. Шлях може відрізнятися на комп'ютері:
USE [master]; GO BACKUP DATABASE [SQLTestDB] TO DISK = N'C:\Program Files\Microsoft SQL Server\MSSQL14.MSSQLSERVER\MSSQL\Backup\SQLTestDB.bak' WITH NOFORMAT, NOINIT, NAME = N'SQLTestDB-Full Database Backup', SKIP , NOREWIND, NOUNLOAD, STATS = 10; GO
Додаткові відомості про різні варіанти резервного копіювання див. у статті BACKUP.
Відновлення резервної копії
Щоб відновити базу даних, зробіть таке:
- Запустіть середовище SQL Server Management Studio (SSMS) та підключіться до свого екземпляра SQL Server.
- Клацніть правою кнопкою миші вузол Бази даних в оглядачі об'єктів та виберіть Відновити базу даних. .
- Виберіть Пристрій: і натисніть кнопку з трьома крапками (. ), щоб знайти файл резервної копії.
- Виберіть Додати і перейдіть до розташування вашого файлу .bak . Виберіть файл .bak і натисніть ОК.
- Знову натисніть ОК у діалоговому вікні Вибір пристроїв резервного копіювання, щоб закрити його.
- Щоб відновити резервну копію бази даних, натисніть ОК.
Крім того, щоб відновити базу даних, можна виконати наступний сценарій Transact-SQL. Шлях може відрізнятися на комп'ютері:
USE [master]; GO RESTORE DATABASE [SQLTestDB] FROM DISK = N'C:\Program Files\Microsoft SQL Server\MSSQL14.MSSQLSERVER\MSSQL\Backup\SQLTestDB.bak' WITH FILE = 1, NOUNLOAD, STATS = 5; GO
Очищення ресурсів
Виконайте наступну команду Transact-SQL, щоб видалити створену базу даних разом із журналом резервного копіювання у базі даних msdb :
EXEC msdb.dbo.sp_delete_database_backuphistory @database_name = N'SQLTestDB' GO USE [master]; GO DROP DATABASE [SQLTestDB]; GO
Пов'язаний контент
- Restore SQL Server databases on Azure VMs (Відновлення баз даних SQL Server на віртуальних машинах Azure)
- Короткий посібник. Відновлення бази даних в керований екземпляр SQL Azure за допомогою SSMS
- Відновлення бази даних із резервної копії у базі даних SQL Azure
- Резервне копіювання та відновлення баз даних SQL Server
- Резервне копіювання SQL Server за URL-адресою для Microsoft Сховище BLOB-об'єктів Azure
- Створення повної резервної копії бази даних
- Restore a Database Backup Using SSMS
Копіювання баз даних шляхом створення та відновлення резервних копій
У SQL Server можна створити нову базу даних, відновлюючи резервну копію бази даних користувача, створеної за допомогою SQL Server 2005 (9.x) або пізнішої версії. Однак резервні копії головних, моделей та msdb, створені за допомогою більш ранньої версії SQL Server, не можуть бути відновлені SQL Server. Крім того, резервні копії SQL Server не можуть бути відновлені будь-якою версією SQL Server.
SQL Server 2016 використовує стандартний шлях, відмінний від шляху, використаного в попередніх версіях. Тому для відновлення резервної копії бази даних, створеної за умовчанням для ранніх версій, необхідно використовувати параметр MOVE. Відомості про новий шлях за замовчуванням див. у розділі Розташування файлів для екземпляра за промовчанням та іменованих екземплярів SQL Server. Для отримання додаткових відомостей про переміщення файлів баз даних див. статтю «Переміщення файлів баз даних» у цьому розділі.
Основні етапи копіювання бази даних, використовуючи функції резервного копіювання та відновлення
У разі використання резервного копіювання та відновлення для копіювання бази даних на інший екземпляр SQL Server комп'ютер-джерело та цільовий комп'ютер можуть бути будь-якою платформою, на якій запускається SQL Server.
- Створіть резервну копію вихідної бази даних, яка може бути в екземплярі SQL Server 2005 (9.x) або пізнішої версії. Комп'ютер, на якому виконується екземпляр SQL Server, є вихідним комп'ютером .
- На комп'ютері, куди потрібно скопіювати базу даних ( цільовий комп'ютер), підключіть екземпляр SQL Server, на якому буде відновлено базу даних. При необхідності створіть ті ж самі пристрої резервного копіювання на цільовому екземпляри сервера, що використовувалися для резервного копіювання баз даних- джерел .
- Відновіть резервну копію бази даних- джерела на цільовому комп'ютер. При відновленні бази даних автоматично створюються всі файли.
Розглядаються додаткові питання, які можуть спричинити процес.
Перед відновленням файлів бази даних
При відновленні бази даних файли бази даних створюються автоматично. За промовчанням у файлів, створених SQL Server у процесі відновлення, ті ж імена та шляхи, що й у файлів резервної копії вихідної бази даних на комп'ютері.
Також при відновленні бази даних, якщо це необхідно, можна вказати зіставлення дисків, імена файлів або шлях для відновлення.
Це може бути необхідним у таких ситуаціях.
- Потрібна структура каталогів або зіставлення дисків, які використовуються на комп'ютері, можуть бути відсутніми на іншому комп'ютері. Наприклад, можливо, резервна копія містить файл, який потрібно відновити на диск E, але на цільовому комп'ютері диска E немає.
- на цільовому диску може бути недостатньо вільного місця;
- Якщо використовується ім'я бази даних, яке вже існує на цільовому сервері відновлення, а ім'я кожного з її файлів збігається з ім'ям базового файлу в резервному наборі даних, відбувається одна з наступних дій.
- Якщо існуючий файл бази даних може бути перезаписаний, він буде перезаписаний (це не торкнеться файлу, що стосується бази даних з іншим ім'ям).
- Якщо існуючий файл не може бути перезаписано, виникне помилка відновлення.
Щоб уникнути помилок та непередбачених наслідків перед операцією відновлення, можна використовувати таблиці журналу backupfile , щоб знайти в резервній копії файли бази даних та журналу, які планується відновити.
Переміщення файлів баз даних
Якщо файли резервної копії бази даних неможливо відновити на цільовому комп'ютері, необхідно перемістити файли до нового місця призначення, де їх можна відновити. Наприклад:
- Потрібно відновити базу даних із резервних копій, створених у місці розташування за промовчанням для попередньої версії.
- Можливо, необхідно відновити деякі файли бази даних із резервної копії на інший диск через брак місця на диску за промовчанням. Таке трапляється досить часто, тому що більшість комп'ютерів в організаціях мають різне число і параметри дискових накопичувачів і різні конфігурації програмного забезпечення.
- Можливо, необхідно створити копію існуючої бази даних на тому ж комп'ютері для тестування. У цьому випадку файли бази даних для вихідної бази даних вже існують, і коли під час операції відновлення створюється копія бази даних, потрібно вказати інші імена файлів.
Для отримання додаткових відомостей див.у розділі «Відновлення файлів та файлових груп у нове місце призначення» далі в цьому розділі.
Зміна імені бази даних
Ім'я бази даних можна змінити під час відновлення на цільовому комп'ютері без відновлення файлів із зміною імені бази вручну. Наприклад, потрібно змінити ім'я бази даних з Sales на SalesCopy , щоб вказати, що це копія бази даних.
Ім'я бази даних, що явно задається при її відновленні, автоматично використовується як нове ім'я бази даних. Оскільки бази даних ще немає, нова база даних створюється з файлів резервної копії.
Оновлення бази даних за допомогою відновлення
При відновленні резервних копій із попередньої версії бажано заздалегідь знати, чи існує на цільовому комп'ютері шлях (диск та каталог) для кожного повнотекстового каталогу резервної копії. Щоб вивести список логічних імен і фізичних імен, шляхів та імені файлу) кожного файлу в резервній копії, включаючи файли каталогу, використовуйте інструкцію RESTORE FILELISTONLY FROM . Для отримання додаткових відомостей див. Інструкція RESTORE FILELISTONLY (Transact-SQL).
Якщо потрібний шлях на цільовому комп'ютері немає, є два варіанта.
- Створити потрібне зіставлення дисків чи структуру каталогів на цільовому комп'ютері.
- Перемістити файли каталогів на нове місце призначення під час операції відновлення за допомогою пропозиції WITH MOVE інструкції RESTORE DATABASE. Для отримання додаткових відомостей див. інструкцію RESTORE (Transact-SQL).
Додаткові відомості про альтернативні параметри оновлення повнотекстових індексів див. у розділі Оновлення повнотекстового пошуку.
Власник бази даних
При відновленні бази даних на іншому комп'ютері ім'я входу SQL Server або Microsoft Windows, який ініціює операцію відновлення, автоматично стає власником нової бази даних. Під час відновлення бази даних системний адміністратор або власник нової бази даних можуть змінити її власника. Щоб запобігти несанкціонованому відновленню бази даних, встановлюйте паролі на носії або самі резервні копії.
Управління метаданими при відновленні бази даних на інший екземпляр сервера
Щоб забезпечити цілісність роботи користувачів та програм при відновленні бази даних на інший екземпляр сервера, на новому екземплярі необхідно повторно створити деякі або всі метадані, наприклад, імена входу та завдання. Щоб отримати додаткові відомості, див. Управління метаданими при доступності бази даних на іншому примірнику сервера (SQL Server).
Перегляд файлів даних та журналів у резервному наборі даних
Відновлення файлів та файлових груп у новому розташуванні
Відновлення файлів і файлових груп поверх існуючих файлів
Відновлення бази даних із новим ім'ям
Перезапуск перерваної операції відновлення
Зміна власника бази даних
Копіювання бази даних за допомогою керуючих об'єктів SQL Server (SMO)
Створення повної резервної копії бази даних
Ця стаття описує створення повної резервної копії бази даних у SQL Server за допомогою SQL Server Management Studio, Transact-SQL або PowerShell.
обмеження
- Інструкція BACKUP не допускається у явних та неявних транзакціях.
- Резервні копії, створені останньою версією SQL Server, не можуть бути відновлені в попередніх версіях SQL Server.
Загальні відомості про концепції та завдання резервного копіювання див. у розділі "Огляд резервного копіювання" (SQL Server), перш ніж продовжити.
Рекомендації
- У міру збільшення бази даних повне резервне копіювання займає більше часу і потребує більше дискового простору. Для великих баз даних може знадобитися, крім повних резервних копій, створювати також різнисні резервні копії баз даних.
- Розмір повної резервної копії бази даних ви можете обчислити за допомогою системної процедури sp_spaceused .
- За промовчанням кожна успішна операція резервного копіювання додає запис до журналу помилок SQL Server і журналу системних подій. Якщо резервні копії створюються дуже часто, повідомлення про успішне завершення дуже швидко накопичуються. Це призводить до збільшення журналів помилок, ускладнюючи пошук інших повідомлень. Якщо робота існуючих скриптів не залежить від записів журналу резервного копіювання, їх можна вимкнути за допомогою прапора трасування 3226. Додаткові відомості див. у розділі Прапори трасування (Transact-SQL).
Безпека
Для резервної копії бази даних властивість TRUSTWORTHY надається значення OFF. Додаткові відомості про те, як задати ЗНАЧЕННЯ TRUSTWORTHY on, див. ALTER DATABASE SET Options (Transact-SQL) (ALTER DATABASE SET Options (Transact-SQL).
Починаючи з SQL Server 2012 (11.x), параметри PASSWORD і MEDIAPASSWORD більше не доступні для створення резервних копій. Ви також можете відновити резервні копії, створені з паролями.
Дозволи
Дозволи BACKUP DATABASE та BACKUP LOG за умовчанням призначаються учасникам певної ролі сервера sysadmin та зумовленим ролям бази даних db_owner і db_backupoperator.
Проблеми, пов'язані з власником та дозволами у фізичних файлів на пристрої резервного копіювання, можуть перешкодити операції резервного копіювання. Служба SQL Server повинна читати та записувати на пристрій.Обліковий запис, в якому виконується служба SQL Server, повинен мати дозволи на запис на пристрій резервного копіювання. Однак процедура sp_addumpdevice, яка додає запис для резервного копіювання до системних таблиць, не перевіряє дозволу на доступ до файлу. Проблеми з фізичним файлом пристрою резервного копіювання можуть не виявитися доти, доки ця резервна копія не буде застосована або не буде виконана спроба відновлення.
Використання середовища SQL Server Management Studio
Якщо вказати завдання резервного копіювання за допомогою SQL Server Management Studio, можна створити відповідний скрипт Transact-SQL BACKUP , натиснувши кнопку "Скрипт і вибравши призначення скрипта.
- Після підключення до відповідного примірника ядро СУБД Microsoft SQL Server розгорніть дерево сервера оглядач об'єктів.
- Розгорніть вузол Бази данихі виберіть базу даних користувача або розгорніть вузол Системні бази даних та виберіть системну базу даних.
- Клацніть правою кнопкою миші базу даних, яку потрібно створити резервну копію, наведіть вказівник на завдання та виберіть команду Створити резервну копію. ".
- У діалоговому вікні Резервне копіювання бази даних вибрана база даних наводиться в списку (її можна змінити на будь-яку іншу базу даних на сервері).
- У списку, що розкривається Тип резервної копії виберіть потрібний варіант (за замовчуванням вибрано тип Повна).
Увага Перед тим, як виконувати резервне копіювання або резервне копіювання журналів транзакцій, необхідно принаймні одне повне резервне копіювання бази даних.
Додаткова інформація:
- Після створення повної резервної копії бази даних можна створювати резервні копії або резервні копії журналів транзакцій.
- Також можна встановити прапорець Резервна копія лише для копіювання, щоб створити резервну копію лише для копіювання. Резервна копія тільки для копіювання – це резервна копія SQL Server, яка залежить від послідовності звичайних резервних копій SQL Server. Додаткові відомості див. у статті Резервні копії лише для копіювання (SQL Server). Резервна копія лише для копіювання недоступна типу резервної копії Різнива.
- При резервному копіюванні на URL-адресу параметр Перезаписати носій на сторінці Параметри носія недоступний.
Приклади
Для таких прикладів створіть тестову базу даних з наступним кодом Transact-SQL:
USE [master] GO CREATE DATABASE [SQLTestDB] GO USE [SQLTestDB] GO CREATE TABLE SQLTest (ID INT NOT NULL PRIMARY KEY, c1 VARCHAR(100) NO NULL, dt1 DATETIME NOT NULL DEFAULT getdate() ; GO USE [SQLTestDB] GO INSERT INTO SQLTest (ID, c1) VALUES (1, 'test1') INSERT INTO SQLTest (ID, c1) VALUES (2, 'test2') INSERT INTO SQLTest (ID, c1) VALUES (3, 'test3') INSERT INTO SQLTest (ID, c1) VALUES (4, 'test4') INSERT INTO SQLTest (ID, c1) VALUES (5, 'test5') GO SELECT * FROM SQLTest GOА. Повне резервне копіювання на диск за умовчанням
У цьому прикладі база даних SQLTestDB буде заархівована на диск до папки резервних копій за промовчанням.
- Після підключення до відповідного примірника ядро СУБД Microsoft SQL Server розгорніть дерево сервера оглядач об'єктів.
- Розгорніть елемент Бази даних, клацніть правою кнопкою миші SQLTestDB, наведіть вказівник на пункт Завдання та виберіть дію Створити резервну копію. .
- Натисніть ОК.
- Після успішного завершення резервного копіювання клацніть ОК, щоб закрити діалогове вікно SQL Server Management Studio.
B. Повне резервне копіювання на диск у нестандартне розташування
У цьому прикладі база даних SQLTestDB буде заархівована на диск у вибрану папку.
- Після підключення до відповідного примірника ядро СУБД Microsoft SQL Server розгорніть дерево сервера оглядач об'єктів.
- Розгорніть елемент Бази даних, клацніть правою кнопкою миші SQLTestDB, наведіть вказівник на пункт Завдання та виберіть дію Створити резервну копію. .
- На сторінці Загальні у розділі Призначення виберіть Диск у списку, що розкривається Створити резервну копію на: .
- Клацніть елемент Видалити, доки не буде видалено всі існуючі файли резервних копій.
- Натисніть кнопку Додати, щоб відкрити діалогове вікно Вибір місця розташування резервної копії.
- Введіть допустимий шлях та ім'я файлу у текстовому полі Ім'я файлу та використовуйте розширення .bak, щоб спростити класифікацію файлу.
- Клацніть ОК, а потім ще раз натисніть ОК, щоб розпочати резервне копіювання.
- Після успішного завершення резервного копіювання клацніть ОК, щоб закрити діалогове вікно SQL Server Management Studio.
В. Створення зашифрованої резервної копії
У цьому прикладі база даних SQLTestDB буде заархівована із шифруванням у папку резервних копій за промовчанням.
- Після підключення до відповідного примірника ядро СУБД Microsoft SQL Server розгорніть дерево сервера оглядач об'єктів.
- Розгорніть вузол Бази даних і вузол Системні бази даних, клацніть правою кнопкою миші базу даних master та виберіть дію Створити запит, щоб відкрити вікно запиту з підключенням до бази даних SQLTestDB.
- Виконайте наведені нижче команди, щоб створити головний ключ бази даних і сертифікат в базі даних master.
-- Create the master key CREATE MASTER KEY ENCRYPTION BY PASSWORD = '23987hxJ#KL95234nl0zBe'; -- Якщо матері клавіатури існують, існують у тому самому випадку, що ви створили certificate (більше next step) OPEN MASTER KEY DECRYPTION BY PASSWORD = '23987hxJ#KL95234nl0zBe' -- Create WITH SUBJECT = 'Backup Cert', EXPIRY_DATE = '20201031';D. Резервне копіювання до Сховища BLOB-об'єктів Azure
У цьому прикладі створюється повна резервна копія SQLTestDB бази даних для сховища BLOB-об'єктів Azure. У цьому прикладі передбачається, що у вас є обліковий запис зберігання з контейнером BLOB-об'єктів. У прикладі створюється підписана URL-адреса, і якщо контейнер вже має підписану URL-адресу, операція завершиться збоєм.
Якщо у вас немає контейнера Сховище BLOB-об'єктів Azure в обліковому записі зберігання, створіть його перед продовженням. Щоб отримати додаткові відомості, див. Створення облікового запису зберігання та розділ Створення контейнера.
- Після підключення до відповідного примірника ядро СУБД Microsoft SQL Server розгорніть дерево сервера оглядач об'єктів.
- Розгорніть елемент Бази даних, клацніть правою кнопкою миші SQLTestDB, наведіть вказівник на пункт Завдання та виберіть дію Створити резервну копію. .
- На сторінці Загальні у розділі Призначення виберіть URL-адреса у списку, що розкривається Створити резервну копію на: .
- Натисніть кнопку Додати, щоб відкрити діалогове вікно Вибір місця розташування резервної копії.
- Якщо раніше ви зареєстрували контейнер служби сховища Azure, який хочете використовувати з SQL Server Management Studio, виберіть його. В іншому випадку клацніть Створити контейнер, щоб зареєструвати новий контейнер.
- У діалоговому вікні З'єднання з підпискою Майкрософт увійдіть до свого облікового запису.
- У текстовому полі з розкривним списком Виберіть обліковий запис зберігання виберіть обліковий запис зберігання.
- У текстовому полі з розкривним списком Вибрати контейнер BLOB-об'єктів оберіть контейнер великих двійкових об'єктів.
- У полі календаря з розкривним списком Політика терміну дії підписаних URL-адрес Виберіть дату закінчення терміну дії політики загального доступу, створеної в цьому прикладі.
- Клацніть Створити облікові дані, щоб створити підписану URL-адресу та облікові дані в SQL Server Management Studio.
- Клацніть ОК, щоб закрити діалогове вікно З'єднання з підпискою Майкрософт.
- У текстовому полі Файл резервної копії у разі потреби змініть ім'я файлу резервної копії.
- Клацніть ОК, щоб закрити діалогове вікно Вибір призначення резервної копії.
- Щоб розпочати резервне копіювання, натисніть кнопку OK.
- Після успішного завершення резервного копіювання клацніть ОК, щоб закрити діалогове вікно SQL Server Management Studio.
Резервне копіювання до сховища BLOB-об'єктів Azure в даний час не підтримується за допомогою керованих посвідчень.
Використання Transact-SQL
Створіть повну резервну копію бази даних, виконавши інструкцію BACKUP DATABASE для створення повної резервної копії бази даних та вказавши таке:
- ім'я бази даних для створення резервної копії;
- пристрій резервного копіювання, який записується повна резервна копія бази даних.
Базовий синтаксис Transact-SQL для повної резервної копії бази даних:
BACKUP DATABASE database TO backup_device [ ,. n ] [ WITH with_options [ ,. o ] ] ;
Варіант Опис database База даних резервного копіювання. backup_device [ ,. n ] Вказує список від 1 до 64 пристроїв резервного копіювання, які використовуються для створення резервної копії. Можна вказати як фізичний пристрій резервного копіювання, так і відповідний логічний пристрій, якщо вже визначено. Для вказівки фізичного пристрою резервного копіювання використовуйте DISK або TAPE. < DISK | TAPE >=ім'я_фізичного_пристрою_резервного_копіювання
За потреби вкажіть один параметр WITH чи кілька. Тут описуються деякі основні параметри WITH. Додаткові відомості про всі параметри WITH див. у статті BACKUP (Transact-SQL).
Основні параметри WITH резервного набору даних:
- : тільки в SQL Server 2008 (10.0.x) Enterprise та пізніших версіях вказує, чи виконується стиснення резервних копій для цієї резервної копії, перевизначаючи значення за промовчанням рівня сервера.
- ШИФРУВАННЯ (АЛГОРИТМ, СЕРТИФІКАТ СЕРВЕРУ | ASYMMETRIC KEY): тільки в SQL Server 2014 або пізнішої версії вкажіть алгоритм шифрування, що використовується, і ключ сертифіката або асиметричного ключа для захисту шифрування.
- DESCRIPTION=< "text'text_variable@ | >: задає текст вільної форми, що описує резервний набір даних. У цьому рядку може бути до 255 символів.
- NAME = < backup_set_name backup_set_name_var@ | >: Вказує ім'я резервного набору даних. Довжина імені не може перевищувати 128 символів. Якщо ім'я не вказано, воно залишається пустим.
За замовчуванням команда BACKUP додає резервну копію до наявного набору носіїв, зберігаючи наявні резервні набори даних. Щоб явно вказати значення, використовуйте параметр NOINIT . Додаткові відомості про додавання до існуючих резервних наборів див. у розділі "Набори носіїв", "Сімейства носіїв" та "Резервні набори" (SQL Server).
Щоб відформатувати носій резервної копії, використовуйте параметр FORMAT:
FORMAT [ , MEDIANAME = < media_name media_name_variable | @ > ] [ , MEDIADESCRIPTION = < Text | @text_variable > ]
Використовуйте пропозицію FORMAT при першому зверненні до носія або за необхідності перезаписати всі наявні дані. При необхідності призначте новому носію ім'я та опис.
Будьте гранично обережні, використовуючи пропозицію FORMAT інструкції BACKUP , оскільки видаляє всі резервні копії, збережені раніше на носії резервних копій.
Приклади
Для таких прикладів створіть тестову базу даних з наступним кодом Transact-SQL:
USE [master] GO CREATE DATABASE [SQLTestDB] GO USE [SQLTestDB] GO CREATE TABLE SQLTest ( ID INT NOT NULL PRIMARY KEY, c1 VARCHAR(100) NO NULL, dt1 DATETIME NOT NULL DEFAULT GETDATE() ) INSERT INTO SQLTest (ID, c1) VALUES (1, 'test1') INSERT INTO SQLTest (ID, c1) VALUES (2, 'test2') INSERT INTO SQLTest (ID, c1) VALUES (3, 'test3') INSERT INTO SQLTest (ID, c1) VALUES (4, 'test4') INSERT INTO SQLTest (ID, c1) VALUES (5, 'test5') GO SELECT * FROM SQLTest GOА. Резервне копіювання на дисковий пристрій
У наступному прикладі виконується резервне копіювання всієї бази даних SQLTestDB на диск та створення нового набору носіїв за допомогою параметра FORMAT.
USE SQLTestDB; GO BACKUP DATABASE SQLTestDB TO DISK = 'c:\tmp\SQLTestDB.bak' WITH FORMAT, MEDIANAME = 'SQLServerBackups', NAME = 'Full Backup of SQLTestDB'; GOB. Резервне копіювання на стрічковий пристрій
У цьому прикладі створюється повна резервна копія бази даних SQLTestDB на стрічці на додаток до попередніх резервних копій.
USE SQLTestDB; GO BACKUP DATABASE SQLTestDB TO TAPE = '\.\Tape0' WITH NOINIT, NAME = 'Full Backup of SQLTestDB'; GOВ. Резервне копіювання на логічний стрічковий пристрій
У наступному прикладі створюється логічне пристрій резервного копіювання для стрічкового накопичувача. Потім показано, як здійснюється повне резервне копіювання бази даних SQLTestDB на цей накопичувач.
-- Create a logical backup device, -- SQLTestDB_Bak_Tape, для tape device \.\tape0. USE master; GO EXEC sp_addumpdevice 'tape', 'SQLTestDB_Bak_Tape', '\.\tape0'; USE SQLTestDB; GO BACKUP DATABASE SQLTestDB TO SQLTestDB_Bak_Tape WITH FORMAT, MEDIANAME = 'SQLTestDB_Bak_Tape', MEDIADESCRIPTION = '\.\tape0', NAME = 'Full Backup of SQLTestDB'; GOВикористання PowerShell
Використовуйте командлет Backup-SqlDatabase . Щоб явно вказати, що це повна резервна копія бази даних, установіть параметр -BackupAction зі значенням Database, що використовується за замовчуванням. Цей параметр не є обов'язковим для повних резервних копій баз даних.
Для цих прикладів потрібний модуль SqlServer. Щоб визначити, чи встановлено, виконайте команду Get-Module -Name SqlServer . Щоб інсталювати його, виконайте команду Install-Module -Name SqlServer у сеансі PowerShell із правами адміністратора.
Для отримання додаткових відомостей див. у статті SQL Server PowerShell Provider.
При відкритті вікна PowerShell із SQL Server Management Studio для підключення до установки SQL Server облікові дані можна опустити, оскільки для встановлення підключення між PowerShell та екземпляром SQL Server автоматично використовуються ваші облікові дані в SSMS.
Приклади
А. Повна резервна копія (локальна)
У цьому прикладі створюється повна резервна копія бази даних у заданому за умовчанням розташування резервного копіювання на екземплярі сервера Computer\Instance . Додатково у цьому прикладі вказується параметр -BackupAction Database.
Повні приклади синтаксису див. у документації з Backup-SqlDatabase.
$credential = Get-Credential Backup-SqlDatabase -ServerInstance Computer[\Instance] -Database -BackupAction Database -Credential $credentialB. Повна резервна копія в Azure
У цьому прикладі створюється повна резервна копія бази даних на екземплярі в Сховищі BLOB-об'єктів Azure. Збережена політика доступу була створена з правами на читання, запис та складання списків. Облікові дані SQL Server, https://.blob.core.windows.net/ , були створені з використанням підписаної URL-адреси, яка пов'язана з політикою доступу, що зберігається. Команда PowerShell використовує параметр BackupFile для вказівки розташування (URL-адреси) та імені файлу резервної копії.
$credential = Get-Credential $container = 'https://blob.core.windows.net/' $fileName = '.bak' $server = '' $database = '' $backupFile = $container + '/' + $fileName Backup-SqlDatabase -ServerInstance $server -Database $database -BackupFile $backupFile -Credential $credentialПов'язані завдання
Пов'язаний контент
- Усунення неполадок операцій резервного копіювання та відновлення SQL Server
- Загальні відомості про резервне копіювання (SQL Server)
- Резервні копії журналів транзакцій (SQL Server)
- Набори носіїв, сімейства носіїв та резервні набори даних (SQL Server)
- sp_addumpdevice (Transact-SQL)
- BACKUP (Transact-SQL)
- Архівація бази даних (сторінка "Загальні")
- Архівація бази даних (сторінка "Параметри резервного копіювання")
- Різноманітні резервні копії (SQL Server)
- Повні резервні копії баз даних (SQL Server)
