Thiago Zavaschi R2 www.zavaschi.com

7Feb/100

Webcasts Ministrados

Pessoal, beleza?

Coloquei na sidebar os webcasts que ministrei (que eu possuía o link).

Conforme for participando de outros, irei alimentar a lista! :)

Abraços a todos!
Thiago Zavaschi

Tagged as: No Comments
23Jan/101

Artigo sobre PowerPivot no SQLServerCentral.com!

Pessoal,

Estou extremamente feliz com a notícia que recebi hoje!

Meu artigo sobre PowerPivot saiu no SQL ServerCentral.com !!!! E com um dia apenas no ar obteve mais de 2100 visualizações!

É o meu primeiro artigo internacional (espero que o primeiro de muitos) e espero que vocês apreciem a leitura, em inglês:

Self-Service BI with PowerPivot for Excel 2010

“Thiago kicks off a new series of articles, taking us through everything we need to know to use PowerPivot effectively. First off, he walks us through the prerequisites, and getting started with our first basic data set.” 

http://www.sqlservercentral.com/articles/Business+Intelligence/69380/

Ele também saiu na newsletter do SQL Server Central como featured article! :D

image

Comentários são bem vindos!

Abraços,
Thiago Zavaschi

11Jan/100

Contribuam! The Great PowerPivot FAQ!

Como eu disse no meu post anterior, faço parte desse time fantástico que está moderando o FAQ (powerpivotfaq.com) de PowerPivot do Rob Collie (Microsoft - www.powerpivotpro.com).

Segue agora o post (tradução livre do inglês, com algumas pequenas adições) do post sobre os moderadores e como fazer para contribuir!

Lista de todos os moderadores (novamente, um grande time! Sem contar que o próprio Rob Collie não está na lista, somos em 16 no total):

powerpivotfaqmoderators

As informações de contato dos moderadores podem ser encontradas aqui.

Quer ajudar? Saiba como:

1) Se você tem uma dúvida que não está respondida no FAQ, deixe um de nós saber. Você tem diversas pessoas para escolher :)

2) Se você ver algum item que pode ser melhorado ou melhor esclarecido, repito, deixe-nos saber!

3) Ajude a espalhar! Se você ver alguma questão postada em algum lugar, e se você sabe que temos a resposta no FAQ, poste um link para lá por favor. Se você participa de um forum ou de um evento onde você acha que as pessoas possam se interessar, por favor compartilhe. Blogue sobre. Ajude a passar o conhecimento adiante, nem que seja por sinal de fumaça (tá, essa última frase é de contribuição minha hahaha).

4) Seja gentil com os voluntarios (vulgo, eu e os demais :P): Talvez até mesmo deixando uma mensagem de agradecimento se algum dos itens do FAQ ajudou no seu dia. :)”

Então pessoal, coloquei o post do Rob aqui pois sei que nem todos possuem fluência no inglês, então as dúvidas que vocês tiverem podem me perguntar que postarei lá. E se tiverem dificuldade de entender algo do FAQ, me avisem! Acredito que eu seja o único que fala em português. :)

Lembrando que eu aguardo dúvidas de vocês sobre SQL Server também! Desenvolvimento, Business Inteligence, Alta Disponibilidade, Tuning..., mandem ver! 2010 vem com tudo! :)

Abraços a todos!
Thiago Zavaschi

9Jan/100

PowerPivot FAQ

 

PowerPivot_2

Olá a todos!

Hoje venho recomendar a todos um excelente FAQ sobre PowerPivot: http://powerpivotfaq.com

Contém um time de peso administrando/moderando, conforme vocês podem observar aqui: http://powerpivotfaq.com/Lists/Admins%20and%20Moderators/AllItems.aspx

O conteúdo é 100% em inglês, mas vale muito a pena conferir.

Caso ainda tenham dúvidas podem me perguntar sem problemas!

Em tempo (edit):

Agora faço parte do time de moderadores. Em breve poderão ver contribuições minhas lá!

As dúvidas que vocês tiverem e se forem pertinentes, poderei postar lá também! Lembrem que é uma iniciativa para a comunidade!

Abraços,
Thiago Zavaschi

