2011-11-14 5 views
2

J'essaie d'imiter la fonctionnalité d'un abonnement piloté par les données. Nous exécutons actuellement une version du serveur de rapports qui n'autorise pas les indices pilotés par les données. Actuellement c'est ce que je travaille avecAbonnement SSRS basé sur les données sans SQL Server 2008 R2

use ReportServer 

declare @datetime varchar(29) 
set @datetime = convert(varchar(16),dateadd(MINUTE,2,GETDATE()), 126) + ':00.000-05:00' 


update Subscriptions 

set MatchData = '<ScheduleDefinition xmlns:xsd="http://www.w3.org/2001/XMLSchema" xmlns:xsi="http://www.w3.org/2001/XMLSchema-instance"><StartDateTime xmlns="http://schemas.microsoft.com/sqlserver/2006/03/15/reporting/reportingservices">' + @datetime + '</StartDateTime></ScheduleDefinition>', 

modifieddate = convert(varchar(23),GETDATE(), 121) 

where SubscriptionID = '48FB6FE9-969B-4E8D-AD37-E80CE20FDDE5' 



update Schedule 

set StartDate = CONVERT(VARCHAR(16), dateadd(minute, 2, GETDATE()), 121) + ':00.000', 

NextRunTime = null 

where Name = '3664a678-af17-4a05-9ff4-5666ea727e91' 

Il met à jour le serveur de rapports mais quand le temps vient il n'exécute pas. Est-ce que quelqu'un sait comment je peux déclencher cela?

+0

Vous devez créer le travail d'agent SQL correspondant ainsi. –

+0

en fait je ne pense pas que ce sera nécessaire. Nous utilisons un programme tiers pour importer nos données dans notre base de données. Nous pouvons choisir d'utiliser une procédure de post-traitement. Dans cette procédure, je voudrais simplement executer le sp pour mettre en place le rapport suivant une minute ou deux plus tard. pour l'instant j'essaye de comprendre quelles autres tables doivent être mises à jour pour que cela fonctionne. – nikolifish

+0

Si vous essayez d'envoyer des abonnements SSRS, je pense que oui. Les abonnements SSRS sont en fait déclenchés par un travail d'agent SQL. Par conséquent, si vous souhaitez créer un abonnement à partir de zéro, vous devez créer le travail approprié. Votre code ci-dessus ne les crée pas: http://blogs.msdn.com/b/deanka/archive/2009/01/13/diagnosing-and-troubleshooting-subscriptions.aspx –

Répondre

0

J'étais à court de temps quand j'ai laissé mon commentaire, mais j'ai juste pris le temps de trouver une bonne explication. De an MSDN blog:

Lorsque vous créez un abonnement plusieurs choses sont ajoutés au serveur RS :

  • Une ligne est placée dans le tableau Souscriptions identifiant le nom du rapport, ainsi que les réglages des paramètres , informations de requête pilotées par les données et

  • Une ligne est placée dans les tables Schedule et ReportSchedule avec le minutage de l'abonnement

  • Un travail d'Agent SQL Server est créé pour contrôler l'exécution planifiée du rapport et il est stocké dans les sysjobs et sysjobsteps de la base de données MSDB . Le nom du travail d'agent est une valeur guid qui représente le ScheduleId (oui, dans le cas où vous ne l'avez pas encore remarqué, cela rend votre liste d'emploi d'agent désordonné avec un tas de guids qui le rendent difficile à travailler avec votre non-abonnement emplois, nous vous entendons :).

Il semble que vous faites des entrées à deux des trois tables nécessaires, et vous avez encore besoin de créer un travail de l'Agent SQL. Comme l'auteur le fait remarquer, ceux-ci ne sont pas pris en charge pour la manipulation directe, donc testez lourdement, et ne vous attendez pas à beaucoup de support si les choses se cassent.

Sinon, vous pouvez créer ces abonnements de codage dynamique contre les SSRS Web Services, tels que le Subscription and Delivery methods

+0

Merci beaucoup. En ce moment je l'ai juste raccordé avec créer le travail d'agent de SQL Server et cela semble fonctionner correctement. Il semble presque que je n'ai pas besoin des lignes ajoutées aux tables SChedule, ReportSchedule et SUbscription. Pour ceux qui cherchent à faire la même chose, vous pouvez scripter le travail en tant que drop/create et à partir de là, il suffit de connecter quelques paramètres pour gérer la nature dynamique des UID. Merci encore – nikolifish

Questions connexes