Итак, у вас появилась необходимость разместить данные в нескольких местах. Возможно, распределение данных необходимо для повышения производительности или обеспечения аварийного восстановления. А может, у вас есть корпоративный центр, которому необходимо распределить данные по региональным или локальным офисам. Существует много причин для перемещения данных.
Определяя, какие из данных подлежат распределению, следует учитывать следующие факторы:
В лекциях 4-5 мы научились использовать T-SQL для резервного копирования и восстановления баз данных. В данной лекции будет рассмотрено четыре метода переноса данных SQL Server 2005, в том числе, резервное копирование с последующим восстановлением. Каждый метод имеет свои сильные и слабые стороны, и каждый подходит для переноса определенного типа данных. Вот эти четыре метода:
Чтобы использовать некоторые из этих методов, нужно запустить мастер; о мастерах также рассказывается в соответствующих разделах. Службы SSIS и агент SQL Server также можно использовать для планирования и автоматизации выбранного вами метода; об этой методике рассказывает последний раздел данной лекции.
При описании этих методов термин "целевой сервер" мы будем использовать для обозначения системы, на которую перемещаются данные. Термин "сервер-источник" используется для обозначения системы, которая является источником перемещаемых данных. Во всех примерах в этой лекции в качестве исходной используется база данных Adventure Works, которая выполняется на экземпляре SQL Server по умолчанию. Конечным сервером будет именованный экземпляр "target" на том же сервере. Мы будем использовать различные целевые серверы, чтобы проиллюстрировать возможные варианты переноса данных в соответствии с различными требованиями.
Как конвертировать базу данных из SQL Server 2000 в SQL Server 2005
Для обновления базы данных посредством копирования на сервер с установленным пакетом SQL Server 2005 можно воспользоваться одним из следующих методов:
Прежде чем вступить на путь обновления, запустите средство Microsoft SQL Server 2005 Upgrade Advisor и ознакомьтесь с рекомендациями SQL Server 2005 Upgrade Handbook. Оба этих ресурса доступны для бесплатной загрузки на сайте www.microsoft.com/sql.
Как? Использовать резервное копирование и восстановление в качестве метода переноса данных. Конечно! Одно из главных преимуществ использования резервного копирования заключается в том, что оно оказывает минимальное влияние на работу системы. Резервное копирование - это рутинная операция, которая позволяет продолжать ведение бизнеса во время ее выполнения. Существует три типа резервных копий, которые можно использовать, каждая из них может подойти в какой-либо ситуации. Эти три типа - полная резервная копия, разностная резервная копия базы данных и резервная копия журнала транзакций. Подробная информация о каждом из этих типов и об их использовании приводится в лекциях 4-5.
Все стратегии резервного копирования используют полную резервную копию базы данных в качестве отправной точки, поэтому этот вид резервного копирования следует запланировать в первую очередь. Стратегия резервного копирования, которую вы используете для переноса данных, будет зависеть от изменчивости ваших данных и требований целевой системы. Если вам нужны одни и те же данные в разных местах, но эти данные часто изменяются, то простое применение полного резервного копирования базы данных вам не подойдет. Но если вам нужно переместить менее изменчивые данные, которые впоследствии не придется изменять на целевой системе, то полное резервное копирование базы данных может стать для вас превосходным вариантом.
При восстановлении базы данных следует иметь в виду несколько параметров. Во-первых, нужно знать, какой вид восстановления вы собираетесь выполнить. Если вы используете разностные резервные копии и резервные копии журнала транзакций, то придется восстанавливать фрагменты в определенной последовательности. Используйте параметр NO RECOVERY, чтобы сообщить SQL Server, что есть еще фрагменты, которые нужно восстановить. Используйте параметр RECOVERY, чтобы сообщить SQL Server, что вы закончили восстановление данных до желательной точки.
Давайте рассмотрим два доступных варианта переноса данных при помощи резервного копирования/восстановления. В первом варианте используется только полная резервная копия базы данных. Во втором варианте полная резервная копия базы данных используется вместе с разностной резервной копией и резервной копией журнала транзакций.
Существует два способа настроить резервное копирование. Вы можете написать сценарии сами или воспользоваться SQL Server Management Studio. Мы продемонстрируем обе методики.

