Добро пожаловать в форум, Guest  >>   Войти | Регистрация | Поиск | Правила | В избранное | Подписаться
Все форумы / Microsoft SQL Server Новый топик    Ответить
 Перенос данных между двумя инстансами ms sql. Автоматизация. How to?  [new]
Рабинович
Member

Откуда:
Сообщений: 58
Доброго времени суток!
Есть следующая ситуация:
Существуют два различных физических сервера двумя идентичными (в плане версий и настроек) инстансами MS SQL 2008:
1-й Сервер - Продакшн
2-й Сервер для тестирования ПО на реальных данных
В инстансе 3 базы (около 5 ГБ на один инстанс)
Нужно следующее:
Один раз в сутки(автоматически) переносить данные из Продакшина в Дев, данные на деве затирать. Тобиш должны выходить два идентичные инстанса.
Вопрос в уважаемой публике:
1. Какой примерно алгоритм такой операци. Бекапить, переносить файлы на другой сервер и разворачивать там? Есть другие варианты?
2. Как это дело автоматизировать, например файлы бекапов из сервера на сервер переносить?
Помогите, пожайлуста хотя бы в самых общих чертах.
Спасибо
11 фев 14, 14:12    [15551271]     Ответить | Цитировать Сообщить модератору
 Re: Перенос данных между двумя инстансами ms sql. Автоматизация. How to?  [new]
SQL2008
Member

Откуда: Москва
Сообщений: 4478
Рабинович
1. Какой примерно алгоритм такой операци. Бекапить, переносить файлы на другой сервер и разворачивать там? Есть другие варианты?

Detach.
Copy.
Attach.

Рабинович
2. Как это дело автоматизировать, например файлы бекапов из сервера на сервер переносить?
Помогите, пожайлуста хотя бы в самых общих чертах.
Спасибо

С помощью задач в SQL Server Agent.
11 фев 14, 14:19    [15551325]     Ответить | Цитировать Сообщить модератору
 Re: Перенос данных между двумя инстансами ms sql. Автоматизация. How to?  [new]
Glory
Member

Откуда:
Сообщений: 104751
Рабинович
Один раз в сутки(автоматически) переносить данные из Продакшина в Дев

Именно только данные ?? Т.е. содержимое таблиц ?
11 фев 14, 14:24    [15551373]     Ответить | Цитировать Сообщить модератору
 Re: Перенос данных между двумя инстансами ms sql. Автоматизация. How to?  [new]
Рабинович
Member

Откуда:
Сообщений: 58
Glory,
Нет, вместе с таблицами связями и т.п. Так как структура на Продакшине может за день поменяться
11 фев 14, 14:27    [15551390]     Ответить | Цитировать Сообщить модератору
 Re: Перенос данных между двумя инстансами ms sql. Автоматизация. How to?  [new]
gang
Member

Откуда:
Сообщений: 1394
SQL2008
Detach.
Copy.
Attach.

Этот вариант подразумевает простой основной БД. Лучше накатывайте тестовые копии из актуальных бекапов боевых БД (Вы же их бекапите регулярно?)

Что касается переноса бекапов, то это завит от того как связаны ваши боевая и тестовая среды. Если они в одном домене и "видят" друг друга, то можно обойтись и вовсе без копирования - делать рестор из расшаренной папки бекапов боевого сервера.
11 фев 14, 14:27    [15551391]     Ответить | Цитировать Сообщить модератору
 Re: Перенос данных между двумя инстансами ms sql. Автоматизация. How to?  [new]
Glory
Member

Откуда:
Сообщений: 104751
Рабинович
Нет, вместе с таблицами связями и т.п

Пользователями, правами, процедурами, функциями, .... ????
11 фев 14, 14:28    [15551405]     Ответить | Цитировать Сообщить модератору
 Re: Перенос данных между двумя инстансами ms sql. Автоматизация. How to?  [new]
Рабинович
Member

Откуда:
Сообщений: 58
SQL2008, благодарю, почитаю

Glory, да только кроме пользователей

