2009-02-18 2 views
3

Я хотел бы сохранить мои резервные копии с моего сервера SQL 2008 на другое местоположение сервера. У нас есть 2 сервера:Внешняя резервная копия Microsoft SQL Server 2008

  • сервера развертывания
  • File Server

Проблема заключается в том, что сервер развертывания не имеет много места. И мы сохраняем резервные копии наших баз данных на 10 дней. Поэтому нам нужно хранить наши резервные копии на внешнем «файловом сервере». Проблема в том, что SQL этого не допускает. Я попытался запустить службу SQL 2008 с учетной записью с правами администратора на обеих учетных записях (доменной учетной записи), но это все еще не работает.

Любые мысли об этом. В противном случае нам придется поместить внешний жесткий диск на сервер стойки, и это вроде глупо нет?

EDIT:

Я нашел способ заставить его работать. Вам необходимо предоставить доступ к папке на сервере. Затем предоставите серверу разработки (самому ПК) права на запись. Это сделает внешние резервные копии возможными с SQL-сервером. Не знаю, действительно ли это безопасно, я нахожу это странным, чтобы дать права компьютера на папку.

+1

Моим советом было бы сделать резервную копию локально, а затем переместить файлы. Если вы выполняете резервное копирование напрямую на удаленный общий ресурс и имеете проблемы с сетевым подключением, у вас нет резервной копии, а общий доступ может быть достаточно медленным, чтобы начать вызывать таймауты в SQL – Kristen

ответ

1

вы можете использовать планировщик для перемещения резервных копий через определенное количество времени после начала резервного копирования с помощью командного файла.

Если я правильно помню, есть хак, позволяющий серверу sql для резервного копирования на удаленном хранилище, но я не думаю, что взлом - это путь.

Конечно, лучшей возможностью может быть использование внешнего инструмента резервного копирования, которое поддерживает использование агентов. Они контролируют, когда начинается резервное копирование, и заботятся о том, чтобы файлы перемещались.

Sascha

+0

Я не люблю Backup Agents для SQL. Что происходит, когда у вас есть проблема с попыткой восстановить? Я видел много криков о помощи на форумах от пользователей SQL Backup-Agent :( – Kristen

+0

P.S.Я прочитал много хороших вещей о резервной копии SQL Litespeed из Quest в прошлом. Однако никакого личного опыта. – Kristen

+0

Я думаю, что есть плюсы и минусы в использовании резервных агентов, таких как Veritas backup exec, например. Как и в случае с любым решением резервного копирования, следует проверить ситуацию с наихудшим случаем: Восстановить его на запланированной стадии обслуживания. Возможно, на втором сервере. – Sascha

1

Вы можете создать пакет приятный и аккуратный маленькие интеграции SQL Server Services (SSIS) для обоего выполнять резервное копирование, а затем переместить данные на альтернативное хранилище файлов.

Интересно, что планы обслуживания в SQL Server фактически используют компоненты SSIS. Эти же компоненты доступны для использования в студии Business Intelligence Design Studio (BIDS).

Надеюсь, это ясно, но дайте мне знать, если вам потребуется дополнительная помощь.

Приветствия, Джон

0

Мой опыт более старые версии MSSQL, так что там могут быть вещи в SQL2008, которые помогут вам лучше.

Мы находимся на жестком диске на некоторых наших старых серверах. Это машины в нашем интернет-провайдере, и время их восстановления с ленты не очень хорошее - 24 часа не редкость :(Поэтому нам нужно сохранить приличную историю резервного копирования в сети.

Мы берем полную резервную копию в воскресенье, дифференциальное резервное копирование каждую ночь и резервные копии TLog каждые 10 минут.

Мы заставляем резервные копии Tlog каждую минуту во время дефрагментации таблиц и индексов и обновления статистики - это потому, что это самые интенсивные задачи TLog, которые мы запускаем, и они ранее ответственно определяли размер постоянного файла Tlog; так как это изменение позволило запустить постоянный размер TLog примерно на 60% меньше, чем раньше.

Стоит посмотреть размер резервных копий Diff, хотя - если окажется, что к резервной копии среды резервная копия DIFF приближается к размеру полной резервной копии, вы можете также запустить полную резервную копию два раза в неделю и иметь меньший размер резервные копии на следующий день или два.

При удалении файлов резервной копии Full или Diff (для восстановления дискового пространства) убедитесь, что вы удалили ранее резервные копии TLog. Но рассмотрите свой путь восстановления - хотите ли вы восстановить полное резервное копирование в прошлый воскресенье и все Tlog с тех пор, или вы счастливы, что для восстановления момента в момент восстановления вы можете вернуться только до резервного копирования DIFF прошлой ночью? (т. е. вернуться дальше, вы можете восстановить только резервную копию FULL/DIFF, а не точку отсчета). Если позже вы сможете удалить все предыдущие резервные копии Tlog, как только вы сделали резервную копию DIFF.

(Очевидно, что независимо от этого вам необходимо получить резервные копии на ленту и т. Д., А на ваш сервер-копию вам просто не нужно зависеть от восстановления ленты, чтобы сделать восстановление, но вы теряете гранулярность восстановления со временем)

Мы можем восстановить последний полный (или последний полный плюс DIFF понедельника) в «временную базу данных», чтобы проверить что-то, а затем отбросить эту БД, но если мы действительно ДЕЙСТВИТЕЛЬНО должны были восстановить к «последнему понедельнику 15 минут-минус 10 утра», мы будем жить с необходимостью получать резервные копии с ленты или с сервера-копии.

Все наши резервные файлы находятся в каталоге NTFS с комплектом Compress. (Возможно, вы можете создавать сжатые резервные копии прямо из SQL2008 ??, на серверах, у которых есть головоломки, работает SQL2000). Я читал, что это неодобрительно, но никогда не видел хороших рассуждений, почему, и у нас никогда не было проблем с этим - прикоснитесь к дереву!

+0

Вы должны восстановить FULL, затем DIFF, а затем все резервные копии TLOG с тех пор (если вы хотите восстановить до недавнего времени, чем время DIFF). ПРИМЕЧАНИЕ. Вы должны восстановить FULL, сделанный совсем недавно до Diff. то есть DIFF основан на предыдущем FULL. Также вы должны оставить AdHoc FULL – Kristen

4

Вы можете использовать 3 инструменты сторонних как SqlBackupAndFTP

+1

. Я бы определенно рекомендовал этот инструмент для чего-то простого, что просто работает. –

2

Есть несколько способов сделать это уже было описано, но это один основан на моем проекте с открытым исходным кодом, SQL Server Compressed Backup. Это инструмент командной строки для резервного копирования баз данных SQL Server, и он может писать в любом месте, на который может писать пользователь NT. Просто назначьте его в запланированных задачах, запущенных с пользователем с соответствующими разрешениями.

Пример резервного копирования на акцию на другом сервере будет:

msbp.exe backup "db(database=model)" "gzip" "local(path=\\server\share\path\model.full.bak.gz)" 

Все опции команды BACKUP, которые имеют смысл для резервного копирования в файлы доступны: лаг, дифференциал, copy_only, контрольная сумма, и больше (варианты ленточного накопителя недоступны, например).

0

Некоторые сторонние программы резервного копирования позволяют устанавливать определенные разрешения пользователей для сетевых местоположений. Поэтому не имеет значения, какие у пользователя службы SQL Server есть полномочия. Я бы порекомендовал вам попробовать EMS SQL Backup, который также поддерживает резервное сжатие «на лету», чтобы сэкономить место для хранения.

Смежные вопросы