Moving the Report Server Databases to Another Computer

You can move the report server databases that are used in a current installation to a SQL Server Database Engine instance that is on a different computer.Bazy danych reportserver i reportservertempdb musi zostać przeniesiony lub skopiowany razem.A Reporting Services Instalacja wymaga zarówno baz danych; reportservertempdb bazy danych muszą być związane według nazwy bazy danych reportserver podstawowy chcesz przenieść.

Przenoszenie bazy danych nie skutek zaplanowane czynności, które są aktualnie zdefiniowane dla elementy serwer raportów.

  • Harmonogramy, zostaną odtworzone po raz pierwszy, uruchom ponownie usługa serwer raportów.

  • SQL Server Agent zadań, które są używane do wyzwalania harmonogramu zostaną odtworzone na nowe wystąpienie bazy danych.Nie trzeba przenieść zadania na nowym komputerze, ale można usunąć zadania na komputerze nie jest już używany.

  • Subskrypcje, buforowane raportów i migawek są zachowywane w bazie danych przenoszonych.Jeśli migawka nie jest pobranie odświeżenia danych, po przeniesieniu bazy danych, usuń zaznaczenie opcji migawki Menedżer raportów, kliknij przycisk Zastosowanie , aby zapisać zmiany, ponownie utworzyć harmonogram, a następnie kliknij przycisk Zastosowanie ponownie, aby zapisać zmiany.

  • Raport i użytkownika sesja dane przechowywane w reportservertempdb są zachowywane po przeniesieniu bazy danych.

SQL Server udostępnia kilka metod do przenoszenia baz danych, łącznie z kopia zapasowa i przywracanie, dołączanie odłączyć i kopiować.Nie wszystkie metody są odpowiednie dla przenoszenie istniejącej bazy danych do nowego wystąpienie serwera.Rozwiązanie, które należy używać, aby przenieść baza danych serwer raportów będą się różnić w zależności od wymagań dotyczących dostępności systemu.Najprostszym sposobem przenoszenia baz danych serwer raportów jest dołączenie i odłączyć je.Takie podejście wymaga jednak, że użytkownik offline serwera raportowania w czasie, gdy odłączyć bazę danych.kopia zapasowa i przywracania jest lepszym rozwiązaniem, jeżeli chcesz zminimalizować zakłócenia w rozpoznawaniu usługa, ale musi być uruchomiony Transact-SQL polecenia do wykonywania operacji. Kopiowanie bazy danych nie jest zalecane (w szczególności przy użyciu Kreatora kopiowania baz danych); nie zachowuje ustawienia uprawnień w bazie danych.

Important noteImportant Note:

Kroki podane w tym temacie są zalecane przy przenoszeniu baza danych serwer raportów jest jedyną zmianą tworzonego w istniejącej instalacji.Migracja cały Reporting Services Instalacja (czyli przenoszenie bazy danych i zmiana tożsamości usługa serwer raportów Windows, która korzysta z bazy danych) wymaga zmianę konfiguracji połączenia i zresetowania klucz szyfrowanie. Aby uzyskać więcej informacji na temat przeprowadzania migracji Reporting Services instalacji, zobacz Migration (Reporting Services).

Odłączanie i dołączanie bazy danych serwer raportów

Aby przełączyć serwer raportów trybu offline, można odłączyć bazy danych, aby przenieść je do SQL Server wystąpienie, którego chcesz użyć. Ta metoda umożliwia zachowanie uprawnień w bazach danych.Jeśli korzystasz z SQL Server 2008 Baza danych, należy je przenieść do innego SQL Server 2008 wystąpienie. Po przeniesieniu bazy danych, należy ponownie skonfigurować połączenie z serwerem raport do baza danych serwer raportów.Jeśli korzystasz z wdrożenie skalowalne w poziomie, należy ponownie skonfigurować połączenie z bazą danych serwer raportów dla każdego serwer raportów wdrażanie.

Do przenoszenia baz danych, wykonaj następujące kroki:

  1. kopia zapasowa klucze szyfrowanie dla baza danych serwer raportów, które chcesz przenieść.Można użyć Reporting Services Narzędzie konfiguracyjne wykonaj kopię zapasową kluczy.

  2. Zatrzymaj usługa serwer raportów.Można użyć Reporting Services Narzędzie konfiguracja w celu zatrzymania usługa.

  3. Start SQL Server Management Studio and open a connection to the SQL Server instance that hosts the report server databases.

  4. Kliknij prawym przyciskiem myszy baza danych serwer raportów, wskaż zadania, a następnie kliknij przycisk Odłączanie.Powtórz ten krok dla serwer raportów tymczasowej bazy danych.

  5. Kopiowanie lub przenoszenie plików .mdf i .ldf z folderu danych z SQL Server wystąpienie, którego chcesz użyć. Ponieważ przenosisz dwie bazy danych, upewnij się, aby przenieść lub skopiować wszystkie cztery pliki.

  6. W Management Studio, Otwórz połączenie z nowym SQL Server wystąpienie, które będzie obsługiwać serwer raportów baz danych.

  7. Kliknij prawym przyciskiem myszy węzeł bazy danych, a następnie kliknij przycisk Dołącz.

  8. Kliknij przycisk Dodawanie zaznacz baza danych serwer raportów pliki .mdf i .ldf, które chcesz dołączyć.Powtórz ten krok dla serwer raportów tymczasowej bazy danych.

  9. Po podłączeniu się do baz danych, sprawdź, czy RSExecRole jest rola bazy danych w baza danych serwer raportów i tymczasowej bazy danych.RSExecRole musi mieć wybierz, wstawiania, aktualizacji, usuwania i uprawnienia odwołania w tabelach baza danych serwer raportów i uprawnienia do wykonywania dotyczące procedur przechowywanych.Aby uzyskać więcej informacji zobacz How to: Create the RSExecRole.

  10. Uruchom Reporting Services Narzędzie Konfiguracja i otwarte połączenie serwer raportów.

  11. strona bazy danych wybierz nowy SQL Server wystąpienie, a następnie kliknij przycisk Łączenie.

  12. Wybierz baza danych serwer raportów, wystarczy przenieść, a następnie kliknij przycisk Zastosowanie.

  13. strona kluczy szyfrowanie kliknij przycisk przywracanie.Określ plik zawierający kopia zapasowa kluczy i hasła w celu odblokowania go.

  14. Uruchom ponownie usługa serwer raportów.

