Як дублювати базу даних MSSQL на тому ж або іншому сервері?


15

Я намагаюся досягти наступного:

  1. Зробіть знімок оригінальної бази даних, створіть і вкажіть дублікат на іншому сервері?
  2. Зробіть знімок оригінальної бази даних, створіть на тому ж сервері дублікат під іншим іменем БД

Однак я не можу через дуже обмежений досвід роботи з MSSQL. Будь-які пропозиції?

Додаткова інформація:

Похідний сервер БД: SQL Server 2000

Цільовий сервер БД: SQL Server 2005

Відповіді:


17
  1. резервне копіювання бази даних
  2. відновити базу даних під новим іменем та / або на іншому сервері

Обидві ці операції можна виконувати з Enterprise Manager (SQL2000) або заміни його SQL Management Studio (SQL2005 +) або команд TSQL BACKUP і RESTORE .

Примітка: ви можете відновити базу даних, резервну копію з SQL2000 на SQL2005, не у більшості випадків, але не навпаки.


1
Дякую тобі, Девіде. Як я можу відновити БД під новим іменем на іншому сервері?
Alex N

Резервне копіювання бази даних створює файл резервної копії (або розширює існуючий). Перенесіть цей файл на інший сервер, а потім скористайтеся програмою Management Studio (або командою RESTORE, виданою іншим способом) для відновлення бази даних з цього файлу. Процес відновлення пропонує вам можливість продиктувати ім’я бази даних, як тільки вона буде відновлена.
Девід Спіллетт

7

Додаючи це, коли я натрапив на це, дотримуючись вищезазначених кроків.
У SQL Server 2008 R2 принаймні ви можете пропустити крок для отримання локальної резервної копії на сервер.

  1. Клацніть правою кнопкою миші Бази даних
  2. Клацніть Відновити базу даних ..
  3. Встановіть параметр Від бази даних до бази даних, яку ви копіюєте
  4. Встановіть для нової назви опцію База даних
  5. Натисніть кнопку ОК

5

Можливо, це найкраще рішення:

1) На вихідному сервері БД - Створіть резервну копію у локальному файлі

DECLARE @fileName nvarchar(400);
DECLARE @DB_Name nvarchar(50);

SET @DB_Name = 'NameOfSourceDatabase'
SET @fileName = 'c:\Test\original.bak'

BACKUP DATABASE @DB_Name TO DISK = @fileName

2) Скопіюйте вихідний файл на сервер призначення.
Якщо обидва сервери знаходяться на одній машині, ви можете створити копію цього файлу:

EXEC master.dbo.xp_cmdshell 'COPY c:\Test\original.bak   c:\Test\clone.bak'

3) На цільовому сервері БД : Відновлення бази даних з резервного файлу

RESTORE DATABASE CloneDB

FROM DISK='c:\Test\clone.bak'

0

використовуючи MS SQLServer 2012, потрібно спочатку виконати 3 основні етапи, створити .sql файл, що містить лише структуру вихідного БД => клацніть правою кнопкою миші на вихідній БД, а потім Завдання, а потім Створити сценарії => слідувати майстру, і ви можете зберегти .sql файл локально. По-друге, замініть .sql файл вихідного db на цільове місце => клацніть правою кнопкою миші на файл призначення та натисніть Новий запит та Ctrl-H або (редагуйте - знайдіть та замініть - Quack replce), нарешті, заповніть даними => клацніть правою кнопкою миші на БД детекції, потім Завдання, а потім імпортувати дані => Випадок джерела даних, встановлений на ".net рамковий провідник даних для сервера sql" + встановити текстове поле рядка з'єднання під DATA ex: Джерело даних = Mehdi \ SQLEXPRESS; Початковий каталог = db_test; Ідентифікатор користувача = sa; Пароль = sqlrpwrd15 => Те ж саме робити і з пунктом призначення =>позначте таблицю, яку ви хочете перенести, або встановіть прапорець "джерело: .....", щоб перевірити їх усі

ви закінчили.

Використовуючи наш веб-сайт, ви визнаєте, що прочитали та зрозуміли наші Політику щодо файлів cookie та Політику конфіденційності.
Licensed under cc by-sa 3.0 with attribution required.