7Jan/100

Verificando o status do seu Cluster SQL Server

Olá a todos,

O post de hoje é uma dica rápida para os profissionais que precisam trabalhar com instâncias clusterizadas do SQL Server e gostariam de saber algumas informações sobre as mesmas!

Temos o uso do SERVERPROPERTY e das DMV’s: sys.dm_io_cluster_shared_drives / sys.dm_os_cluster_nodes.

Para extrair algumas informações:

SELECT
    SERVERPROPERTY('IsClustered') as _1_Eh_Clusterizada,
    SERVERPROPERTY('ComputerNamePhysicalNetBIOS') as NoAtual,
    SERVERPROPERTY('Edition') as Edicao,
    SERVERPROPERTY('MachineName') as VirtualName,
    SERVERPROPERTY('InstanceName') as NomeInstancia,
    SERVERPROPERTY('ServerName') as Virtual_e_InstanceNames,
    SERVERPROPERTY('ProductVersion') as Versao,
    SERVERPROPERTY('ProductLevel') as NomeVersaoSemHotfixes

 

E para extrair outras informações é bastante interessante utilizar as seguintes queries:

SELECT * FROM sys.dm_io_cluster_shared_drives

SELECT * FROM sys.dm_os_cluster_nodes

Espero que as queries sejam úteis a vocês!

Abraços,

Thiago Zavaschi

5Jan/100

Prevendo o crescimento da suas databases com o SQL Server Data Mining Add-ins for Microsoft Office 2007 – Parte I

Olá pessoal,

O artigo de hoje é a base de um dos itens/indicadores utilizados nas suas análises de health check dos servidores SQL Server: Verificar o crescimento dos seus arquivos de base de dados e log.

Antes de mais nada vamos revisar um ponto importante quanto ao crescimento das databases:

É muito comum encontrar em servidores configurações como: crescimento proporcional 10% para a base e para o arquivo de log e com irrestrito por exemplo. A imagem a seguir mostra onde visualizar estas informações.

img1

Em que isso impacta? Valores pequenos de taxas de crescimento para bases que crescem muito é extremamente prejudicial, pois teremos altas taxas (overhead) de I/O para o crescimento dos arquivos. Por outro lado, valores muito grandes podem gerar um uso descontrolado dos seus discos.

Em um mundo/cenário ideal os crescimentos das databases são monitorados e o aumento físico dos mesmos são planejados e executados de maneira manual. Claro que pela comodidade, é difícil DBAs optarem por esta abordagem.

Mas e como monitorar, ou melhor, prever o crescimento, já que muitos DBAs deixam essas configurações automáticas? Uma das maneiras que eu acho muito elegante é através da utilização do Add-in para o Office 2007, mais especificamente a opção Forecast.

O conteúdo deste post pode ser adaptado para fazer outras previsões através do Office!

O que preciso para começar? 

“Então Thiago, o que eu preciso para iniciar?”

Será necessário basicamente:

Microsoft Office Excel 2007; (a princípio não funciona no Office 2010 beta, mas estou verificando se há algum meio).

E um dos pares abaixo:

SQL Server Analysis Service 2008;
Data Mining Add-Ins for Office 2007 (SQL 2008);
http://www.microsoft.com/downloads/details.aspx?familyid=AF070F2C-46F4-47B6-B7BF-48979B999AEB&displaylang=en

OU

SQL Server Analysis Service 2005;
Data Mining Add-Ins for Office 2007 (SQL 2005);
http://www.microsoft.com/downloads/details.aspx?familyid=7C76E8DF-8674-4C3B-A99B-55B17F3C4C51&displaylang=en

Mãos a obra!

Coletando os dados de tamanho das databases

O primeiro passo é definir um mecanismo para a coleta dos dados.

Para isso vamos criar uma tabela que armazenará os dados relativos ao tamanho dos arquivos. Essa tabela poderá ter variações para outros fins, mas manterei ela com um certo grau de simplicidade.

