Nota
O acesso a esta página requer autorização. Podes tentar iniciar sessão ou mudar de diretório.
O acesso a esta página requer autorização. Podes tentar mudar de diretório.
Os Serviços de Relatórios fornecem horários partilhados e cronogramas específicos de relatórios para ajudar a controlar o processamento e a distribuição dos relatórios. A diferença entre os dois tipos de horários está na forma como são definidos, armazenados e geridos. A construção interna dos dois tipos de agendas é a mesma. Todos os horários especificam um tipo de recorrência: mensal, semanal ou diária. No tipo de recorrência, define-se os intervalos e a frequência com que um evento ocorre. O tipo de padrão de recorrência e a forma como esses padrões são especificados é o mesmo, quer crie um cronograma partilhado ou um cronograma específico para o relatório.
Os horários partilhados são criados como itens separados. Depois de criados, utiliza-os ao definir uma subscrição ou outra operação agendada.
Os cronogramas específicos de relatórios são criados quando defines uma subscrição ou defines propriedades de execução de relatórios. Preencher informações de horários faz parte da definição de uma subscrição ou definição de propriedades. Para definir um cronograma específico para relatórios, abre o relatório ou subscrição que o utiliza.
Um calendário partilhado contém informações de horários e recorrências que podem ser utilizadas por um número ilimitado de relatórios publicados e subscrições que funcionem num servidor de relatórios dos Serviços de Relatórios. Se tiveres muitos relatórios e subscrições a correr ao mesmo tempo, podes criar um horário partilhado para esses trabalhos. Se quiseres alterar o padrão de recorrência ou a data de fim, podes fazer a alteração num só local.
Os horários partilhados são mais fáceis de manter e dão-lhe mais flexibilidade na gestão das operações agendadas. Por exemplo, pode pausar e retomar horários partilhados. Demasiadas operações agendadas podem decorrer ao mesmo tempo. Se eles executarem ao mesmo tempo, pode criar vários horários partilhados que sejam executados em tempos diferentes. Depois, ajusta a informação do cronograma até que a carga de processamento se equilibre em todo o servidor de relatórios.
O que pode fazer com os horários
Pode usar o portal Web dos Serviços de Relatórios e o SQL Server Management Studio em modo nativo, bem como as páginas de administração do site SharePoint em modo SharePoint para criar e gerir os seus horários. É possível:
Programe a entrega de relatórios numa subscrição padrão ou orientada por dados.
Agendar o histórico dos relatórios para que novos instantâneos sejam adicionados ao histórico dos relatórios a intervalos regulares.
Agende quando atualizar os dados de um snapshot de relatório.
Agende quando atualizar os dados de um conjunto de dados partilhado
Programe a expiração de um relatório em cache ou de um conjunto de dados partilhado para ocorrer numa hora pré-definida, para que possa ser atualizado.
Pode criar um horário partilhado se quiser usar a mesma informação de horários para muitos relatórios ou subscrições. Os horários partilhados são definidos separadamente e depois referenciados em relatórios, conjuntos de dados partilhados e subscrições que necessitam de informação de horários.
Quando cria um agendamento, o relatório guarda a informação do cronograma na base de dados do servidor de relatórios ou, para o modo SharePoint, na base de dados da aplicação de serviços. O servidor de relatórios também cria uma tarefa do SQL Server Agent que é usada para iniciar o agendamento. O processamento de horários baseia-se na hora local do servidor de relatórios que contém o horário. O formato temporal segue o padrão do sistema operativo Microsoft Windows.
Para detalhes sobre como criar e gerir horários, consulte Criar, modificar e eliminar horários.
Observação
As operações de agendamento não estão disponíveis em todas as edições do SQL Server. Para obter uma lista de funcionalidades suportadas pelas edições do SQL Server, consulte Edições e funcionalidades suportadas do SQL Server 2022.
Compare os horários partilhados e os horários específicos de relatórios
Ambos os tipos de agendas produzem a mesma saída:
Os horários partilhados são itens portáteis e multifuncionais que contêm informações de horários prontas a usar. Como os agendamentos partilhados são itens ao nível do sistema, criar um horário partilhado requer permissões ao nível do sistema. Por esta razão, um administrador de servidor de relatórios ou gestor de conteúdos normalmente cria os horários partilhados disponíveis no seu servidor de relatórios. Os horários partilhados são armazenados e geridos no servidor de relatórios através do portal Web ou das definições do site SharePoint.
Em contraste com horários específicos que define através de relatórios, conjuntos de dados partilhados ou propriedades de subscrição, os horários partilhados são mais fáceis de gerir e manter pelas seguintes razões:
Os horários partilhados podem ser geridos a partir de uma localização central. Uma localização central facilita a comparação das propriedades do horário e o ajuste dos padrões de frequência e recorrência se as operações agendadas estiverem demasiado próximas ou em conflito com outros processos no seu servidor.
Permitem-lhe adaptar-se rapidamente às mudanças no ambiente computacional. Por exemplo, suponha que tem um conjunto de relatórios que são executados às 4:00 da manhã após um data warehouse ser atualizado. Se a operação de atualização de dados for reagendada ou atrasada, pode facilmente acomodar essa alteração atualizando a informação do horário num único horário partilhado.
Se usar apenas horários partilhados, sabe exatamente quando ocorrem operações agendadas. Este conhecimento facilita antecipar e acomodar cargas de servidores antes que ocorram problemas de desempenho. Por exemplo, se decidir agendar backups do computador a uma hora específica, pode ajustar os horários partilhados para funcionar em horários diferentes.
Os cronogramas específicos do relatório são definidos no contexto de uma operação individual de relatório, subscrição ou execução de relatório para determinar a expiração da cache ou atualizações de snapshots. Estes horários são criados em linha quando defines uma subscrição ou defines propriedades de execução de relatório. Pode criar um horário específico para o relatório se um horário partilhado não fornecer a frequência ou o padrão de recorrência de que precisa. Para evitar que um relatório seja executado, edite manualmente um calendário específico do relatório. Os utilizadores individuais podem criar horários específicos para relatórios.
Configurar as fontes de dados
Antes de poder agendar o processamento de dados ou subscrição para um relatório, configure a fonte de dados do relatório para usar credenciais armazenadas ou a conta de processamento de relatórios não assistidos. Se usares credenciais armazenadas, só podes guardar um conjunto de credenciais, e elas são usadas por todos os utilizadores que gerem o relatório. As credenciais podem ser uma conta de utilizador Windows ou uma conta de utilizador de base de dados.
A conta de processamento de relatórios não acompanhados é uma conta de propósito especial configurada no servidor de relatórios. O servidor de relatórios utiliza a conta para se ligar a computadores remotos quando uma operação agendada requer a recuperação de um ficheiro ou processamento externo. Se configurar a conta, pode usá-la para se ligar a fontes de dados externas que fornecem dados a um relatório.
Para especificar credenciais armazenadas ou a conta de processamento de relatórios não assistidos, edite as propriedades da fonte de dados do relatório. Se o relatório usar uma fonte de dados partilhada, edite a fonte de dados partilhada em vez disso.
Armazenar credenciais e contas de processamento
A forma como trabalhas com um horário depende das tarefas que fazem parte da tua atribuição de funções. Se usar funções pré-definidas, os utilizadores que são Gestores de Conteúdos e Administradores de Sistema podem criar e gerir qualquer agenda. Se usar atribuições de funções personalizadas, a atribuição de funções deve incluir tarefas que suportem operações agendadas.
| Para efetuar esta tarefa | Inclua esta tarefa | Modo Nativo Papéis Predefinidos | Grupos de Modo SharePoint |
|---|---|---|---|
| Criar, modificar ou eliminar horários partilhados | Gerir horários partilhados | Administrador de Sistema | Proprietários |
| Selecionar horários partilhados | Ver horários partilhados | Utilizador do Sistema | Members |
| Criar, modificar ou eliminar horários específicos de relatórios numa subscrição definida pelo utilizador | Gerir subscrições individuais | Navegador, Construtor de Relatórios, Os Meus Relatórios, Gestor de Conteúdos | Visitantes, Membros |
| Criar, modificar ou eliminar agendas específicas de relatórios para todas as outras operações agendadas | Gerir o histórico de relatórios, gerir todas as subscrições, gerir relatórios | Gestor de Conteúdos | Proprietários |
Para mais informações sobre segurança em Serviços de Relatórios em modo nativo, consulte Definições de papéis - papéis predefinidos, Conceder permissões num servidor de relatórios em modo nativo e Tarefas e permissões. Para mais informações sobre o modo SharePoint, veja funções de Serviços de Relatórios - tarefas vs. grupos SharePoint - permissões
Como funciona o agendamento e o processamento de entregas
O Processador de Agendamento e Entrega fornece a seguinte funcionalidade:
Mantém uma fila de eventos e notificações na base de dados do servidor de relatórios. Numa implementação escalonada, a fila é partilhada entre todos os servidores de relatórios da implementação.
Chama o Processador de Relatórios para executar relatórios, processar subscrições ou limpar um relatório em cache. Todo o processamento de relatório que ocorre como resultado de um evento de agenda é executado como um processo em segundo plano.
Chama a extensão de entrega especificada numa subscrição para que o relatório possa ser entregue.
Outros componentes e serviços que trabalham com o Processador de Agendamento e Entrega tratam de aspetos de uma operação de agendamento e entrega. Especificamente, o Processador de Agendamento e Entrega corre no serviço Servidor de Relatórios e utiliza o Agente SQL Server como temporizador para gerar eventos agendados. A seguinte descrição passo a passo explica como funcionam as operações agendadas numa implementação de Serviços de Relatório:
Uma operação programada é definida quando um utilizador cria um horário. O calendário define uma data e hora que são usadas para desencadear uma subscrição para entrega de relatórios, atualizar um instantâneo ou expirar uma cache.
O servidor de relatórios guarda a informação de agendamento na base de dados do servidor de relatórios.
O servidor de relatórios cria um trabalho correspondente no SQL Server Agent que inclui a informação de agendamento fornecida. Os trabalhos são criados através de um procedimento armazenado e utilizam a ligação aberta existente à base de dados do servidor de relatórios.
O SQL Server Agent executa o trabalho na data e hora especificadas no cronograma. O trabalho cria um evento que é adicionado a uma fila mantida pelos Serviços de Relatórios.
O evento aciona um processo de geração de relatório ou subscrição. Os eventos são processados assim que são detetados na fila, e o relatório é então processado ou entregue em conformidade.
Antes de os eventos serem processados, o Processador de Agendamento e Entrega realiza uma etapa de autenticação para verificar se o proprietário da subscrição tem permissão para consultar o relatório.
Os Serviços de Relatórios mantêm uma fila de eventos para todas as operações agendadas. Ele sonda a fila em intervalos regulares para verificar se há novos eventos. Por padrão, a fila é verificada em intervalos de 10 segundos. Você pode alterar o intervalo modificando as definições de configuração PollingInterval, IsNotificationService e IsEventService no arquivo RSReportServer.config. O modo SharePoint também utiliza o RSreporserver.config para estas definições e os valores aplicam-se a todas as aplicações de serviços de Reporting Services. Para mais informações, consulte RsReportServer.config ficheiro de configuração.
Dependências de servidores
O Processador de Agendamento e Entrega exige que o serviço Report Server e o SQL Server Agent sejam iniciados. A funcionalidade de Processamento de Agendamento e Entrega deve ser ativada através da propriedade ScheduleEventsAndReportDeliveryEnabled da faceta Configuração de Área de Superfície para Serviços de Relatórios na Gestão Baseada em Políticas. Tanto o SQL Server Agent como o serviço Report Server devem estar a correr para que as operações agendadas ocorram.
Observação
Pode usar a faceta de Configuração de Área de Superfície para Serviços de Relatórios para interromper operações agendadas temporariamente ou permanentemente. Embora possa criar e implementar extensões de entrega personalizadas, por si só o Processador de Agendamento e Entrega não é extensível. Não podes alterar a forma como gere eventos e notificações. Para mais informações sobre funcionalidades de desligamento, consulte Eventos Programados e Entregas.
Parar o agente SQL Server
O processamento de relatórios agendados utiliza o SQL Server Agent por defeito. Se parar o serviço, não são adicionados novos pedidos de processamento à fila, a menos que os adicione programaticamente através do FireEvent método. Quando reinicias o serviço, os trabalhos que criam pedidos de processamento de relatórios recomeçam. O servidor de relatórios não tenta recriar trabalhos de processamento de relatórios que ocorreram no passado, enquanto o Agente do SQL Server estava offline. Se parares o SQL Server Agent durante uma semana, todas as operações agendadas dessa semana são perdidas.
Observação
A funcionalidade que o SQL Server Agent fornece aos Serviços de Relatórios pode ser substituída por código personalizado que utiliza o FireEvent método para adicionar eventos de agendamento à fila.
Parar o serviço do Servidor de Relatórios
Se parar o serviço Report Server, o SQL Server Agent continua a adicionar pedidos de processamento de relatórios à fila. A informação de estado do SQL Server Agent indica que o trabalho foi bem-sucedido. No entanto, como o serviço do Servidor de Relatórios é interrompido, não ocorre qualquer processamento de relatórios. Os pedidos continuam a acumular-se na fila até reiniciar o serviço do Servidor de Relatórios. Depois de reiniciar o serviço do Servidor de Relatórios, todos os pedidos de processamento de relatórios na fila são processados por ordem.