pedro antonio galvão junior latex são roque – analista de sistemas/dba mvp – windows server...

28
Pedro Antonio Galvão Junior Pedro Antonio Galvão Junior Latex São Roque – Analista de Latex São Roque – Analista de Sistemas/DBA Sistemas/DBA MVP – Windows Server System – SQL MVP – Windows Server System – SQL Server Server Solucionando problemas do SQL Server 2005 Integration Services

Upload: internet

Post on 18-Apr-2015

104 views

Category:

Documents


0 download

TRANSCRIPT

Page 1: Pedro Antonio Galvão Junior Latex São Roque – Analista de Sistemas/DBA MVP – Windows Server System – SQL Server pedrogalvaojunior@gmail.com Solucionando

Pedro Antonio Galvão JuniorPedro Antonio Galvão Junior

Latex São Roque – Analista de Sistemas/DBALatex São Roque – Analista de Sistemas/DBA

MVP – Windows Server System – SQL ServerMVP – Windows Server System – SQL Server

[email protected]@gmail.com

Solucionando problemas do SQL Server 2005 Integration Services

Page 2: Pedro Antonio Galvão Junior Latex São Roque – Analista de Sistemas/DBA MVP – Windows Server System – SQL Server pedrogalvaojunior@gmail.com Solucionando

Agenda

• O que é Integration Services?O que é Integration Services?• Arquitetura.Arquitetura.• Perguntas Freqüentes.Perguntas Freqüentes.• Benefícios do SSIS.Benefícios do SSIS.• Ferramentas SSIS. Ferramentas SSIS.

– Demo.Demo.

• Overview of SSIS.Overview of SSIS.– Entradas de pacotes filhos em pacotes pais.Entradas de pacotes filhos em pacotes pais.– Usando Breakpoints.Usando Breakpoints.

• Log Data para Troubleshooting.Log Data para Troubleshooting.– DemoDemo

• Conclusão.Conclusão.

Page 3: Pedro Antonio Galvão Junior Latex São Roque – Analista de Sistemas/DBA MVP – Windows Server System – SQL Server pedrogalvaojunior@gmail.com Solucionando

O que é Integration Services?

• Plataforma para construção das novas soluções de integração de dados

• Sucessor do DTS – Data Transformation Services

• Parte da plataforma de Business Intelligence da Microsoft

Page 4: Pedro Antonio Galvão Junior Latex São Roque – Analista de Sistemas/DBA MVP – Windows Server System – SQL Server pedrogalvaojunior@gmail.com Solucionando

Arquitetura

• Separação entre o Work flow e o Data Flow– Data Transformation Runtime (DTR)

• Control Flow = Runtime = Task

– Data Transformation Pipeline (DTP)• Data Flow = Pilepine = Transforms

• Views separadas

Page 5: Pedro Antonio Galvão Junior Latex São Roque – Analista de Sistemas/DBA MVP – Windows Server System – SQL Server pedrogalvaojunior@gmail.com Solucionando

Sequences

Loops

ArquiteturaStandard transforms Custom transforms

DataDestinationAdapters

Data SourceAdapters

XMLPackage

XMLPackage

Command Line

Tasks

DTS DesignerWizards

EventHandlers

Page 6: Pedro Antonio Galvão Junior Latex São Roque – Analista de Sistemas/DBA MVP – Windows Server System – SQL Server pedrogalvaojunior@gmail.com Solucionando

Antes do Integration Services

Dados semi estruturados

Legado: Arquivos

Bancos de Dados

ETL Warehouse

Relatórios

AcessoMóvel

Data mining

Notificação

•Integração e warehousing requerem operações e estágios separados•Preparação de dados requer diferentes ferramentas•Grandes volumes de dados tornam o processo mais demorado

Decodi-ficação

StagingMineração

ETL Staging

Limpeza &

ETL

Staging

ETL

Page 7: Pedro Antonio Galvão Junior Latex São Roque – Analista de Sistemas/DBA MVP – Windows Server System – SQL Server pedrogalvaojunior@gmail.com Solucionando

Com o Integration Services

Dados semi estruturados

Legado: Arquivos

Banco de Dados

Notificação

•Integração e warehousing faz parte da mesma operação•Extração, transformação e carga no mesmo processo (aditáveis)•Notificação pode compor uma tarefa dentro do package•Escalável

Integration Services

Mineração

OutrasFontes

FontesPadrão

Limpeza

Fusão

Mineração

Warehouse

Relatórios

Acesso Móvel

Page 8: Pedro Antonio Galvão Junior Latex São Roque – Analista de Sistemas/DBA MVP – Windows Server System – SQL Server pedrogalvaojunior@gmail.com Solucionando

