Ось як відновити резервну копію як додатковий db з унікальним іменем db.
Для SQL 2005 це працює дуже швидко. Я впевнений, що новіші версії працюватимуть так само.
По-перше, вам не доведеться брати оригінальний db в автономному режимі. Але заради безпеки я люблю це. У своєму прикладі я збираюся встановити клон моєї бази даних "білінг", і він буде названий "billingclone".
1) Зробіть гарне резервне копіювання бази даних рахунків
2) Для безпеки я взяв оригінал офлайн так:
3) Відкрийте нове вікно запитів
** ВАЖЛИВО! Тримайте це вікно запиту відкритим, поки ви все не закінчите! Вам потрібно відновити db з цього вікна!
Тепер введіть наступний код:
-- 1) free up all USER databases
USE master;
GO
-- 2) kick all other users out:
ALTER DATABASE billing SET SINGLE_USER WITH ROLLBACK IMMEDIATE;
GO
-- 3) prevent sessions from re-establishing connection:
ALTER DATABASE billing SET OFFLINE;
3) Далі, в студії управління, натисніть rt, натисніть "Бази даних" в "Провідник об'єктів", виберіть "Відновити базу даних"
4) введіть нове ім’я в поле "До бази даних". IE білінглон
5) У Джерелі для відновлення натисніть "З пристрою" та натисніть кнопку ... переміщення
6) Клацніть Додати та перейдіть до резервної копії
7) Поставте галочку біля пункту Відновити (Виберіть набір резервних копій для відновлення)
8) Далі виберіть сторінку ВАРІАНТИ у верхньому куті LH
9) Тепер відредагуйте назви файлів бази даних в RESTORE AS. Зробіть це як для db, так і для журналу. IE billingclone.mdf та billingclone_log.ldf
10) тепер натисніть кнопку ОК і чекайте завершення завдання.
11) Натисніть оновити у своєму Провіднику об’єктів, і ви побачите ваш новий db
12) Тепер ви можете розмістити свій платіжний банк назад в Інтернеті. Скористайтеся тим самим вікном запиту, який ви використовували для здійснення платежів в режимі офлайн. Використовуйте цю команду:
-- 1) free up all USER databases
USE master; GO
-- 2) restore access to all users:
ALTER DATABASE billing SET MULTI_USER WITH ROLLBACK IMMEDIATE;GO
-- 3) put the db back online:
ALTER DATABASE billing SET ONLINE;
зроблено!
backkup set holds a backup of a database other than existing "tmp" database
, яка, я розумію. Чи повинна цяto
фраза бути фактичним фізичним шляхомMyTempCopy
?