Tworzenie kopii zapasowych i przywracanie bazy danych serwer raportów

Jeśli serwer raportów nie może przełączyć trybu offline, można użyć kopia zapasowa i przywracanie do przeniesienia bazy danych serwer raportów.You must use Transact-SQL statements to do the backup and restore.SQL Server Management Studio does not support copy-only backups.Po przywracanie baz danych, należy skonfigurować serwer raportów korzystających z bazy danych na nowe wystąpienie serwera.Aby uzyskać więcej informacji zobacz instrukcje na końcu tego tematu.

Wykonaj kopie zapasowe baz danych serwer raportów przy użyciu kopia zapasowa i COPY_ALL

Podczas wykonywania kopii zapasowych baz danych, zestaw argument COPY_ALL.Pamiętaj wykonać kopię zapasową zarówno baz danych i plików dziennika.

-- To permit log backups, before the full database backup, alter the database 
-- to use the full recovery model.
USE master;
GO
ALTER DATABASE ReportServer
   SET RECOVERY FULL

-- If the ReportServerData device does not exist yet, create it. 
USE master
GO
EXEC sp_addumpdevice 'disk', 'ReportServerData', 
'C:\Program Files\Microsoft SQL Server\MSSQL10.MSSQLSERVER\MSSQL\BACKUP\ReportServerData.bak'

-- Create a logical backup device, ReportServerLog.
USE master
GO
EXEC 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;
GO
ALTER DATABASE ReportServerTempdb
   SET RECOVERY FULL

-- If the ReportServerTempDBData device does not exist yet, create it. 
USE master
GO
EXEC sp_addumpdevice 'disk', 'ReportServerTempDBData', 
'C:\Program Files\Microsoft SQL Server\MSSQL10.MSSQLSERVER\MSSQL\BACKUP\ReportServerTempDBData.bak'

-- Create a logical backup device, ReportServerTempDBLog.
USE master
GO
EXEC 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

Używanie przywracanie i MOVE w celu przeniesienia baz danych serwer raportów

Podczas przywracania bazy danych, należy się upewnić, że argument MOVE, dzięki czemu można określić ścieżka.Za pomocą argumentu NORECOVERY wykonywanie wstępnej przywracanie; ten zachowuje bazę danych w stanie RESTORING, co daje czas na przegląd kopii zapasowych dziennika do określenia, który z nich do przywrócenia.Ostatnim krokiem Powtarza operację przywracanie z argumentem przywrócenia.

MOVE argument używa nazwa logiczna pliku danych.Aby sprawdzić nazwa logiczna, należy wykonać następujące instrukcja: RESTORE FILELISTONLY FROM DISK='C:\ReportServerData.bak';

W poniższych przykładach argument FILE, dzięki czemu można określić położenie pliku dziennika, aby przywrócić plik.Aby znaleźć położenie pliku, należy wykonać następującą instrukcję: RESTORE HEADERONLY FROM DISK='C:\ReportServerData.bak';

Podczas przywracanie plików bazy danych i dziennika, należy uruchomić podczas każdej operacji przywracanie oddzielnie.

-- 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 database
RESTORE 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 restore
RESTORE DATABASE ReportServer
   WITH RECOVERY
GO

-- Perform final restore
RESTORE DATABASE ReportServerTempDB
   WITH RECOVERY
GO

Jak skonfigurować połączenie baza danych serwer raportów

  1. Uruchom Reporting Services Narzędzie Konfiguracja i otwarte połączenie serwer raportów.

  2. strona bazy danych kliknij przycisk Zmiana bazy danych.Kliknij przycisk Następny.

  3. Kliknij przycisk Wybierz istniejący baza danych serwer raportów.Kliknij przycisk Następny.

  4. Wybierz SQL Server obecnie obsługuje baza danych serwer raportów i kliknij przycisk Połączenie testowe.Kliknij przycisk Następny.

  5. W polu Nazwa bazy danych wybierz baza danych serwer raportów, którego chcesz użyć.Kliknij przycisk Następny.

  6. W poświadczenia, określ poświadczenia, które serwer będzie używany do łączenia się z baza danych serwer raportów.Kliknij przycisk Następny.

  7. Kliknij przycisk Następny and then Zakończenie.

Uwaga

A Reporting Services Instalacja wymaga, aby SQL Server Database Engine wystąpienie obejmują RSExecRole Rola. Tworzenie roli, rejestracji logowania i przypisania ról odbywa się po ustawieniu serwer raportów połączenie z bazą danych za pośrednictwem Reporting Services Narzędzie konfiguracja. Jeśli używasz alternatywnej metody (w szczególności, jeśli zostanie użyte narzędzie wiersza poleceń rsconfig.exe), aby skonfigurować połączenie, serwer raportów nie będzie w stanie pracy.Może zajść konieczność pisania kodu WMI do udostępnienia serwer raportów.Aby uzyskać więcej informacji zobacz Dostawca WMI usług raportowania.