Який найефективніший спосіб дублювання екземпляра на SQL 2008?


14

У нас є простий екземпляр бази даних з достатньою кількістю даних у базах даних, щоб вони були корисними, і ми можемо використовувати їх для демонстраційних цілей, і я хочу помістити його копію на свій ноутбук, щоб я міг використовувати її для роботи із розробниками, коли Я не в офісі. (Звичайні екземпляри бази даних розробників становлять близько 150 Гб, цей один екземпляр - 3 ГБ)

Який найбільш повторюваний / сценарій для відтворення екземпляра на моєму ноутбуці? Я впевнений, що мені доведеться знову запустити інсталятор для SqlServer2008 і створити екземпляр, але після цього ... Я думаю, що хочу скидати старі бази даних щомісяця або близько того, і так скопіюйте всі нові речі на мій ноутбук, оскільки мій примірник не зміниться ні на одній демо-системі, ні на ноутбуці. Але самі бази даних оновлюватимуться, оновлюючи проростки тощо.

Я розглядав сценарій усіх "падіння баз даних-файлів; додавання баз даних-файлів {шлях}" і зберігання їх у певному запущеному пакетному файлі, і тоді я можу "скинути, видалити, скопіювати, додати", але цікавився, чи є був кращим способом, ніж просто xcopy та batch?

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


це єдиний екземпляр бази даних або сервер sql з більш ніж однією базою даних? Я припускаю, що у вас на ноутбуці та машині розробки встановлений сервер sql, і у вас є одна база даних, у цьому випадку ви можете використовувати резервне копіювання та відновлення. Машина для створення резервних копій db, скопіюйте її на ноутбук та відновіть, навпаки ... чи це має сенс?
CoderHawk

це SQL Server Express Edition? або Стандартний? SSIS є хорошим варіантом для подібних сценаріїв, на жаль, його немає в версіях Express і Web.
CoderHawk

Вибачте @Sandy ~ Це SQL Dev 2008. Я отримав доступ до майже всього, що ви могли здогадатися у тому, за рахунок MSDN.
jcolebrand

Заголовок запитання мало заплутаний: "Який найефективніший спосіб копіювання | екземпляра | на SQL 2008?" - екземпляр або база даних?
CoderHawk

@Sandy ~ "Instance" ... дійсно, я хочу все це.
jcolebrand

Відповіді:


4

Ви вдарили цвяхом по голові: скопіюйте файли. Я використав це для хорошого ефекту.

Я б сказав, що вам слід визначити "дешево", щоб включити вкладення часу для підготовки рішення, яке не передбачає xcopy


3

Гм, не впевнений, чи це допомагає, але ми використовуємо набір сценаріїв, щоб "очистити" виробничу базу даних та підготувати її до зловживань із розробки. Ми беремо всі великі таблиці, що містять стовпець дати, і ми відновлюємо таблицю з даними лише за останній рік. Від повного db приблизно 200 ГБ ми отримуємо приблизно 40 ГБ дБ для розвитку. В основному ми створюємо динамічні сценарії для створення файлів bcp для кожної таблиці, відтворюємо таблицю (включаючи будь-які пов’язані з цим обмеження), а потім масово вставляємо лише дані минулого року.

Можливо, є інструменти для цього, але наш магазин коштує дешево :-).


Так, ми їдемо по BCP-маршруту з великою кількістю матеріалів, тому я розумію, що ви говорите, і обрізати щось із цього було б добре, але я вже маю приблизно 3 ГБ даних, які мені потрібні, тому я не дуже шукаєте додати ще туди. Я просто хочу скопіювати цілий екземпляр і зрозуміти, що існує спосіб продовжувати це робити повторно. Але в іншому випадку я думаю, що я на тому ж шляху, що і про що ти говориш, просто менший святий.
jcolebrand

Тому повторіть всі кроки партіями :). SQL має пакетні параметри, і ви можете комбінувати пакетні файли з файлами sql і отримувати хороший пакет. Я створив спеціальний пакет доставки журналів (німий), який працює над різними доменами, і вся підготовка db виконується у файлах cmd / sql. Ви можете створити названий екземпляр лише для вашого використання і там запустити / зупинити послугу, відновити db, очистити його, підготувати його, створити резервну копію та відправити в якусь певну папку. Можливо, якусь роботу можна було б виконати швидше в повному складі .. але я з цим не знайомий.
Маріан

так, це ідея;)
jcolebrand

@jcolebrand - Може допоможе такий інструмент, як Нортон Привид чи Клонезілла? Вам знадобиться, щоб скопіювати папки prod резервного копіювання десь на вашому ігровому майданчику, а потім зробити все задоволення (відновити..трим ... тощо). Вам не потрібно сценаріювати дії з копіювання, і ви будете обробляти тільки sql частину :).
Мар’ян

oooooh, що може бути корисно. Нові шляхи розгляду.
jcolebrand

0

Найпростіший спосіб оновити вашу схему для відповідності цим системам - це використовувати такий інструмент, як Red Gate SQL Compare або Embarcadero DB Change Manager.

Існує маса інших інструментів, які, ймовірно, можуть проводити те саме порівняння схеми і навіть надавати вам DDL для оновлення схеми вашої бази даних.

Параметри

  1. Використовуйте інструмент сторонніх виробників
  2. Резервне копіювання та відновлення бази даних - можливо, вам потрібно буде відновити до інстанційного сценарію, щоб видалити дані (через обмеження місця на ноутбуці)
  3. Напишіть свій власний скрипт баз даних за допомогою SMO та просто створіть завдання, яке сценаріює об’єкти, потім відтворіть вашу схему щомісяця / раз, коли вам це потрібно, а потім використовуйте SSIS для завантаження даних у нові об’єкти.

Як працює "резервне копіювання та відновлення бази даних" для цього примірника? Я хочу зберігати дані в цих таблицях, оскільки це повний набір даних, просто менший, ніж виробничий.
jcolebrand

SSIS, ймовірно, дозволив би мені зробити те, що мені потрібно, але я цього не знаю достатньо. Я повинен дослідити далі.
jcolebrand

@jcolebrand - Я запропонував відновити резервне копіювання, просто доведеться розглянути можливість переміщення даних зі своєї живої системи до демо-системи, коли ви робите такі речі, як додавання стовпців. Однак у цього є недолік, який вимагає відновлення, а потім очищення даних перед іншим резервним копієм та відновлення / від'єднання та прикріплення.
johndacostaa
Використовуючи наш веб-сайт, ви визнаєте, що прочитали та зрозуміли наші Політику щодо файлів cookie та Політику конфіденційності.
Licensed under cc by-sa 3.0 with attribution required.