gang, спасибо
11 фев 14, 14:31    [15551427]     Ответить | Цитировать Сообщить модератору
 Re: Перенос данных между двумя инстансами ms sql. Автоматизация. How to?  [new]
Glory
Member

Откуда:
Сообщений: 104751
Рабинович
Glory, да только кроме пользователей

Тогда бэкапы и копирование файлов не подойдет.

А с программными объектами тоже как-то непонятно. Вы хотите при синхронизации удалять на девелопменте вообще все, что там насоздавали разработчики ?
11 фев 14, 14:34    [15551446]     Ответить | Цитировать Сообщить модератору
 Re: Перенос данных между двумя инстансами ms sql. Автоматизация. How to?  [new]
gang
Member

Откуда:
Сообщений: 1394
Рабинович
да только кроме пользователей

Пользователи - это объекты уровня БД. Они переносятся в новую среду в составе бекапа БД.
Если под "пользователями" , что нередко бывает, подразумеваются логины, то они хранятся в БД
мастер и соответственно при обновлении пользовательской БД не изменяются. Скорее всего, после перезаливки
пользовательских баз, потребуется вновь предоставить к ним доступ для логинов тестовой среды.
11 фев 14, 14:36    [15551458]     Ответить | Цитировать Сообщить модератору
 Re: Перенос данных между двумя инстансами ms sql. Автоматизация. How to?  [new]
Рабинович
Member

Откуда:
Сообщений: 58
gang,

ясно, спасибо.
В принципе, пользователи/права тестового сервера такие же как боевого только добавлены разработчики ПО с правами. Их можно перенести со второго Дев-сервера.
11 фев 14, 14:42    [15551494]     Ответить | Цитировать Сообщить модератору
 Re: Перенос данных между двумя инстансами ms sql. Автоматизация. How to?  [new]
gang
Member

Откуда:
Сообщений: 1394
Рабинович
Их можно перенести со второго Дев-сервера.

Их можно заскриптовать на обновляемом тестовом сервере и добавить выполнение этого скрипта в джоб перезаливки баз.
11 фев 14, 14:48    [15551526]     Ответить | Цитировать Сообщить модератору
 Re: Перенос данных между двумя инстансами ms sql. Автоматизация. How to?  [new]
Glory
Member

Откуда:
Сообщений: 104751
gang
Их можно заскриптовать на обновляемом тестовом сервере и добавить выполнение этого скрипта в джоб перезаливки баз.

А потом окажется, что этот скрипт упадет, потому что, например, число объектов уже разное
Имхо, какая то мазохистская синхронизация. Со множеством неизвестных исходов и последующей ручной правки.

По-моему, нужно просто
1) определить список синхронизируемых объектов
2) создать и пременить скрипт разницы в схеме по этим объектам
3) перенести данные
11 фев 14, 14:53    [15551568]     Ответить | Цитировать Сообщить модератору
 Re: Перенос данных между двумя инстансами ms sql. Автоматизация. How to?  [new]
Рабинович
Member

Откуда:
Сообщений: 58
Glory
А с программными объектами тоже как-то непонятно. Вы хотите при синхронизации удалять на девелопменте вообще все, что там насоздавали разработчики ?

Да именно так. У нас два дев сервера. Один тестовый где свежие данные за день. А на втором то что разработчики насоздавали. Речь сейчас идет о первом деве
11 фев 14, 14:58    [15551598]     Ответить | Цитировать Сообщить модератору
 Re: Перенос данных между двумя инстансами ms sql. Автоматизация. How to?  [new]
gang
Member

Откуда:
Сообщений: 1394
[quot Glory]
gang
А потом окажется, что этот скрипт упадет, потому что, например, число объектов уже разное

Ну зачем так сложно? Это ж тест. Куда там объекты, sp_addrolemember 'db_owner', 'developer_login' 99.9%
11 фев 14, 15:28    [15551817]     Ответить | Цитировать Сообщить модератору
Все форумы / Microsoft SQL Server Ответить