CREATE TABLE TamanhoBaseHistorico
(
    id INT PRIMARY KEY IDENTITY,
    nome varchar(128) NOT NULL, -- nome da base
    nome_fisico VARCHAR(2000) NOT NULL, -- nome físico do arquivo, com diretório
    tamanho INT NOT NULL, -- tamanho do arquivo em Kb
    dblog BIT NOT NULL, -- se o arquivo é de log
    data DATETIME NOT NULL -- data da medição
)
GO

De tempos em tempos algum mecanismo deverá coletar os dados necessários e inserí-los nesta tabela.

Entre outras formas (como por exemplo o powershell), podemos fazer uso da system stored procedure chamada sp_msforeachdb e associar a execução da mesma a um job do banco de dados.

Essa stored procedure executa um comando para cada database, substituindo a “tag” [?] pelo nome da base. As informações virão da system view chamada sys.database_files.

O comando que será agendado como um job no SQL Server Agent será, para o nosso caso, o seguinte:

EXECUTE sp_msforeachdb
        'INSERT INTO TamanhoBaseHistorico
        SELECT name, physical_name, size, type, GETDATE()
        FROM [?].sys.database_files'

 

Não vou entrar nos méritos da criação de jobs no Agent, mas vamos assumir que estes dados sejam carregados todos os meses, uma vez por mês.

Na próxima parte veremos o processo de instalação do add-in e a utilização do mesmo!

Abraços,

Thiago Zavaschi

24Dec/091

Feliz Natal! Merry Christmas! Feliz Ano Novo! Happy New Year!

Eu juro que tentei fazer ficar legal que nem a do Paulo (sqlfromhell), mas não consegui ):

Está aí o resultado da árvore de natal que fiz tentei fazer somente utilizando o PowerPivot (sim foram apenas 3 minutos pra fazer hahaha):

arvore_powerpivot

FELIZ NATAL A TODOS!!

E EXCELENTE 2010!!!

2010 PROMETE!

Abraços e felicidades a todos os leitores do blog!
Thiago Zavaschi

21Dec/093

Novidades do SQL Server 2008 R2 – Parte III – Iniciando com o PowerPivot for Excel 2010

Olá pessoal,

