Gestão de Memória no Reporting Services
Olá pessoal :)
Uma dúvida muito comum que recebo é: posso por o meu servidor de relatórios (Reporting Services) no mesmo servidor de base de dados (database engine). A resposta é: claro que pode…. tecnicamente, mas dependendo da demanda, não é uma boa estratégia quando o objetivo é performance.
O foco aqui será a questão da gestão da memória RAM, mas o fato de usar o mesmo servidor também tem impacto na parte de processamento (vamos deixar isso para um post futuro abordando arquitetura :) ).
É fato que a engine relacional do SQL Server utiliza toda a memória disponível para ele, seja com cache de dados, planos e etc. A questão é que o Reporting Services também tenta fazer isso. E a velha máxima persiste: dois corpos não podem ocupar o mesmo local no espaço ao mesmo tempo.
Ok.. ok… traduzindo: a mesma porção de memória não pode ser ocupada por dois processos ao mesmo tempo.
SQL Server Reporting Services – Trace Log e HTTP Log
Olá!
Assim como a engine do SQL Server e muitos outros produtos (Microsoft ou não), estes possuem um log de trace sobre o que acontece com o aplicativo/serviço, não acontece diferente no Reporting Services.
Os arquivos de trace log do Reporting Services variam de acordo com a versão do SQL Server. Até o SQL Server 2005 (onde ainda tinhamos dependência do IIS para o SSRS) haviam 4 tipos de arquivos de log que por padrão são limitados a 32MB por arquivo e são automaticamente deletados após 14 dias. Estes arquivos são texto plano, então qualquer editor de texto consegue abrir.
Licenciamento no SQL Server 2012
Depois da série sobre licenciamento no SQL Server 2008 R2, muitos me perguntaram o que mudou no 2012.
Houveram diversas mudanças com objetivo de facilitar o licenciamento, tanto em cenários virtualizados ou físicos.
A Lívia Sarto que trabalha no time de produto de SQL Server na Microsoft Brasil fez três posts explicando as principais mudanças. Vale a pena a leitura, ainda que sejamos técnicos é algo interessante de se saber ao menos o básico!
Licenciando o SQL Server 2012 – Part I
Licenciando o SQL Server 2012 – Part II
Licenciando o SQL Server 2012 – Part III
Em breve teremos novos posts lá sobre licenciamento, então fiquem ligados. :)
Grande abraço!
Thiago Zavaschi
Hierarquias no Analysis Services
Olá!
Hoje irei comentar um pouco sobre hierarquias no Analysis Services, seus benefícios e alguns dos parâmetros importantes quando definimos/criamos uma.
Os elementos que compõem uma dimensão são chamados de atributos. Estas dimensões são responsáveis por dar contexto às medidas (measures) numéricas contidas no cubo (total de vendas, quantidade de vendas ano sobre ano, entre outras de acordo com o seu negócio) e muitas vezes podem conter dezenas de atributos.
Com uma grande quantidade de atributos pode ser complicado a um usuário de uma ferramenta de análise (Excel por exemplo) navegar por estes atributos. Para facilitar esta navegação, podem ser criadas hierarquias dentro destas dimensões. Além de facilitar a navegação (drill down e drill up), o SSAS consegue se utilizar destas hierarquias (desde que os atributos tenham um relacionamento natural) para criar índices e agregações pré-calculadas e assim agilizar o tempo de resposta das queries dos usuários.
Análise de Performance no Reporting Services (SSRS)
Olá pessoal,
O servidor de relatórios contido na suíte do SQL Server é muito usado e há uma série de características sobre ele que não usamos ou que desconhecemos que existe.
Hoje vou comentar sobre um dos pontos iniciais a se olhar quando são identificados problemas relacionados a performance no SSRS e indicar um direcionamento para a análise.
O primeiro ponto que podemos olhar é o Execution Log que nos provê dados relacionados às execuções de relatórios no servidor.
Alterando o local de armazenamento dos snapshots do Reporting Services (SSRS)
Olá pessoal!
O Reporting Services (SSRS) possui diversos recursos associados a gestão, entrega e administração dos relatórios criados nele, não é apenas uma engine para renderização dos mesmos.
Um recurso que é muito interessante no SSRS é a capacidade de armazenar snapshots de relatórios para posterior consulta de uma informação baseada em dados de um tempo passado (“frozen in time data”).
Por padrão os snapshots ficam armazenados em uma base de dados do SSRS. O Reporting Services possui duas databases cujos nomes e principais funções são:
-
ReportServer: Responsável por armazenar partes da configuração do SSRS (outras partes são armazenadas em arquivos de configuração), metadados e definições de relatórios, configurações de segurança, dados de agendamento e entrega de relatórios, etc. É nesta database que se os snapshots são armazenados por padrão.
-
ReportServerTempDB: Base de dados utilizada para armazenamento do cache, processamento intermediário, etc. A perda dos dados desta database não deve afetar o funcionamento normal do SSRS. O que pode impactar os usuários é: lentidão até ter um novo cache armazenado (se configurado), e um erro dizendo que a conexão se perdeu (rsExecutionNotFound). Algo importante de lembrar é que o SSRS não faz a reconstrução desta base de dados. Então pode ser interessante ter um script para reconstrução da mesma à mão. :)
Muitas das vezes, vulgo 100%, não deseja-se perder estas informações. Uma alternativa para quem quer armazenar estas informações de snapshot em outro local é armazená-los no file system (observação: foi utilizado o SSRS do 2008 no exemplo).
Para isso são necessários dois passos:
1) No arquivo de configuração RSReportServer.config coloque como “True” os parâmetros: WebServiceUseFileShareStorage e WindowsServiceUseFileShareStorage.
2) Configure o parâmetro FileShareStorageLocation para um caminho completo, exemplo: “C:\SSRSSnapshots”. O caminho padrão é: “C:\Program Files\Microsoft SQL Server\MSRS10.MSSQLSERVER\Reporting Services\RSTempFiles”.
É isso. :)
[]s!