У нас есть sql server 2005, который содержит от 4 до 5 баз данных, которые обновляются каждый день извне. В настоящее время мы создаем резервную копию базы данных и подключаемся к другому серверу и работаем над ним, чтобы убедиться, что в исходной базе данных ничего не было удалено или изменено.
Но этот процесс резервного копирования и восстановления стал хлопотным, поэтому я просмотрел несколько вариантов, таких как службы репликации, но у меня, похоже, не установлены компоненты репликации, я пытался их установить, но я мог видеть только службы подписки, а не услуги издателя, какими бы способами мы ни использовали sql server 2005 express edition - лучший вариант репликации или вы предлагаете другие способы?
Если да, то как получить компоненты репликации? А если нет, то каковы другие пути?
Заранее спасибо
Службы репликации на стороне издателя недоступны в SQL Express. Это вопрос лицензирования. Sql Express позволяет вам подписаться только на существующую публикацию.
Вместо репликации вы можете решить установить задание резервного копирования по расписанию. Поскольку управление заданиями недоступно в sql express (и я думаю, вы не хотите платить за полную лицензию на Sql Server), вы можете найти стороннее программное обеспечение, которое позволит вам управлять такими задачами. Я думаю, вам следует поискать в Google запрос «sql express job scheduler» или аналогичный запрос.
Вы можете захотеть проверить Эта статья на databasejournal.com. Особо следует отметить этот абзац:
Следует иметь в виду, что функция репликации не включена по умолчанию в установку SQL Server 2005 Express Edition. Параметр, управляющий этим поведением, доступен, развернув узел «Службы базы данных» на странице «Выбор компонентов» мастера установки, и может быть изменен путем присвоения значения «Будет установлен на локальном жестком диске» его записи репликации. Кроме того, если вы намереваетесь воспользоваться преимуществами объектов управления связью и репликацией (RMO), вам следует применить тот же параметр к подузлу Connectivity Components узла Clients Components на той же странице мастера. Если вы пропустили эти шаги во время начальной установки, просто запустите SQLEXPR32.EXE (или SQLEXPR.EXE для 64-битных систем), чтобы изменить существующий экземпляр (для получения справочной информации об этом процессе см. Нашу предыдущую статью).
Здесь репликация может оказаться излишней, поскольку она предназначена больше для непрерывной передачи данных, чем просто для создания рабочей резервной копии. Очевидно, существуют методы периодической репликации (снимок), но я все же думаю, что это больше, чем вам нужно для того, что вы пытаетесь сделать.
Если оба экземпляра базы данных находятся на одном сервере (или имеют видимость для общего сетевого расположения), то вы можете просто запланировать ежедневное резервное копирование на первом и ежедневное восстановление через 30 минут на втором (или любая возможная задержка). Таким образом, это происходит автоматически.
Я просто настроил более сложный процесс на случай, если у вас нет общего сетевого местоположения. Пакетный файл в источнике создает резервную копию через OSQL, затем архивирует ее и использует сценарий FTP для отправки через Интернет. Другой сценарий в нашем месте назначения видит файл в папке приема FTP, извлекает его, а затем восстанавливает с помощью OSQL, отправляя уведомление по электронной почте, когда это будет сделано. Определенно более сложный, но также вариант, если вам нужна гибкость.
Репликация действительно была бы похожа на стрельбу по мухе из слоновьего ружья.
Почему бы просто не восстановить базу данных с другим именем? Например, у вас могут быть «MyProductionDB» и «MyTestDB». Затем создайте сценарий резервного копирования и восстановления, и вам нужно запустить сценарий только тогда, когда вы хотите «обновить» тестовый экземпляр (обратите внимание, что есть кнопка «Создать сценарий» в верхней части диалоговых окон резервного копирования и восстановления).
В качестве альтернативы выполните то же резервное копирование / восстановление по сценарию, но создайте тестовый экземпляр, если вы не можете изменить имя базы данных. Тестовый экземпляр может быть даже на одной физической машине - MyComputer \ SQLExpress и MyComputer \ SQLExpressTest.