No artigo anterior (http://zavaschi.com/index.php/2009/11/novidades-do-sql-server-2008-r2-parte-ii-powerpivot-conceitos/) eu introduzi os conceitos relacionados ao self-service BI, mais precisamente os relacionados ao PowerPivot. Consulte-os quando surgirem dúvidas. :)

Apenas lembrando, PowerPivot é uma grande promessa de Self-Service BI real da Microsoft (“Mas e o Report Builder?” - Calma, depois comento sobre ele), anteriormente era conhecido como projeto Gemini. E ele é divido basicamente em PowerPivot for Excel 2010 e PowerPivot for SharePoint 2010.

PowerPivot_2

O PowerPivot for Excel 2010, como veremos, é muito simples de usar e possui poderosa capacidade de análise.

“Ok Thiago, este nome significa que nós o usaremos de dentro do Excel 2010, certo? O quão rápida essa solução é?”

Sim, o uso (composição da análise) será de dentro do Microsoft Excel 2010. Isto é devido ao fato de que o Excel é a ferramenta mais usada e familiar para as pessoas que usualmente tomam as decisões ou que fazem análise. Isso já ocorre atualmente com o uso de tabelas dinâmicas associadas a cubos do Analysis Services, ou através dos plugins de Data Mining para o Excel. Nós normalmente temos uma quantidade muito grande de dados para analizar, oq ue pode ser um processo caro computacionalmente se não for otimizado, mas com o novo PowerPivot for Excel nós podemos analisar grandes quantidades de dados de uam forma bem rápida.

Aqui cabem algumas ressalvas: o comportamento em ambientes cuja arquitetura é x64 é melhor que x86 para trabalhar com o PowerPivot (desempenho). O PowerPivot faz operações em memória então pode ser necessário um hardware que acompanhe, porém como eu disse, ele está otimizado e consegue trabalhar com enorme quantidade de dados (dezenas de milhões de linhas) fácil e rapidamente.

O PowerPivot é muito mais poderoso do que simplesmente utilizar tabelas dinâmicas com cubos SSAS (na série de artigos que estou iniciando sobre PowerPivot veremos com detalhes todo o poder disponível). A análise gerada pelo Excel pode ser publicada no SharePoint 2010 e assim ter esses dados disponíveis a todos (entenda-se todos como aqueles que possuem permissões para acessar essa área no SharePoint).

O que você pode estar pensado é que a planilha com a análise uma vez no servidor pode ficar vulnerável e desatualizada. Ou você pode estar pensando neste exato momente “Ih.. é mesmo, então o PowerPivot não é legal, certo?!”.. ERRADO!!!

Você pode fazer (agendar) com que a planilha se atualize sozinha no servidor, além de ter o Excel Services (componente do SharePoint 2010) que torna possível fazer pequenas alterações na planilha para visualização momentânea (mas considere a planilha como sendo sempre read-only, após publicada, isso garante a consistência dos dados).

Mas a integração com o SharePoint 2010 é tema de um próximo post. (:

“Ok Thiago, você me convenceu. Como começo? O que eu preciso para trabalhar com o PowerPivot for Excel?”

Tudo o que você vai precisar já está disponível publicamente, seguem os links para download:

Microsoft SQL Server 2008 R2 (Nov CTP): http://www.microsoft.com/sqlserver/2008/en/us/R2.aspx

Microsoft Office 2010 Beta: http://www.microsoft.com/office/2010/en/default.aspx

PowerPivot for Excel 2010 (certifique-se de pegar o plugin correspondente a arquitetura que o seu Office está instalado, pois você pode ter um sistema com arquitetura x64 e ter botado o Office x86): http://powerpivot.com/download.aspx

Instale o Microsoft Office 2010, o SQL Server 2008 R2 (Nov CTP) e então o plugin para o  PowerPivot for Excel. No site oficial do PowerPivot (www.powerpivot.com) também há um guia (em inglês) para o processo de instalação se acharem necessário. O processo é bem tranquilo, até eu consegui! :)

“Bom Thiago eu tenho tudo instalado e agora vou analizar .... Vou analizar o que?”

Com o PowerPivot nós podemos usar uma série de recursos como fontes de dados: cubos SSAS, tabelas do excel, SQL Server, Oracle e assim por diante. o seguinte site contém diversas bases de dados que você pode utilizar como fonte para os seus experimentos: http://www.powerpivot-info.com/post/50-list-suggested-datasets-to-test-powerpivot.

Eu irei usar para os experimentos deste post a seguinte base de dados (em Access): http://powerpivotsampledata.codeplex.com/Release/ProjectReleases.aspx?ReleaseId=35438.

Agora com tudo instalado e um conjunto de dados, podemos começar a diversão!

Primeras Impressões

A primeira coisa que você irá perceber é uma nova aba no Excel, denominada PowerPivot (conforme a figura 1):

pic1_powerpivot
Figura 1: A nova aba no Microsoft Excel 2010.

Nesta aba nós temos seis grupos: Launch. Measures, View, Excel Data, Help e Show/Hide.

O início de tudo se dá no grupo Launch, mais precisamente no botão PowerPivot Window presente na Ribbon. A figura 2 mostra a janela que deverá aparecer para você.

pic2_powerpivot
Figura 2: A janela do PowerPivot

Nós não temos nenhum dado carregado ainda. O que nós temos basicamente habilitados são os botões de recuperação dos dados, listar/configurar as conexões existentes. Você também tem a opçõ de retornar para a janela principal do Excel.

Antes de importar os dados da fonte que mencionei anteriormente, vamos ver quais são os tipos de fontes de dados que podemos utilizar. Inicialmente você irá ver os tipos mais comuns de fontes de dados, mas você pode clicar em “From Other Sources” para ver a grande gama que temos disponível. E são eles (pelo menos no CTP de novembro do SQL Server 2008 R2):

  • Microsoft SQL Server
  • Microsoft SQL Azure
  • Microsoft Access
  • Microsoft SQL Server Analysis Services
  • PowerPivot workbooks published to Analysis Services running in SharePoint Integrated Mode
  • Oracle
  • Teradata
  • Sybase
  • Informix
  • DB2
  • DataFeeds
  • Excel workbooks
  • Text files

Você pode conectar também com qualquer fonte de dados que seja compatível com conexões ODBC ou OLEDB.

Na minha opinião, a possibilidade de usar informação proveniente de um cubo SSAS com outras fontes de informação (por exemplo) é fantástica! Esta capacidade é muitas vezes mais poderosa doq ue simplesmente utilizar as tabelas dinâmicas com cubos SSAS.

pic3_powerpivot
Figura 3: Fontes de Dados Disponíveis.

Fonte de dados de Exemplo

A fonte de dados de exemplo contém quatro arquivos:

  • AccessQuery.txt - contém uma query de exemplo pra executar contra o banco fornecido no pacote também. Utilizaremos em nosso exemplo.
  • AW_Companysales.accdb e IndustryBikeSales.accdb - que são bases de exemplo em Access que estão disponíveis para testes.
  • Country.xlsx - que é um arquivo excel simples que contém um mapeamento sigla-país.

Alimentando o PowePivot

Clique em “From Database” e selecione “From Access”, selecione a base de dados IndustryBikeSales. Preencha o nome com um nome amigável ( :) ). esta base de dados não necessita de login e senha, deixe estes campos em branco.