Como o SSIS Funciona

•Podem ser escolhidas vários Data Sources•Possibilidade de transformação utilizando vários formatos diferentes•Dados são roteados obedecendo regras de negócio ou condições de erro•Implementa concorrência•A carga pode ser feita em várias destinos paralelamente

Page 9: Pedro Antonio Galvão Junior Latex São Roque – Analista de Sistemas/DBA MVP – Windows Server System – SQL Server pedrogalvaojunior@gmail.com Solucionando

Perguntas Freqüentes

• Por que a execução dos pacotes é tão lenta?• Por que eles utilizam tantos recursos?• Por que eles não utilizam determinados recursos• Por que eles não utilizam mais recursos• Devo usar o banco de dados ou o SSIS? • Como eu carrego dados mais rápido no SSIS? • Tenho mais parâmetros para configurar? • O SSIS é mais rápido que o DTS? • Quais recursos estão disponíveis?

Page 10: Pedro Antonio Galvão Junior Latex São Roque – Analista de Sistemas/DBA MVP – Windows Server System – SQL Server pedrogalvaojunior@gmail.com Solucionando

Benefícios do SSIS

• Performance– Data Flow manipula grandes volumes de dados de forma mais

eficiente– Suporte a operações mais complexas

• Facilidade– Vários adaptadores disponíveis reduzem o “hand coding”– Extensibilidade habilita o desenvolvimento dos seus próprios

adaptadores que funcionaram como se fossem nativos– Ambiente visual mais produtivo com suporte a debugging

• Agilidade– A limpeza de dados pode ser feita durante a carga– Facilidade no tratamento de regras de negócio dentro do

workflow

Page 11: Pedro Antonio Galvão Junior Latex São Roque – Analista de Sistemas/DBA MVP – Windows Server System – SQL Server pedrogalvaojunior@gmail.com Solucionando

Ferramentas do SSISFerramentas do SSIS

SSIS SSIS packagespackagespackagespackages

BI StudioBI Studio

SSIS ServiceSSIS Service

Mgt StudioMgt Studio

Import Export WizardImport Export Wizard

DeploymentDeployment

Installer File setInstaller File set

Dtexec.exeDtexec.exe

Dtexecui.exeDtexecui.exe

Dtutil.exeDtutil.exe

execuçãoexecuçãoView running packages View running packages import\exportimport\export

deploydeploy

Page 12: Pedro Antonio Galvão Junior Latex São Roque – Analista de Sistemas/DBA MVP – Windows Server System – SQL Server pedrogalvaojunior@gmail.com Solucionando

• Aquisição de dados e Aquisição de dados e integração.integração.

• Transformação de Transformação de dados.dados.

• Enriquecimento Enriquecimento dos dados, com dos dados, com Lógica de negóciosLógica de negócios

• Data miningData mining

• Apresentação de Apresentação de dados e dados e distribuição.distribuição.

• Acesso de dados Acesso de dados para a massapara a massa

IntegraçãoIntegração AnáliseAnálise ReportReport

SQL Server Business IntelligenceSQL Server Business Intelligence

Page 13: Pedro Antonio Galvão Junior Latex São Roque – Analista de Sistemas/DBA MVP – Windows Server System – SQL Server pedrogalvaojunior@gmail.com Solucionando

SSIS OverviewSSIS Overview

Tour pelo Business Intelligence StudioTour pelo Business Intelligence Studio

Connection Manager Connection Manager

demodemo

Page 14: Pedro Antonio Galvão Junior Latex São Roque – Analista de Sistemas/DBA MVP – Windows Server System – SQL Server pedrogalvaojunior@gmail.com Solucionando

Segurança no SSISSegurança no SSIS

• Composta de algumas camadas para suportar Composta de algumas camadas para suportar cenários SQL e arquivos externos.cenários SQL e arquivos externos.

• Os Packages podem ser criptografados ou Os Packages podem ser criptografados ou assinados por certificado digital.assinados por certificado digital.

• Packages podem ser armazenados em bancos Packages podem ser armazenados em bancos SQL Server e protegidos com SQL roles.SQL Server e protegidos com SQL roles.

Page 15: Pedro Antonio Galvão Junior Latex São Roque – Analista de Sistemas/DBA MVP – Windows Server System – SQL Server pedrogalvaojunior@gmail.com Solucionando

Segurança no SSISSegurança no SSIS

• (A) Um pacote pode ser criptografado via Package Protection level ou (A) Um pacote pode ser criptografado via Package Protection level ou armazenadp dentro do MSDB, onde o acesso ao pacote é limitado armazenadp dentro do MSDB, onde o acesso ao pacote é limitado pelos SQL Database rolespelos SQL Database roles

