Миграция с SQL Server 2000 на SQL Server 2008 R2 - PullRequest
4 голосов
/ 22 июня 2011

Я использую SQL Server 2000, включая 77 баз данных, и хочу перенести их на новый SQL Server 2008 R2.

Я могу выполнить эту операцию индивидуально с помощью команд присоединения или восстановления. Есть ли скрипт для переноса 77 баз данных на новый установленный сервер SQL Server 2008 R2.

Спасибо

Ответы [ 3 ]

2 голосов
/ 22 июня 2011

Вы можете написать скрипт для резервного копирования в цикле и восстановить на другом сервере

Пока файлы резервных копий видны обоим серверам.Это позволит использовать параметр WITH MOVE для разных дисков / папок.

Резервные копии меньше, чем MDF / LDF, и меньше копируют

2 голосов
/ 22 июня 2011

Вам нужно будет создать свой собственный скрипт, поскольку вы действительно хотите сделать больше, чем резервное копирование и восстановление.Другие вещи, которые вы можете сделать, это запустить DBCC UpdateUsage, установить уровень совместимости, обновить статистику, запустить DBCC CheckDB с Data_Purity, изменить опцию проверки страницы на контрольную сумму.Вы также можете иметь репликации и полнотекстовые каталоги, чтобы иметь дело с.Все эти вещи, вероятно, должны были бы войти в ваш сценарий.

Вам необходимо настроить сценарий, который выполняет все / некоторые / более вещей, упомянутых ранее в базе данных, а затем расширить свой сценарий, чтобы пройти через все вашибазы данных.Это можно сделать, используя комбинацию командных файлов или файлов PowerShell и используя sqlcmd.

Например, это один из сценариев, который я запускаю после восстановления резервных копий на новом сервере.Вызывается из пакетного файла Windows через sqlcmd.

USE [master]

GO

ALTER DATABASE [$ (DATABASENAME)] SET COMPATIBILITY_LEVEL = 100

ALTER DATABASE [$ (DATABASENAME)] SET PAGE_VERIFY CHECKSUM WITH NO_WAIT GO

Использовать [$ (DATABASENAME)] *

Go Объявить @DBO sysname

- кто является пользователем sa

Выберите @DBO = имя из sys.server_principals, где Principal_id = 1

- назначить владельцу БД

exec ('sp_changedbowner' '' + @DBO + '' ''))go

- исправить счетчики

dbcc updateusage (0) go - проверить, чтобы db включала целостность значения столбца

dbcc checkdb (0) с Data_Purity, ALL_ERRORMSGS,NO_INFOMSGS go

- убедитесь, что статистика обновлена ​​

exec sp_updatestats

Go

0 голосов
/ 22 июня 2011

Вы можете использовать такой программный инструмент, как Sql Compare .

Если мне не удастся написать их индивидуально.

Вы можете бегать по внутренней таблице sysobjects и создать комбинированный скрипт, но я бы не стал.

...