Na próxima janela selecione a opção que deixe você escrever a sua query customizada. Coloque a seguinte query (é a fornecida nos arquivos mencionados anteriormente) e clique no botão Import:

SELECT IndustrySales.Country, IndustrySales.Quarter,
IndustrySales.[Type Of Bike], IndustrySales.Channel,
IndustrySales.Units
FROM IndustrySales
WHERE ( (IndustrySales.Quarter >='2001 Q3')
AND (IndustrySales.Quarter<='2009 Q2') )

A sua janela do PowerPivot deve estar parecida com a figura 4:

pic4_powerpivot

Figura 4: Dados resultantes da query sobre a base IndustryBikeSales

Nós temos as informações sobre as vendas por trimestre, divididas por tipo de produto (bicicleta no caso). Vocês devem concordar comigo que é um pouco confuso tomar desições através da análise direta destes dados (1152 linhas). Não seria muito bom se nós pudéssemos simplesmente organizar o total de vendas por tipo, ou por país (trimestre etc.) de uma maneira rápida e com poucos cliques?

Nós podemos fazer isso utilizando o PowerPivot for Excel, com pousos esforços podemos extrair muita informação. Você pode adicionar fórmlas do excel, expressões DAX, criando novas colunas baseadas nos seus dados (sobre isso teremos novos posts) para ter mais subsídios para a sua análise.

na figura 4 você pode observar que nós temos vários outros botões habilitados: Refresh, Manual e PivotTable.

O botão “Refresh” importa novamente os dados das fontes. É como qualquer outro botão de atualizar :). O botão PivotTable é o próximo botão que você tem que olhar. Clicar nele irá te mostrar algo similar a figura 5.

pic5_powerpivot

Figura 5: Menu PivotTable

Quando você selecionar um destes itens, o Exel irá perguntar onde você quer criar o template: num novo worksheet ou em um existente. Independente do que você escolher, o template será criado pelo PowerPivot. O seu Microsoft Excel 2010 deverá estar parecido com a figura 6. Para o meu exemplo usei a opção: Four Charts (quatro gráficos).

pic6_powerpivot

Figura 6: O template com os gráficos gerados pelo PowerPivot

Eu selecionei para adicionar em um workbook existente (”Sheet 1”). agora nós temos algumas coisas que você provavelmente (espero, hehe) percebeu: nós temos 4 abas novas (Data for Sheet 1 Chart 1, Data for Sheet 1 Chart 2, ... e assim por diante) e quando você clica em um destes gráficos você verá o grupo Pivot Chart Toolsna ribbon (figura 7) e o Gemini Task Pane (figura 8). Eu não vou entrar em detalhes sobre a ribbon, a maioria das opções são sobre formatações e coisas do gênero.

Ess painel do Gemini é familiar pra você? Eu acho que é muito parecido com o painel de tabela dinâmica do Excel, mas com os slicers (veremos a seguir).

pic7_powerpivot

