Share via


Een rapportserverdatabase beheren (systeemeigen SSRS-modus)

Een Reporting Services-implementatie maakt gebruik van twee relationele SQL Server-databases voor interne opslag. De databases hebben standaard de naam ReportServer en ReportServerTempdb. ReportServerTempdb wordt gemaakt met de primaire rapportserverdatabase en wordt gebruikt voor het opslaan van tijdelijke gegevens, sessiegegevens en rapporten in de cache.

In Reporting Services omvatten databasebeheertaken het maken van back-ups en het herstellen van de rapportserverdatabases. De taken omvatten ook het beheren van de versleutelingssleutels die worden gebruikt voor het versleutelen en ontsleutelen van gevoelige gegevens.

Voor het beheren van de rapportserverdatabases biedt SQL Server verschillende hulpprogramma's.

  • U kunt SQL Server Management Studio, de Transact-SQL opdrachten of de opdrachtpromptprogramma's van de database gebruiken om:

    • Een back-up maken van de rapportserverdatabase of deze herstellen
    • Een rapportserverdatabase verplaatsen
    • Een rapportserverdatabase herstellen

    Zie De rapportserverdatabases verplaatsen naar een andere computer (systeemeigen SSRS-modus) voor meer informatie.

  • Als u bestaande database-inhoud wilt kopiĆ«ren naar een andere rapportserverdatabase, kunt u een kopie van een rapportserverdatabase koppelen en deze gebruiken met een ander exemplaar van de rapportserver. U kunt ook een script maken en uitvoeren dat SOAP-aanroepen gebruikt om de inhoud van de rapportserver opnieuw te maken in een nieuwe database. U kunt het rs-hulpprogramma gebruiken om het script uit te voeren.

  • U kunt de pagina Database-instelling in het hulpprogramma Reporting Services-configuratie gebruiken om verbindingen tussen de rapportserver en de rapportserverdatabase te beheren. U kunt het ook gebruiken om erachter te komen welke database wordt gebruikt voor een bepaald rapportserverexemplaar. Zie Een rapportserverdatabaseverbinding configureren (Report Server Configuration Manager) voor meer informatie over de rapportserververbinding met de rapportserverdatabase.

Aanmelden bij SQL Server en databasemachtigingen

De rapportserverdatabases worden intern gebruikt door de rapportserver. Verbindingen met beide databases worden gemaakt door de Report Server-service. U gebruikt het hulpprogramma Reporting Services-configuratie om de verbinding van de rapportserver met de rapportserverdatabase te configureren.

Referenties voor de rapportserververbinding met de database kunnen het serviceaccount, een lokale Windows-gebruiker, een domeingebruikersaccount of een SQL Server-databasegebruiker zijn. U moet een bestaand account voor de verbinding kiezen. Reporting Services maakt geen accounts voor u.

Er wordt automatisch een SQL Server-aanmelding bij de rapportserverdatabase gemaakt voor het account dat u opgeeft.

Machtigingen voor de database worden ook automatisch geconfigureerd. Het hulpprogramma Reporting Services-configuratie wijst het account of de databasegebruiker toe aan de rollen Public en RSExecRole voor de rapportserverdatabases. RsExecRole biedt machtigingen voor toegang tot de databasetabellen en voor het uitvoeren van opgeslagen procedures. De RSExecRole wordt gemaakt in de primaire database en msdb wanneer u de rapportserverdatabase maakt. De RSExecRole is lid van de db_owner-rol voor de rapportserverdatabases, zodat de rapportserver een eigen schema kan bijwerken ter ondersteuning van een automatisch upgradeproces.

Naamconventies voor de rapportserverdatabases

Wanneer u de primaire database maakt, moet de naam van de database voldoen aan de regels die zijn opgegeven voor database-id's. De tijdelijke databasenaam gebruikt altijd dezelfde naam als de primaire rapportserverdatabase, maar met een Tempdb-achtervoegsel. U kunt geen andere naam kiezen voor de tijdelijke database.

Het wijzigen van de naam van een rapportserverdatabase wordt niet ondersteund omdat de rapportserverdatabases worden beschouwd als interne onderdelen. Als u de naam van de rapportserverdatabases wijzigt, treden er fouten op. Als u de naam van de primaire database wijzigt, wordt in een foutbericht uitgelegd dat de databasenamen niet synchroon zijn. Als u de naam van de ReportServerTempdb-database wijzigt, treedt de volgende interne fout later op wanneer u rapporten uitvoert:

'Er is een interne fout opgetreden op de rapportserver. Zie het foutenlogboek voor meer informatie. (rsInternalError)

Ongeldige objectnaam ReportServerTempDB.dbo.PersistedStream.".

Deze fout treedt op omdat de ReportServerTempdb naam intern wordt opgeslagen en wordt gebruikt door opgeslagen procedures om interne bewerkingen uit te voeren. Als u de naam van de tijdelijke database wijzigt, werken de opgeslagen procedures niet goed.

Isolatie van momentopnamen inschakelen in de rapportserverdatabase

U kunt geen isolatie van momentopnamen inschakelen in de rapportserverdatabase. Als isolatie van momentopnamen is ingeschakeld, treedt de volgende fout op: 'Het geselecteerde rapport is niet gereed voor weergave. Het rapport wordt nog steeds weergegeven of er is geen momentopname van een rapport beschikbaar.

Als u de isolatie van momentopnamen niet opzettelijk hebt ingeschakeld, kan het kenmerk worden ingesteld door een andere toepassing of kan de isolatie van momentopnamen zijn ingeschakeld voor de modeldatabase , waardoor alle nieuwe databases de instelling overnemen.

Als u isolatie van momentopnamen in de rapportserverdatabase wilt uitschakelen, start u Management Studio, opent u een nieuw queryvenster, plakt u het volgende script en voert u het volgende script uit:

ALTER DATABASE ReportServer  
SET ALLOW_SNAPSHOT_ISOLATION OFF  
ALTER DATABASE ReportServerTempdb  
SET ALLOW_SNAPSHOT_ISOLATION OFF  
ALTER DATABASE ReportServer  
SET READ_COMMITTED_SNAPSHOT OFF  
ALTER DATABASE ReportServerTempDb  
SET READ_COMMITTED_SNAPSHOT OFF  

Informatie over database-versies

In Reporting Services is expliciete informatie over de databaseversie niet beschikbaar. Omdat databaseversies echter altijd worden gesynchroniseerd met productversies, kunt u informatie over productversies gebruiken om te zien wanneer de databaseversie is gewijzigd. Productversiegegevens voor Reporting Services worden aangegeven via bestandsversiegegevens die worden weergegeven in de logboekbestanden, in de headers van alle SOAP-aanroepen en wanneer u verbinding maakt met de URL van de rapportserver (bijvoorbeeld wanneer u een browser opent naar https://localhost/reportserver).