Укажите свойства в разделе Destination (Назначение), нажав кнопку Add (Добавить). При этом откроется следующее диалоговое окно:

Для переноса данных назначение обычно указывается в виде имени файла. Можно указать устройство резервного копирования, но этот вариант принято указывать для ленточных устройств, которые обычно не используются при переносе данных.
FullBackupScript.sql.BACKUP DATABASE [AdventureWorks] TO DISK = N'C:\Program Files\Microsoft SQL Server\ MSSQL.1\MSSQL\Backup\AdvWorks20060301.bak' WITH NOFORMAT, NOINIT, SKIP, NOREWIND, NOUNLOAD, STATS = 10 GO



RESTORE WITH RECOVERY, в секции Recovery State (Состояние восстановления). Этот параметр используется при полных восстановлениях базы данных, поскольку позволяет приступить к ее использованию сразу после восстановления. Другие варианты используются в тех случаях, когда при восстановлении используются дополнительные файлы резервных копий.FullRestoreScript.sql.RESTORE DATABASE [AdventureWorks2] FROM DISK = N'C:\Program Files\Microsoft SQL Server\ MSSQL.1\MSSQL\Backup\AdvWorks20060301.bak' WITH FILE = 1, MOVE N'AdventureWorks_Data' TO N'C:\Program Files\Microsoft SQL Server\ MSSQL.1\MSSQL\Data\AdventureWorks_Data2.mdf', MOVE N'AdventureWorks_Log' TO N'C:\Program Files\Microsoft SQL Server\ MSSQL.1\MSSQL\Data\AdventureWorks_Log2.ldf', NOUNLOAD, REPLACE, STATS = 10
Хотя действия, описанные для создания полной резервной копии, позволяют выполнить этот процесс за один раз, автоматизировать процесс нелегко. Следующий код, включенный в файлы примеров под именем BackupAllUserDBs.sql, позволит добиться большей гибкости при планировании операций резервного копирования и восстановления. (В лекции 7 об автоматизации и планировании рассказывается более подробно).
Данный код создает резервные копии всех пользовательских баз данных. Измените этот сценарий так, чтобы он лучше удовлетворял вашим требованиям. Обратите внимание на то, что некоторые строки разбиты из-за их длины.
declare @DatabaseName varchar(300)
,@BackupSQL varchar(8000)
,@Timestamp varchar(30)
,@DirectoryPath varchar(2000)
,@FullPath varchar(2500)
,@RecoveryModel int
set @DirectoryPath = "D:\MSSQL\BACKUP\"
-создаем временную метку для имени файла резервной копии
set @TimeStamp = convert(varchar, getdate(),112) +
replace(convert(varchar, getdate(),108),':','')
-извлекаем только пользовательские базы данных
declare Database_Cursor cursor for
select d.name
from sys.databases d
where d.name not in("master",'tempdb','model','msdb')
open Database_Cursor
fetch next from Database_Cursor
into @DatabaseName
while @@fetch_status = 0
begin
set @FullPath = ""
set @FullPath = @DirectoryPath + @DatabaseName
exec sys.xp_create_subdir @FullPath
set @BackupSQL = ""
set @BackupSQL = @BackupSQL + "BACKUP DATABASE "+
@DatabaseName + "TO DISK = N'" +
@FullPath + "\" +
@DatabaseName + "_" +
@TimeStamp + ".bak"'
WITH NOFORMAT, NOINIT, SKIP'
exec (@BackupSQL)
-создаем резервные копии журнала транзакций
select @RecoveryModel = d.recovery_model
from sys.databases as d
where d.name = @DatabaseName
-только резервные копии журналов транзакций тех баз данных, для которых выбрана модель восстановления Full
if @RecoveryModel = 1
begin
set @BackupSQL = ""
set @BackupSQL = @BackupSQL + "BACKUP LOG "+
@DatabaseName + "TO DISK = N'" + @FullPath + "\" +
@DatabaseName + "_" + @TimeStamp + ".trn"'
WITH NOFORMAT, NOINIT, SKIP'
exec(@BackupSQL)
end
fetch next from Database_Cursor
into @DatabaseName
end
close Database_Cursor
deallocate Database_Cursor
При использовании разностных резервных копий или резервных копий журнала транзакций необходимо начать с полной резервной копии. Выполните первые пять действий описанной выше процедуры, чтобы создать исходную полную резервную копию. Не продолжайте процесс восстановления до завершения. После создания полной резервной копии выполните следующие действия.
RESTORE WITH NORECOVERY (пункт 12). Благодаря этому база данных останется в неиспользуемом состоянии. В панели Object Explorer (Обозреватель объектов) база данных будет помечена зеленой стрелкой и словом "(Restoring)" (Восстановление из копии) Эту базу данных нельзя будет использовать до завершения процесса восстановления работоспособности.RESTORE WITH RECOVERY. Нажмите кнопку OK, и база данных будет готова к использованию по завершении операции восстановления..bak , а для резервных копий журнала транзакций - расширение имени файла .trn.RESTORE WITH NORECOVERY.
Как видите, это диалоговое окно не отличается от обычного окна Restore (Восстановление). Единственная дополнительная настройка – это Restore To (Восстановить в) в нижней части диалогового окна. Для всех примеров используйте вариант Point In Time (На момент времени). Выделите первую резервную копию в цепочке журналов, задав для Recovery State (Состояние восстановления) параметр RESTORE WITH NORECOVERY. Нажмите кнопку ОК, чтобы восстановить данные из этой резервной копии.
RESTORE WITH RECOVERY, благодаря чему база данных после восстановления будет в рабочем состоянии.Итак, у вас появилась необходимость разместить данные в нескольких местах. Возможно, распределение данных необходимо для повышения производительности или обеспечения аварийного восстановления. А может, у вас есть корпоративный центр, которому необходимо распределить данные по региональным или локальным офисам. Существует много причин для перемещения данных.
Определяя, какие из данных подлежат распределению, следует учитывать следующие факторы:
В лекциях 4-5 мы научились использовать T-SQL для резервного копирования и восстановления баз данных. В данной лекции будет рассмотрено четыре метода переноса данных SQL Server 2005, в том числе, резервное копирование с последующим восстановлением. Каждый метод имеет свои сильные и слабые стороны, и каждый подходит для переноса определенного типа данных. Вот эти четыре метода:
Чтобы использовать некоторые из этих методов, нужно запустить мастер; о мастерах также рассказывается в соответствующих разделах. Службы SSIS и агент SQL Server также можно использовать для планирования и автоматизации выбранного вами метода; об этой методике рассказывает последний раздел данной лекции.
При описании этих методов термин "целевой сервер" мы будем использовать для обозначения системы, на которую перемещаются данные. Термин "сервер-источник" используется для обозначения системы, которая является источником перемещаемых данных. Во всех примерах в этой лекции в качестве исходной используется база данных Adventure Works, которая выполняется на экземпляре SQL Server по умолчанию. Конечным сервером будет именованный экземпляр "target" на том же сервере. Мы будем использовать различные целевые серверы, чтобы проиллюстрировать возможные варианты переноса данных в соответствии с различными требованиями.
Как конвертировать базу данных из SQL Server 2000 в SQL Server 2005
Для обновления базы данных посредством копирования на сервер с установленным пакетом SQL Server 2005 можно воспользоваться одним из следующих методов:
Прежде чем вступить на путь обновления, запустите средство Microsoft SQL Server 2005 Upgrade Advisor и ознакомьтесь с рекомендациями SQL Server 2005 Upgrade Handbook. Оба этих ресурса доступны для бесплатной загрузки на сайте www.microsoft.com/sql.
Как? Использовать резервное копирование и восстановление в качестве метода переноса данных. Конечно! Одно из главных преимуществ использования резервного копирования заключается в том, что оно оказывает минимальное влияние на работу системы. Резервное копирование - это рутинная операция, которая позволяет продолжать ведение бизнеса во время ее выполнения. Существует три типа резервных копий, которые можно использовать, каждая из них может подойти в какой-либо ситуации. Эти три типа - полная резервная копия, разностная резервная копия базы данных и резервная копия журнала транзакций. Подробная информация о каждом из этих типов и об их использовании приводится в лекциях 4-5.
Все стратегии резервного копирования используют полную резервную копию базы данных в качестве отправной точки, поэтому этот вид резервного копирования следует запланировать в первую очередь. Стратегия резервного копирования, которую вы используете для переноса данных, будет зависеть от изменчивости ваших данных и требований целевой системы. Если вам нужны одни и те же данные в разных местах, но эти данные часто изменяются, то простое применение полного резервного копирования базы данных вам не подойдет. Но если вам нужно переместить менее изменчивые данные, которые впоследствии не придется изменять на целевой системе, то полное резервное копирование базы данных может стать для вас превосходным вариантом.
При восстановлении базы данных следует иметь в виду несколько параметров. Во-первых, нужно знать, какой вид восстановления вы собираетесь выполнить. Если вы используете разностные резервные копии и резервные копии журнала транзакций, то придется восстанавливать фрагменты в определенной последовательности. Используйте параметр NO RECOVERY, чтобы сообщить SQL Server, что есть еще фрагменты, которые нужно восстановить. Используйте параметр RECOVERY, чтобы сообщить SQL Server, что вы закончили восстановление данных до желательной точки.
Давайте рассмотрим два доступных варианта переноса данных при помощи резервного копирования/восстановления. В первом варианте используется только полная резервная копия базы данных. Во втором варианте полная резервная копия базы данных используется вместе с разностной резервной копией и резервной копией журнала транзакций.
Существует два способа настроить резервное копирование. Вы можете написать сценарии сами или воспользоваться SQL Server Management Studio. Мы продемонстрируем обе методики.