Figura 7: PivotChart Tools: Design

pic8_powerpivot

Figura 8: Gemini Task Pane

Nós agora iremos selecionar alguns dados para popular os relatóios. Você pode simplesmente marcar as checkboxes ou arrastar e soltar na região que desejar: Legend Fields, Axis fields, Values ou filtrar alguma informação. Você também pode usar os slicers. Os slicers são como filtros que você pode ligá-los ou desligá-los apenas clicando neles! Vamos relembrar que o PowerPivot é voltado aos gerentes, diretores e tomadores de decisão, então este comportamento é realmente útil.

Após simplesmente adicionar algumas colunas aos gráficos e adicionado o Trimestre (Quarter) e País (Country) como slicers (com, realmente, poucos cliques) nós temos algo parecido com a figura 9.

pic9_powerpivot

Figura 9: Dashboard sobre os dados sendo analisados com o PowerPivot!!! Criado com pouquíssimos cliques!

Olhe na parte esquerda da figura 9. Estes são os slicers que comentei anteriormente. eu facilmente selecionei apenas as informações de 2003 e 2004 e excluí da análise os Estados Unidos. Se o desejo fosse analisar Estados Unidos x Alemanha, por exemplo, eu poderia simplesmente clicar nos slicers correspondentes e não ateraria nada nos gráficos! Eu também tenho que dizer que essa operação é extremamente rápida, mesmo quando tivermos milhões de linhas.

A última coisa que você tem que olhar agora é nas outras abas criadas pelo PowerPivot. Os dados parecem familiares? Estes são os dados que estão sendo usados na criação dos ráficos apresentados na dashboard.

O próximo passo é compartilhar a análise feta no Excel, para evitar duplicamento de informações e manter tudo em um ponto central. O PowerPivot for SharePoint vem somar recursos às capacidades grande que já temos (veremos com mais detalhes em artigos futuros)!

Bom, isso é tudo que eu queria mostrar hoje pessoal. E essa é só a ponta deste iceberg chamado PowerPivot. Eu irei mostrar features mais avançadas e a integração com o SharePoint 2010 (múltiplas fontes simultâneas, DAX) no próximo artigo!

Abraços a todos!

Thiago Zavaschi

20Dec/090

SQL Server Saturday Night – Apresentação

Obrigado a todos que acompanharam o SQL Server Saturday Night!

Foram verdadeiros heróis!

Seguem aqui os slides que usei na minha apresentação!

http://zavaschi.com/wp-content/uploads/2009/12/Zavaschi-SQLServerSaturdayNight.pdf

Em breve mais posts sobre PowerPivot e outras novidades do SQL Server 2008 R2!

Abraços,
Thiago Zavaschi

11Dec/090

SQL Server Saturday Night

Pessoal segue um convite para mais um grande evento de SQL Server promovido pela comunidade técnica!

Eu vou palestrar no evento também! Espero que estejam todos presentes!

--

O SQL Server Day foi um sucesso, sendo assim, alguns participantes resolveram dar um presente de Natal para todos: O SQL Server Saturday Night. Um super-webcast de 5 horas de duração que será realizado no dia 19/12/2009 à partir das 18:00 horas.

A grade está montada da seguinte forma:
- Powershell & Transact-SQL (Laerte Jr) - 18:00 as 18:50 horas
- Profiler e Perfmon - (Vladimir Magalhães) - 18:50 as 19:40 horas
- Alta Disponibilidade: Mirroriing (Vitor Fava) - 19:40 às 20:30 horas
- Performance & Tuning - (Rodrigo Crespi) - 20:30 horas as 21:20 horas
- Database Snapshots (Alexandre Lopes) - 21:20 às 22:10 horas
- SQL Server 2008 R2 (Thiago Zavaschi) - 22:10 às 23:00 horas

Ou seja, voce não pode perder, né? Prepara o telão, chama os amigos, pede a pizza + guaraná .. e assista ao SQL Server Saturday Night !

Aonde eu meu inscrevo? http://msevents.microsoft.com/CUI/EventDetail.aspx?EventID=1032437130&Culture=pt-BR

Abraços,
Thiago Zavaschi