Slide 1 - Microsoft Center

Propaganda
Solucionando problemas do SQL
Server 2005 Integration Services
Pedro Antonio Galvão Junior
Latex São Roque – Analista de Sistemas/DBA
MVP – Windows Server System – SQL Server
[email protected]
Agenda
•
•
•
•
•
O que é Integration Services?
Arquitetura.
Perguntas Freqüentes.
Benefícios do SSIS.
Ferramentas SSIS.
– Demo.
• Overview of SSIS.
– Entradas de pacotes filhos em pacotes pais.
– Usando Breakpoints.
• Log Data para Troubleshooting.
– Demo
• Conclusão.
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
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
Arquitetura
Standard transforms
Custom transforms
Data
Destination
Adapters
Data Source
Adapters
XML
Package
Sequences
Loops
Tasks
XML
Package
Event
Handlers
Wizards
DTS Designer
Command Line
Antes do Integration Services
Notificação
Dados semi estruturados
Mineração
Data mining
ETL
Staging
Staging
Legado: Arquivos
Decodificação
ETL
Bancos de Dados
ETL
Limpeza
&
ETL
Staging
Warehouse
Relatórios
Acesso
Móvel
•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
Com o Integration Services
Notificação
Mineração
Mineração
Outras
Fontes
Fusão
Fontes
Padrão
Limpeza
Acesso
Móvel
Dados semi estruturados
Warehouse
Legado: Arquivos
Banco de Dados
Integration Services
•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
Relatórios
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
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?
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
Ferramentas do SSIS
Installer File set
deploy
BI Studio
Deployment
Import Export Wizard
packages
SSIS
packages
Dtutil.exe
execução
View running packages
import\export
Dtexec.exe
Dtexecui.exe
SSIS Service
Mgt Studio
SQL Server Business Intelligence
Integração
•
•
Aquisição de dados e
integração.
Transformação de
dados.
Análise
•
•
Enriquecimento
dos dados, com
Lógica de negócios
Data mining
Report
•
•
Apresentação de
dados e
distribuição.
Acesso de dados
para a massa
demo
SSIS Overview

Tour pelo Business Intelligence Studio

Connection Manager
Segurança no SSIS
• Composta de algumas camadas para suportar
cenários SQL e arquivos externos.
• Os Packages podem ser criptografados ou
assinados por certificado digital.
• Packages podem ser armazenados em bancos
SQL Server e protegidos com SQL roles.
Segurança no SSIS
SQL DB
Roles
Roles de leitura e
escrita nos pacotes
armazenados no
banco MSDB
Package
Protection
Level
Property
Criptografa ou limpa
propriedades
B
sensíveis
A
Assinatura
do pacote
Permissões
NTFS
Controle de acesso a
pastas ou nos
arquivos dos pacotes
• (A) Um pacote pode ser criptografado via Package Protection level ou
armazenadp dentro do MSDB, onde o acesso ao pacote é limitado
pelos SQL Database roles
• (B) Um pacote pode ser criptografado pelo Package Protection level ou o
arquivo do pacote pode ser controlado por permissões em pastas e
arquivos (NTFS).
SSIS Windows Service
• Monitora e gerencia pacotes rodando ou
armazenados, através do SQL Management Studio
• O Serviço é instalado quando instalamos o SSIS
• O Serviço não é necessário para design ou
execução dos pacotes
• Os pacotes armazenados (Stored Packages) é
baseado em um arquivo XML.
• Podemos customizar conteúdos de arquivos,
nomes e localidade
• Tem eventos Windows para o serviço, ou seja, se
se o serviço inicia, pára, falha ao iniciar, iniciou um
pacote , um pacote parou …)
Posso criar meu próprio client
• Quero criar uma console administrativa em
asp.NET. Como posso listar os pacotes?
• Podemos fazer isso através do service interface no
Application Object.
static void Main(string[] args)
{
Application app = new Application();
PackageInfos pInfos = app.GetDtsServerPackageInfos(@"File
System", "yourserver");
foreach (PackageInfo pinfo in pInfos)
Console.WriteLine(pinfo.Folder + " " + pinfo.Description);
}
demo
SSIS Overview

Mostrar Log Provider

Mostrar Log Events

Progress Pane/Output
Log Data para Troubleshooting
• Logging e Error Flow são principais recursos para
troubleshooting
• Pode ser salvo e carregado
• Package IDs Necessitam ser únicos. Se precisar,
poderá re-gerar o ID via BIDS ou dtutil.exe
– Exemplo: O comando abaixo irá regenerar o ID
do pacote para todos os pacotes numa pasta.
• for %%f in
(C:\_work\SSISPackages\_quick\Notepad\*.dts
x) do dtutil.exe /i /File %%f
Entradas de pacotes filhos em pacotes
pais
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
Usando Breakpoints
• Configurar breakpoints na caixa de diálogo
Set Breakpoint
• Especificar as condições de break
• Desabilitar e apagar os breakpoints
Conclusão
• Devemos utilizar o SSIS!
• Ferramentas do SSIS
• Utilizando o SQL Server Bussinnes Inteligence
• Segurança dos pacotes
• Usando Logs e breakpoints para tratar os erros
Seu potencial. Nossa inspiração.
© 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.
MR
Download