Укажите свойства в разделе Destination (Назначение), нажав кнопку Add (Добавить). При этом откроется следующее диалоговое окно:

Для переноса данных назначение обычно указывается в виде имени файла. Можно указать устройство резервного копирования, но этот вариант принято указывать для ленточных устройств, которые обычно не используются при переносе данных.
FullBackupScript.sql.BACKUP DATABASE [AdventureWorks] TO DISK = N'C:\Program Files\Microsoft SQL Server\ MSSQL.1\MSSQL\Backup\AdvWorks20060301.bak' WITH NOFORMAT, NOINIT, SKIP, NOREWIND, NOUNLOAD, STATS = 10 GO



RESTORE WITH RECOVERY, в секции Recovery State (Состояние восстановления). Этот параметр используется при полных восстановлениях базы данных, поскольку позволяет приступить к ее использованию сразу после восстановления. Другие варианты используются в тех случаях, когда при восстановлении используются дополнительные файлы резервных копий.FullRestoreScript.sql.RESTORE DATABASE [AdventureWorks2] FROM DISK = N'C:\Program Files\Microsoft SQL Server\ MSSQL.1\MSSQL\Backup\AdvWorks20060301.bak' WITH FILE = 1, MOVE N'AdventureWorks_Data' TO N'C:\Program Files\Microsoft SQL Server\ MSSQL.1\MSSQL\Data\AdventureWorks_Data2.mdf', MOVE N'AdventureWorks_Log' TO N'C:\Program Files\Microsoft SQL Server\ MSSQL.1\MSSQL\Data\AdventureWorks_Log2.ldf', NOUNLOAD, REPLACE, STATS = 10
Хотя действия, описанные для создания полной резервной копии, позволяют выполнить этот процесс за один раз, автоматизировать процесс нелегко. Следующий код, включенный в файлы примеров под именем BackupAllUserDBs.sql, позволит добиться большей гибкости при планировании операций резервного копирования и восстановления. (В лекции 7 об автоматизации и планировании рассказывается более подробно).
Данный код создает резервные копии всех пользовательских баз данных. Измените этот сценарий так, чтобы он лучше удовлетворял вашим требованиям. Обратите внимание на то, что некоторые строки разбиты из-за их длины.
declare @DatabaseName varchar(300)
,@BackupSQL varchar(8000)
,@Timestamp varchar(30)
,@DirectoryPath varchar(2000)
,@FullPath varchar(2500)
,@RecoveryModel int
set @DirectoryPath = "D:\MSSQL\BACKUP\"
-создаем временную метку для имени файла резервной копии
set @TimeStamp = convert(varchar, getdate(),112) +
replace(convert(varchar, getdate(),108),':','')
-извлекаем только пользовательские базы данных
declare Database_Cursor cursor for
select d.name
from sys.databases d
where d.name not in("master",'tempdb','model','msdb')
open Database_Cursor
fetch next from Database_Cursor
into @DatabaseName
while @@fetch_status = 0
begin
set @FullPath = ""
set @FullPath = @DirectoryPath + @DatabaseName
exec sys.xp_create_subdir @FullPath
set @BackupSQL = ""
set @BackupSQL = @BackupSQL + "BACKUP DATABASE "+
@DatabaseName + "TO DISK = N'" +
@FullPath + "\" +
@DatabaseName + "_" +
@TimeStamp + ".bak"'
WITH NOFORMAT, NOINIT, SKIP'
exec (@BackupSQL)
-создаем резервные копии журнала транзакций
select @RecoveryModel = d.recovery_model
from sys.databases as d
where d.name = @DatabaseName
-только резервные копии журналов транзакций тех баз данных, для которых выбрана модель восстановления Full
if @RecoveryModel = 1
begin
set @BackupSQL = ""
set @BackupSQL = @BackupSQL + "BACKUP LOG "+
@DatabaseName + "TO DISK = N'" + @FullPath + "\" +
@DatabaseName + "_" + @TimeStamp + ".trn"'
WITH NOFORMAT, NOINIT, SKIP'
exec(@BackupSQL)
end
fetch next from Database_Cursor
into @DatabaseName
end
close Database_Cursor
deallocate Database_Cursor
При использовании разностных резервных копий или резервных копий журнала транзакций необходимо начать с полной резервной копии. Выполните первые пять действий описанной выше процедуры, чтобы создать исходную полную резервную копию. Не продолжайте процесс восстановления до завершения. После создания полной резервной копии выполните следующие действия.
RESTORE WITH NORECOVERY (пункт 12). Благодаря этому база данных останется в неиспользуемом состоянии. В панели Object Explorer (Обозреватель объектов) база данных будет помечена зеленой стрелкой и словом "(Restoring)" (Восстановление из копии) Эту базу данных нельзя будет использовать до завершения процесса восстановления работоспособности.RESTORE WITH RECOVERY. Нажмите кнопку OK, и база данных будет готова к использованию по завершении операции восстановления..bak , а для резервных копий журнала транзакций - расширение имени файла .trn.RESTORE WITH NORECOVERY.
Как видите, это диалоговое окно не отличается от обычного окна Restore (Восстановление). Единственная дополнительная настройка – это Restore To (Восстановить в) в нижней части диалогового окна. Для всех примеров используйте вариант Point In Time (На момент времени). Выделите первую резервную копию в цепочке журналов, задав для Recovery State (Состояние восстановления) параметр RESTORE WITH NORECOVERY. Нажмите кнопку ОК, чтобы восстановить данные из этой резервной копии.
RESTORE WITH RECOVERY, благодаря чему база данных после восстановления будет в рабочем состоянии.Для получения официальных документов о завершении программы дополнительного профессионального образования (удостоверения о повышении квалификации, дипломов о профессиональной переподготовке и MBA) необходимо предоставить:
Внимание! Вы можете не заказывать доставку бумажной версии официального документы, а скачать его в электронном виде и распечатать самостоятельно. Информация о выданном документе в течение 1 месяца загружается в Федеральную информационную систему «Федеральный реестр сведений о документах об образовании и (или) о квалификации, документах об обучении» - ФИС ФРДО.
Доступ на новый сайт осуществляется с использованием адреса электронной почты, который был указан вами при регистрации на "старом". Мы постарались перенести все ваши данные с прежнего ресурса, однако не исключена вероятность потери части информации.
При возникновении проблемы со входом, воспользуйтесь функцией сброса пароля
Если вы обнаружите несоответствия, пожалуйста, сообщите нам.