Permissões

NTFS

Controle de acesso a Controle de acesso a pastas ou nos pastas ou nos arquivos dos pacotes arquivos dos pacotes

Package Protection

Level Property

Roles de leitura e Roles de leitura e escrita nos pacotes escrita nos pacotes armazenados no armazenados no banco MSDBbanco MSDB

SQL DBSQL DB RolesRoles

AAB

• (B) Um pacote pode ser criptografado pelo Package Protection level ou o (B) Um pacote pode ser criptografado pelo Package Protection level ou o arquivo do pacote pode ser controlado por permissões em pastas e arquivo do pacote pode ser controlado por permissões em pastas e arquivos (NTFS).arquivos (NTFS).

Criptografa ou limpa propriedades

sensíveis

Assinatura do pacote

Page 16: Pedro Antonio Galvão Junior Latex São Roque – Analista de Sistemas/DBA MVP – Windows Server System – SQL Server pedrogalvaojunior@gmail.com Solucionando

SSIS Windows ServiceSSIS Windows Service• Monitora e gerencia pacotes rodando ou Monitora e gerencia pacotes rodando ou

armazenados, através do SQL Management Studio armazenados, através do SQL Management Studio • O Serviço é instalado quando instalamos o SSISO Serviço é instalado quando instalamos o SSIS• O Serviço não é necessário para design ou O Serviço não é necessário para design ou

execução dos pacotesexecução dos pacotes• Os pacotes armazenados (Stored Packages) é Os pacotes armazenados (Stored Packages) é

baseado em um arquivo XML. baseado em um arquivo XML. • Podemos customizar conteúdos de arquivos, Podemos customizar conteúdos de arquivos,

nomes e localidadenomes e localidade• Tem eventos Windows para o serviço, ou seja, se Tem eventos Windows para o serviço, ou seja, se

se o serviço inicia, pára, falha ao iniciar, iniciou um se o serviço inicia, pára, falha ao iniciar, iniciou um pacote , um pacote parou …)pacote , um pacote parou …)

Page 17: Pedro Antonio Galvão Junior Latex São Roque – Analista de Sistemas/DBA MVP – Windows Server System – SQL Server pedrogalvaojunior@gmail.com Solucionando

Posso criar meu próprio clientPosso criar meu próprio client • Quero criar uma console administrativa em Quero criar uma console administrativa em

asp.NET. Como posso listar os pacotes? asp.NET. Como posso listar os pacotes?

• Podemos fazer isso através do service interface no Podemos fazer isso através do service interface no Application Object. Application Object.

static void Main(string[] args) static void Main(string[] args) { { Application app = new Application(); Application app = new Application(); PackageInfos pInfos = app.GetDtsServerPackageInfos(@"File PackageInfos pInfos = app.GetDtsServerPackageInfos(@"File System", "yourserver"); System", "yourserver"); foreach (PackageInfo pinfo in pInfos) foreach (PackageInfo pinfo in pInfos) Console.WriteLine(pinfo.Folder + " " + pinfo.Description); Console.WriteLine(pinfo.Folder + " " + pinfo.Description); } }

Page 18: Pedro Antonio Galvão Junior Latex São Roque – Analista de Sistemas/DBA MVP – Windows Server System – SQL Server pedrogalvaojunior@gmail.com Solucionando

SSIS OverviewSSIS Overview

Mostrar Log ProviderMostrar Log Provider

Mostrar Log EventsMostrar Log Events

Progress Pane/OutputProgress Pane/Output

demodemo

Page 19: Pedro Antonio Galvão Junior Latex São Roque – Analista de Sistemas/DBA MVP – Windows Server System – SQL Server pedrogalvaojunior@gmail.com Solucionando

Log Data para TroubleshootingLog Data para Troubleshooting• Logging e Error Flow são principais recursos para Logging e Error Flow são principais recursos para

troubleshootingtroubleshooting• Pode ser salvo e carregadoPode ser salvo e carregado• Package IDs Necessitam ser únicos. Se precisar, Package IDs Necessitam ser únicos. Se precisar,

poderá re-gerar o ID via BIDS ou dtutil.exe poderá re-gerar o ID via BIDS ou dtutil.exe – Exemplo: O comando abaixo irá regenerar o ID Exemplo: O comando abaixo irá regenerar o ID

do pacote para todos os pacotes numa pasta.do pacote para todos os pacotes numa pasta.• for %%f in (C:\_work\SSISPackages\_quick\for %%f in (C:\_work\SSISPackages\_quick\

Notepad\*.dtsx) do dtutil.exe /i /File %%fNotepad\*.dtsx) do dtutil.exe /i /File %%f

