Автор Тема: Репликация базы данных с сервер MS SQL Standart на на SQL Exspress 2012  (Прочитано 7539 раз)

0 Пользователей и 1 Гость просматривают эту тему.

Оффлайн 2site

  • Постоялец
  • ***
  • Сообщений: 191
  • Рейтинг: 0
  • Пол: Мужской
    • Просмотр профиля
  • Откуда: Москва
Прошу помощи в организации репликации базы из MS SQL server 2012 на другой сервер SQL Express 2012. Репликацию нужно выполнять раз в день, ночью. Реплицированную базу на SQL Express будут использовать только для чтения и актуализовывать ее нужно будет каждую ночь. Если есть у кого идеи как это сделать, буду очень признателен. Пока в идеи приходит это создание плана на резервное копирование базы и каким-то скриптом восстановление этой базы на SQL express. Буду рад любым идеям. Спасибо заранее  :beer:

Оффлайн 2site

  • Постоялец
  • ***
  • Сообщений: 191
  • Рейтинг: 0
  • Пол: Мужской
    • Просмотр профиля
  • Откуда: Москва
Нашел в интернете что Express поддерживает репликацию как подписчик. Сейчас буду искать мануалы как это сделать.

Оффлайн airdwarf

  • Постоялец
  • ***
  • Сообщений: 371
  • Рейтинг: 7
  • Пол: Мужской
    • Просмотр профиля
  • Откуда: Чесслово, нашел, гражданин начальник!
Так вы определитесь, репликация вам нужна, логшиппинг или развертывание бэкапа по расписанию.
Реплицированную базу на SQL Express будут использовать только для чтения
А прикладное ПО об этом знает? 1С, например, увидев базу в standby, изрядно удивится и скажет "Кря".

Кроме того, когда исходная база дорастет до 10Гб, SQL EE тоже скажет "Кря".
Кто чувствует несвободу воли, тот душевнобольной; кто отрицает ее, тот глуп. Один я умный в белом пальто стою красивый.
Вы тут серьёзно отстали от жизни. Админство, саппорт - это уже вчерашний день. Сейчас рулят микросервисная архитектура и continuous integration. Ну еще SAAS, конечно.

Оффлайн 2site

  • Постоялец
  • ***
  • Сообщений: 191
  • Рейтинг: 0
  • Пол: Мужской
    • Просмотр профиля
  • Откуда: Москва
Так вы определитесь, репликация вам нужна, логшиппинг или развертывание бэкапа по расписанию.
Реплицированную базу на SQL Express будут использовать только для чтения
А прикладное ПО об этом знает? 1С, например, увидев базу в standby, изрядно удивится и скажет "Кря".

Кроме того, когда исходная база дорастет до 10Гб, SQL EE тоже скажет "Кря".

Спасибо за замечание, но думаю такого быть не должно так как там не 1с и база 1 и маленькая. Темболее это запрос от програмистов, которые и обслуживают базу. Моя задача сделать :)

Оффлайн 2site

  • Постоялец
  • ***
  • Сообщений: 191
  • Рейтинг: 0
  • Пол: Мужской
    • Просмотр профиля
  • Откуда: Москва
А сам процесс репликации как работает? Может действительно не делать реплицируемую базу только для чтения, а здеалть так чтобы новая реплика намазывала свурху свои изменения поверх тех которых моглиб сделать во время работы с реплицируемой базой?

Оффлайн airdwarf

  • Постоялец
  • ***
  • Сообщений: 371
  • Рейтинг: 7
  • Пол: Мужской
    • Просмотр профиля
  • Откуда: Чесслово, нашел, гражданин начальник!
Репликация работает через параллельное выполнение транзакций, аналогичных мастеру, на слейве.
Логшиппинг работает через отложенное выполнение таких транзакций по журналу транзакций.
Таким образом, ни в одном из этих механизмов нет возможности вносить в реплику какие-либо изменения.

