Назад | Перейти на главную страницу

Полное обновление SQL Server

наш текущий SQL-сервер находится на 32-битной Windows 2003, поэтому мы запланировали перестроить сервер с нуля на 64-битную версию, однако у нас есть около 200 баз данных, работающих на сервере, поэтому мне, возможно, придется делать резервную копию всего за один раз и восстанавливать их после установки 64-битной Windows . есть ли какой-нибудь более простой способ восстановить все эти базы данных в большом количестве или были бы оценены любые безопасные варианты.

Используйте сам SQL для создания сценариев резервного копирования и восстановления. Сначала вам нужно будет обработать MASTER и MSDB с помощью документированных средств для получения учетных записей пользователей, но в противном случае вы делаете что-то вроде этого (не проверенный код):

/* script to generate backup script */
    use master
go
select 'backup database ['+ [name] +'] to DISK=''\\myserver\mypath\' + [name] + '.BAK'' WITH COPY_ONLY, INIT'
    from sys.databases where name not in ('master','msdb','tempdb','model')

/* generate restore script */
    select 'restore database ['+ [name] +'] from DISK=''\\myserver\mypath\' + [name] + '.BAK'' '
    from sys.databases where name not in ('master','msdb','tempdb','model')

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

В самый быстрый Таким образом можно было бы установить SQL-сервер с тем же путем и схемами дисков, а затем просто выключить исходный сервер и скопировать все файлы в те же места на новом сервере (включая главный и т. д.). Раньше у меня это срабатывало, но восстановление мастера на новый сервер таким способом не совсем без проблем, в зависимости от условий (и, я думаю, это официально не поддерживается MSFT). Он должен работать до тех пор, пока у вас одинаковые выпуск, версия и пакет обновления + уровень исправлений SQL Server, даже если источник - 32-разрядный, а место назначения - 64-разрядный.