Page 20: Pedro Antonio Galvão Junior Latex São Roque – Analista de Sistemas/DBA MVP – Windows Server System – SQL Server pedrogalvaojunior@gmail.com Solucionando

Entradas de pacotes filhos em pacotes Entradas de pacotes filhos em pacotes paispais

Event Source SourceID ExecutionID

User:OnPreExecute Child1 12460949-3505-4 57CDDEAE-681B-4

User:OnPostExecute Child1 12460949-3505-4 57CDDEAE-681B-4

User:OnPreExecute Execute Package Task_child1 B2488939-1412-4 57CDDEAE-681B-4

User:OnPostExecute Execute Package Task_child1 B2488939-1412-4 57CDDEAE-681B-4

OnPostExecute Execute Package Task_parent BD73EC3F-ED36-4 57CDDEAE-681B-4

OnPreExecute Execute Package Task_parent BD73EC3F-ED36-4 57CDDEAE-681B-4

OnPostExecute Parent 3EC3B689-C151-4 57CDDEAE-681B-4

PackageEnd Parent 3EC3B689-C151-4 57CDDEAE-681B-4

PackageStart Parent 3EC3B689-C151-4 57CDDEAE-681B-4

OnPreExecute Parent 3EC3B689-C151-4 57CDDEAE-681B-4

User:OnPreExecute Send Mail Task_child1 0B513B33-72A2-4 57CDDEAE-681B-4

User:OnPostExecute Send Mail Task_child1 0B513B33-72A2-4 57CDDEAE-681B-4

OnPreExecute Send Mail Task_parent 4D6E4F65-7A57-4 57CDDEAE-681B-4

OnPostExecute Send Mail Task_parent 4D6E4F65-7A57-4 57CDDEAE-681B-4

Page 21: Pedro Antonio Galvão Junior Latex São Roque – Analista de Sistemas/DBA MVP – Windows Server System – SQL Server pedrogalvaojunior@gmail.com Solucionando

Usando BreakpointsUsando Breakpoints

• Configurar breakpoints na caixa de diálogo Configurar breakpoints na caixa de diálogo Set BreakpointSet Breakpoint

• Especificar as condições de breakEspecificar as condições de break

• Desabilitar e apagar os breakpointsDesabilitar e apagar os breakpoints

Page 22: Pedro Antonio Galvão Junior Latex São Roque – Analista de Sistemas/DBA MVP – Windows Server System – SQL Server pedrogalvaojunior@gmail.com Solucionando

ConclusãoConclusão

• Devemos utilizar o SSIS!Devemos utilizar o SSIS!

• Ferramentas do SSIS Ferramentas do SSIS

• Utilizando o SQL Server Bussinnes InteligenceUtilizando o SQL Server Bussinnes Inteligence

• Segurança dos pacotesSegurança dos pacotes

• Usando Logs e breakpoints para tratar os errosUsando Logs e breakpoints para tratar os erros

Page 23: Pedro Antonio Galvão Junior Latex São Roque – Analista de Sistemas/DBA MVP – Windows Server System – SQL Server pedrogalvaojunior@gmail.com Solucionando
Page 24: Pedro Antonio Galvão Junior Latex São Roque – Analista de Sistemas/DBA MVP – Windows Server System – SQL Server pedrogalvaojunior@gmail.com Solucionando
Page 25: Pedro Antonio Galvão Junior Latex São Roque – Analista de Sistemas/DBA MVP – Windows Server System – SQL Server pedrogalvaojunior@gmail.com Solucionando
Page 26: Pedro Antonio Galvão Junior Latex São Roque – Analista de Sistemas/DBA MVP – Windows Server System – SQL Server pedrogalvaojunior@gmail.com Solucionando
Page 27: Pedro Antonio Galvão Junior Latex São Roque – Analista de Sistemas/DBA MVP – Windows Server System – SQL Server pedrogalvaojunior@gmail.com Solucionando
Page 28: Pedro Antonio Galvão Junior Latex São Roque – Analista de Sistemas/DBA MVP – Windows Server System – SQL Server pedrogalvaojunior@gmail.com Solucionando

© 2006 Microsoft Corporation. Todos os direitos reservados.© 2006 Microsoft Corporation. Todos os direitos reservados.O propósito desta apresentação é apenas informativa. Microsoft não faz nenhuma garantia expressa ou implícita nesta apresentação.O propósito desta apresentação é apenas informativa. Microsoft não faz nenhuma garantia expressa ou implícita nesta apresentação.

Seu potencial. Nossa inspiração.Seu potencial. Nossa inspiração.MRMR