Если требуется доступ на запись, то ваш выбор - еженощно развертывать полный бэкап. Дифференциальный бэкап на не-readonly "реплику" Вы накатить также не сможете

здеалть так чтобы новая реплика намазывала свурху свои изменения поверх тех которых моглиб сделать во время работы с реплицируемой базой
Вы желаете странного. На уровне СУБД так не бывает.
Кто чувствует несвободу воли, тот душевнобольной; кто отрицает ее, тот глуп. Один я умный в белом пальто стою красивый.
Вы тут серьёзно отстали от жизни. Админство, саппорт - это уже вчерашний день. Сейчас рулят микросервисная архитектура и continuous integration. Ну еще SAAS, конечно.

Оффлайн 2site

  • Постоялец
  • ***
  • Сообщений: 191
  • Рейтинг: 0
  • Пол: Мужской
    • Просмотр профиля
  • Откуда: Москва


[/quote]
Если требуется доступ на запись, то ваш выбор - еженощно развертывать полный бэкап.

Есть два вопроса:

1) Мне не нужен доступ на запись для реплики. Мне нужна копия базы на sql server express на чтение и ежедневной актуализацией. Это можно реализовать средствами репликации sql сервера?

2) Если говорить про еженочное разветываение полного бэкапа, этот вариант возможно действительно проще, но не совсем понятно как реализовать его автоматизацию? Как создать бэкап базы по расписанию с помощью Агента я знаю, а вот как это сделать восстановление из бэкапов на sql express без Агента, вводит меня в смятение? Я так понимаю нужно писать скрипт который это будет выполнять, только вот не понятно с помощью powershell или другими методами? airdwarf, буду тебе очень благодарен если поможешь разобраться в обоих вопросах. 

Оффлайн airdwarf

  • Постоялец
  • ***
  • Сообщений: 371
  • Рейтинг: 7
  • Пол: Мужской
    • Просмотр профиля
  • Откуда: Чесслово, нашел, гражданин начальник!
Мне не нужен доступ на запись для реплики. Мне нужна копия базы на sql server express на чтение и ежедневной актуализацией. Это можно реализовать средствами репликации sql сервера?

настройте Log shipping

как это сделать восстановление из бэкапов на sql express без Агента

sqlcmd -S SERVERNAME\EXNAME -i restore_backup.sql >> B:\backup.log
Запрос для восстановления бэкапа можно получить в консоли SSMS
Выполняться должно от лица пользователя windows - владельца БД



Updated: 13 April 2016, 16:37:28

И если я не ошибаюсь, агент в ЕЕ таки есть, просто выключен.
Попробуйте выполнить запрос, а потом стартовать агента, мне проверить не на чем
sp_configure 'show advanced options', 1;
GO
RECONFIGURE;
GO
sp_configure 'Agent XPs', 1;
GO
RECONFIGURE
GO



Ну и наконец, кто мешает управлять инстансом ЕЕ с агента Standard?
Кто чувствует несвободу воли, тот душевнобольной; кто отрицает ее, тот глуп. Один я умный в белом пальто стою красивый.
Вы тут серьёзно отстали от жизни. Админство, саппорт - это уже вчерашний день. Сейчас рулят микросервисная архитектура и continuous integration. Ну еще SAAS, конечно.

Оффлайн 2site

  • Постоялец
  • ***
  • Сообщений: 191
  • Рейтинг: 0
  • Пол: Мужской
    • Просмотр профиля
  • Откуда: Москва
Спасибо большое, буду тестировать все перечисленные способы.

Оффлайн Fray

  • Администратор
  • Олдфаг
  • *****
  • Сообщений: 6668
  • Рейтинг: 58
  • Пол: Мужской
    • Просмотр профиля
    • IT-Бложек
  • Откуда: Петербург
Можно погуглить репликацию SQL снепшотами (правда я не уверен, что express ее умеет)
MCSE: Messaging, MCSE: Communication, MCSE: Productivity, MCSA: Office 365, MCPS
my blog - http://it-blojek.ru