Condividi tramite


Creare RSExecRole

Reporting Services usa un ruolo di database predefinito chiamato RSExecRole per concedere le autorizzazioni del server di report al database del server di report. Il RSExecRole ruolo viene creato automaticamente con il database del server di report. Si consiglia di non modificare mai né di assegnare utenti a tale ruolo. Tuttavia, quando si sposta un database del server di report in un motore di database nuovo o SQL Server diverso, è necessario ricreare il ruolo nei database di sistema Master e MSDB.

Utilizzando le istruzioni indicate di seguito, verranno effettuate le operazioni seguenti:

  • Creazione ed esecuzione del provisioning di RSExecRole nel database di sistema master.

  • Creazione ed esecuzione del provisioning di RSExecRole nel database di sistema MSDB.

Nota

Le istruzioni contenute in questo argomento sono destinate agli utenti che non desiderano eseguire uno script o scrivere codice WMI per effettuare il provisioning del database del server di report. Se si gestisce una distribuzione di dimensioni elevate e i database verranno spostati regolarmente, è consigliabile scrivere uno script per automatizzare questi passaggi. Per altre informazioni, vedere Accedere al provider WMI per Reporting Services.

Prima di iniziare

  • Eseguire il backup delle chiavi di crittografia in modo che sia possibile ripristinarle dopo che il database è stato spostato. Questo passaggio non influisce direttamente sulla possibilità di creare e di effettuare il provisioning di RSExecRole, ma è necessario disporre di una copia di backup delle chiavi per verificare il proprio lavoro. Per altre informazioni, vedere Eseguire il backup e il ripristino delle chiavi di crittografia di Reporting Services.

  • Verificare di essere connessi come account utente con sysadmin autorizzazioni per l'istanza di SQL Server.

  • Verificare che il servizio SQL Server Agent sia installato e che sia in esecuzione nell'istanza del motore di database che si intende usare.

  • Collegare i database reportservertempdb e reportserver. Non è necessario collegare i database per creare il ruolo effettivo, ma è necessario che siano collegati prima che sia possibile eseguire il test del proprio lavoro.

Le istruzioni per la creazione manuale di RSExecRole devono essere utilizzate nel contesto dell'esecuzione della migrazione di un'installazione del server di report. Attività importanti come l'esecuzione del backup e lo spostamento del database del server di report non vengono descritte in questo argomento, ma nella documentazione del Motore di database.

Creazione di RSExecRole nel database master

Reporting Services usa stored procedure estese per consentire al servizio SQL Server Agent di supportare operazioni pianificate. I passaggi seguenti illustrano come concedere autorizzazioni di esecuzione per le procedure al ruolo RSExecRole.

Per creare RSExecRole nel database di sistema master mediante Management Studio

  1. Avviare SQL Server Management Studio e connettersi all'istanza del motore di database che ospita il database del server di report.

  2. Aprire Database.

  3. Aprire Database di sistema.

  4. Aprire Master.

  5. Aprire Sicurezza.

  6. Aprire Ruoli.

  7. Fare clic con il pulsante destro del mouse su Ruoli del database, quindi scegliere Nuovo ruolo database. Verrà visualizzata la pagina Generale.

  8. In Nome ruolo digitare RSExecRole.

  9. In Proprietario digitare DBO.

  10. Fare clic su Entità a sicurezza diretta.

  11. Fare clic su Cerca. Verrà visualizzata la finestra di dialogo Aggiungi oggetti . L'opzione Specifica oggetti è selezionata per impostazione predefinita.

  12. Fare clic su OK. Verrà visualizzata la finestra di dialogo Seleziona oggetti .

  13. Fare clic su Tipi di oggetto.

  14. Fare clic su Stored procedure estese.

  15. Fare clic su OK.

  16. Fare clic su Sfoglia.

  17. Scorrere l'elenco delle stored procedure estese e selezionare gli elementi seguenti:

    1. xp_sqlagent_enum_jobs

    2. xp_sqlagent_is_starting

    3. xp_sqlagent_notify

  18. Fare clic su OK, quindi fare di nuovo clic su OK .

  19. Nella colonna Concedi della riga Esegui selezionare la casella di controllo, quindi fare clic su OK.

  20. Ripetere il passaggio per ognuna delle stored procedure rimanenti. A RSExecRole devono essere concesse le autorizzazioni di esecuzione per tutte le tre stored procedure.

Pagina Proprietà ruolo del database

Creazione di RSExecRole nel database MSDB

Per supportare operazioni pianificate, in Reporting Services vengono utilizzate le stored procedure per il servizio SQL Server Agent e le informazioni sul processo vengono recuperate dalle tabelle di sistema. I passaggi seguenti illustrano come concedere autorizzazioni di esecuzione per le procedure e autorizzazioni di selezione sulle tabelle a RSExecRole.

