
Резервное копирование и восстановление из копии баз данных сервера отчетов
Если сервер отчетов нельзя перевести в автономный режим, для перемещения его баз данных можно использовать резервное копирование и восстановление. Чтобы выполнить резервное копирование и восстановление, необходимо использовать инструкции Transact-SQL. Среда SQL Server Management Studio не поддерживает резервные копии, предназначенные только для копирования. После восстановления баз данных следует настроить сервер отчетов, чтобы он использовал базу данных на новом экземпляре сервера. Дополнительные сведения см. в инструкциях, приведенных в конце этого подраздела.
Использование для резервного копирования баз данных сервера отчетов инструкций BACKUP и COPY_ALL
При резервном копировании баз данных установите аргумент COPY_ALL. Убедитесь, что создаются резервные копии как баз данных, так и файлов журналов.
-- To permit log backups, before the full database backup, alter the database -- to use the full recovery model.USE master;GOALTER DATABASE ReportServer SET RECOVERY FULL-- If the ReportServerData device does not exist yet, create it. USE masterGOEXEC sp_addumpdevice 'disk', 'ReportServerData', 'C:\Program Files\Microsoft SQL Server\MSSQL10.MSSQLSERVER\MSSQL\BACKUP\ReportServerData.bak'-- Create a logical backup device, ReportServerLog.USE masterGOEXEC sp_addumpdevice 'disk', 'ReportServerLog', 'C:\Program Files\Microsoft SQL Server\MSSQL10.MSSQLSERVER\MSSQL\BACKUP\ReportServerLog.bak'-- Back up the full ReportServer database.BACKUP DATABASE ReportServer TO ReportServerData WITH COPY_ALL-- Back up the ReportServer log.BACKUP LOG ReportServer TO ReportServerLog WITH COPY_ALL-- To permit log backups, before the full database backup, alter the database -- to use the full recovery model.USE master;GOALTER DATABASE ReportServerTempdb SET RECOVERY FULL-- If the ReportServerTempDBData device does not exist yet, create it. USE masterGOEXEC sp_addumpdevice 'disk', 'ReportServerTempDBData', 'C:\Program Files\Microsoft SQL Server\MSSQL10.MSSQLSERVER\MSSQL\BACKUP\ReportServerTempDBData.bak'-- Create a logical backup device, ReportServerTempDBLog.USE masterGOEXEC sp_addumpdevice 'disk', 'ReportServerTempDBLog', 'C:\Program Files\Microsoft SQL Server\MSSQL10.MSSQLSERVER\MSSQL\BACKUP\ReportServerTempDBLog.bak'-- Back up the full ReportServerTempDB database.BACKUP DATABASE ReportServerTempDB TO ReportServerTempDBData WITH COPY_ALL-- Back up the ReportServerTempDB log.BACKUP LOG ReportServerTempDB TO ReportServerTempDBLog WITH COPY_ALL
Использование для перемещения баз данных сервера отчетов инструкций RESTORE и MOVE
При восстановлении баз данных из копии обязательно включите аргумент MOVE, чтобы можно было указать путь. Для первоначального восстановления используйте аргумент NORECOVERY, это позволяет сохранить базу данных в состоянии RESTORING и даст время для просмотра резервных копий журналов, чтобы определить, какой из них следует восстанавливать. В качестве последнего шага следует повторить операцию RESTORE с аргументом RECOVERY.
В аргументе MOVE используется логическое имя файла данных. Чтобы определить логическое имя, выполните следующую инструкцию: RESTORE FILELISTONLY FROM DISK='C:\ReportServerData.bak';
Следующие примеры включают аргумент FILE, что позволяет указать позицию файла журнала, который требуется восстановить. Чтобы определить позицию файла, выполните следующую инструкцию: RESTORE HEADERONLY FROM DISK='C:\ReportServerData.bak';
При восстановлении из копии файлов базы данных и журнала каждую операцию RESTORE следует выполнять отдельно.
-- Restore the report server database and move to new instance folder RESTORE DATABASE ReportServer FROM DISK='C:\ReportServerData.bak' WITH NORECOVERY, MOVE 'ReportServer' TO 'C:\Program Files\Microsoft SQL Server\MSSQL10.MSSQLSERVER\MSSQL\Data\ReportServer.mdf', MOVE 'ReportServer_log' TO 'C:\Program Files\Microsoft SQL Server\MSSQL10.MSSQLSERVER\MSSQL\Data\ReportServer_Log.ldf';GO-- Restore the report server log file to new instance folder RESTORE LOG ReportServer FROM DISK='C:\ReportServerData.bak' WITH NORECOVERY, FILE=2 MOVE 'ReportServer' TO 'C:\Program Files\Microsoft SQL Server\MSSQL10.MSSQLSERVER\MSSQL\Data\ReportServer.mdf', MOVE 'ReportServer_log' TO 'C:\Program Files\Microsoft SQL Server\MSSQL10.MSSQLSERVER\MSSQL\Data\ReportServer_Log.ldf';GO-- Restore and move the report server temporary databaseRESTORE DATABASE ReportServerTempdb FROM DISK='C:\ReportServerTempDBData.bak' WITH NORECOVERY, MOVE 'ReportServerTempDB' TO 'C:\Program Files\Microsoft SQL Server\MSSQL10.MSSQLSERVER\MSSQL\Data\ReportServerTempDB.mdf', MOVE 'ReportServerTempDB_log' TO 'C:\Program Files\Microsoft SQL Server\MSSQL10.MSSQLSERVER\MSSQL\Data\REportServerTempDB_Log.ldf';GO-- Restore the temporary database log file to new instance folder RESTORE LOG ReportServerTempdb FROM DISK='C:\ReportServerTempDBData.bak' WITH NORECOVERY, FILE=2 MOVE 'ReportServerTempDB' TO 'C:\Program Files\Microsoft SQL Server\MSSQL10.MSSQLSERVER\MSSQL\Data\ReportServerTempDB.mdf', MOVE 'ReportServerTempDB_log' TO 'C:\Program Files\Microsoft SQL Server\MSSQL10.MSSQLSERVER\MSSQL\Data\REportServerTempDB_Log.ldf';GO-- Perform final restoreRESTORE DATABASE ReportServer WITH RECOVERYGO-- Perform final restoreRESTORE DATABASE ReportServerTempDB WITH RECOVERYGO
Настройка соединения с базой данных сервера отчетов
-
Запустите программу настройки служб Reporting Services и соединитесь с сервером отчетов.
-
На странице «База данных» нажмите кнопку Изменить базу данных. Нажмите кнопку Далее.
-
Щелкните Выбрать существующую базу данных сервера отчета. Нажмите кнопку Далее.
-
Выберите экземпляр SQL Server, на котором находится база данных сервера отчетов, и нажмите кнопку Проверить соединение. Нажмите кнопку Далее.
-
В поле «Имя базы данных» выберите нужную базу данных сервера отчета. Нажмите кнопку Далее.
-
В поле «Учетные данные» укажите учетные данные, которые сервер отчетов будет использовать для подключения к базе данных сервера отчетов. Нажмите кнопку Далее.
-
Нажмите кнопку Далее, затем — кнопку Готово.
Примечание. |
|---|
|
Установка служб Reporting Services требует, чтобы экземпляр компонента SQL Server Database Engine включал роль RSExecRole. Создание роли, регистрация имени входа и назначения ролей происходят, когда с помощью программы настройки служб Reporting Services устанавливается соединение сервера отчетов с базой данных. При иных подходах к настройке соединения (особенно если используется программа командной строки rsconfig.exe) сервер отчетов окажется в неработоспособном состоянии. Чтобы сервер отчетов стал доступным, возможно, придется написать код инструментария WMI. Дополнительные сведения см. в разделе Поставщик WMI служб Reporting Services.
|