Per creare RSExecRole nel database di sistema MSDB

  1. Ripetere passaggi analoghi per concedere le autorizzazioni alle stored procedure e alle tabelle nel database MSDB. Per semplificare i passaggi, il provisioning delle stored procedure e delle tabelle verrà effettuato separatamente.

  2. Aprire MSDB.

  3. Aprire Sicurezza.

  4. Aprire Ruoli.

  5. Fare clic con il pulsante destro del mouse su Ruoli del database, quindi scegliere Nuovo ruolo database. Verrà visualizzata la pagina Generale.

  6. In Nome ruolo digitare RSExecRole.

  7. In Proprietario digitare DBO.

  8. Fare clic su Entità a sicurezza diretta.

  9. Scegliere Aggiungi. Verrà visualizzata la finestra di dialogo Aggiungi oggetti . L'opzione Specifica oggetti è selezionata per impostazione predefinita.

  10. Fare clic su OK.

  11. Fare clic su Tipi di oggetto.

  12. Fare clic su Stored procedure.

  13. Fare clic su OK.

  14. Fare clic su Sfoglia.

  15. Scorrere l'elenco degli elementi e selezionare gli elementi seguenti:

    1. sp_add_category

    2. sp_add_job

    3. sp_add_jobschedule

    4. sp_add_jobserver

    5. sp_add_jobstep

    6. sp_delete_job

    7. sp_help_category

    8. sp_help_job

    9. sp_help_jobschedule

    10. sp_verify_job_identifiers

  16. Fare clic su OK, quindi fare di nuovo clic su OK .

  17. Selezionare la prima stored procedure, ovvero sp_add_category.

  18. Nella colonna Concedi della riga Esegui selezionare la casella di controllo, quindi fare clic su OK.

  19. Ripetere il passaggio per ognuna delle stored procedure rimanenti. A RSExecRole devono essere concesse le autorizzazioni di esecuzione per tutte le dieci stored procedure.

  20. Nella scheda Entità a sicurezza diretta fare clic nuovamente su Aggiungi . Verrà visualizzata la finestra di dialogo Aggiungi oggetti . L'opzione Specifica oggetti è selezionata per impostazione predefinita.

  21. Fare clic su OK.

  22. Fare clic su Tipi di oggetto.

  23. Fare clic su Tabelle.

  24. Fare clic su OK.

  25. Fare clic su Sfoglia.

  26. Scorrere l'elenco degli elementi e selezionare gli elementi seguenti:

    1. syscategories

    2. sysjobs

  27. Fare clic su OK, quindi fare di nuovo clic su OK .

  28. Selezionare la prima tabella, ovvero syscategories.

  29. Nella colonna Concedi della riga Seleziona selezionare la casella di controllo, quindi fare clic su OK.

  30. Ripetere il passaggio per la tabella sysjobs. A RSExecRole devono essere concesse le autorizzazioni di selezione per entrambe le tabelle.

Spostamento del database del server di report

Dopo avere creato i ruoli, è possibile spostare il database del server di report in una nuova istanza di SQL Server. Per altre informazioni, vedere Spostamento di database del server di report in un altro computer (modalità nativa SSRS).

Se si aggiorna il motore di database a SQL Server 2019 (15.x), è possibile aggiornarlo prima o dopo lo spostamento del database.

Il database del server di report verrà aggiornato al SQL Server 2019 (15.x) automaticamente quando il server di report si connette. Non sono necessari passaggi specifici per aggiornare il database.

Ripristino delle chiavi di crittografia e verifica del lavoro

Se i database del server di report sono stati collegati, è possibile completare i passaggi seguenti per verificare il lavoro.

Per verificare il funzionamento del server di report dopo uno spostamento del database

  1. Avviare lo strumento di configurazione di Reporting Services e connettersi al server di report.

  2. Fare clic su Database.

  3. Fare clic su Cambia database.

  4. Fare clic su Scegli un database del server di report esistente.

  5. Immettere il nome del server del Motore di database. Se i database del server di report sono stati collegati a un'istanza denominata, è necessario digitare il nome dell'istanza nel formato <nomeserver>\<nomeistanza>.

  6. Fare clic su Test connessione.

  7. Fare clic su Avanti.

  8. In Database selezionare il database del server di report.

  9. Fare clic su Avanti e completare la procedura guidata.

  10. Fare clic su Chiavi di crittografia.

  11. Fare clic su Ripristina.

  12. Selezionare il file con nome sicuro (con estensione snk) in cui è presente la copia di backup della chiave simmetrica utilizzata per decrittografare le credenziali e le informazioni di connessione archiviate nel database del server di report.

  13. Immettere la password, quindi fare clic su OK.

  14. Fare clic su URL Gestione report.

  15. Fare clic sul collegamento per aprire Gestione report. Gli elementi del server di report dovrebbero essere visualizzati dal database del server di report.

Vedere anche

Spostamento dei database del server di report in un altro computer (modalità nativa SSRS)Reporting Services Configuration Manager (modalità nativa)Creare un database del server di report in modalità nativa (SSRS Configuration Manager)Backup e ripristino Reporting Services Chiavi di crittografia