Bom dia pessoal, tudo bem?
Vamos com mais um encontro do grupo SQLServerDF...
As informações sobre o encontro são:
Local: Auditório da Microsoft - Edifício Corporate Financial Center, sala 302
Data e horário: 10/05/2011, 17:00h ~ 19:00h
Tema: Recursos avançados do Service Broker
Agenda:
- Utilizando o SQL Service Broker e Mensageria de dados no SQL Server em cenários distribuídos
- Uma aplicação prática do Service Broker em cenários de múltiplos bancos em instâncias diferentes
Descrição: Essa é uma apresentação sobre implementações avançadas do Service Broker que apresentará o uso dessa feature em cenários complexos envolvendo processamento distribuído em várias instâncias. Trata-se de uma continuação da sessão do encontro anterior que fez uma apresentação do Service Broker.
Palestrante: Gustavo Maia Aguiar
Gustavo Maia Aguiar é pós-graduado em bancos de dados e trabalha com SQL Server desde 2003 possuindo larga experiência em projetos de implementação e manutenção banco de dados nessa plataforma. Possui as certificações MCP, MCDBA, MCITP, MCT e MVP em SQL Server. É membro ativo e moderador dos fóruns MSDN, Technet e das comunidades SQL Server Brasil e SQL Brasil (Orkut) e posta artigos técnicos em seu blog: http://gustavomaiaaguiar.wordpress.com
Favor mandar para o grupo um e-mail confirmando sua presença para luan.moreno@srnimbus.com.br, pois a capacidade do auditório não é ilimitado.
[]s
Luciano Caixeta Moreira - {Luti}
luciano.moreira@srnimbus.com.br
www.twitter.com/luticm
www.srnimbus.com.br
SELECT CAST (power(CrazyIdeas, Curiosity) * (RealLifeExperience + MyMistakes)) / FreeTime) AS VARCHAR(MAX)) FROM MyBrain WITH (NOLOCK, INDEX('idx_Neuron')) WHERE ThingsIThinkIKnow in ('SQL Server', 'DB2', '.NET', 'Cloud')
terça-feira, 19 de abril de 2011
[SQLServerDF] Encontro X - Introdução ao Service Broker
Bom dia pessoal, tudo bem?
Vamos com mais um encontro do grupo SQLServerDF...
As informações sobre o encontro são:
Local: Auditório da Microsoft - Edifício Corporate Financial Center, sala 302
Data e horário: 27/04/2011, 17:00h ~ 19:00h
Tema: Introdução ao Service Broker
Agenda:
- Introdução ao SQL Service Broker e Mensageria de dados no SQL Server
- Uma aplicação prática do Service Broker em cenários de vários bancos de dados na mesma instância
Descrição: Essa é uma apresentação sobre o Service Broker e aplicações de mensageria utilizando o SQL Server onde serão apresentados os fundamentos de aplicações baseadas em mensageria, conceitos e benefícios do Service Broker bem como um cenário prático de utilização do mesmo. Essa sessão irá servir de introdução para o próximo encontro, onde serão apresentados recursos e implementações envolvendo instâncias diferentes.
Palestrante: Gustavo Maia Aguiar
Gustavo Maia Aguiar é pós-graduado em bancos de dados e trabalha com SQL Server desde 2003 possuindo larga experiência em projetos de implementação e manutenção banco de dados nessa plataforma. Possui as certificações MCP, MCDBA, MCITP, MCT e MVP em SQL Server. É membro ativo e moderador dos fóruns MSDN, Technet e das comunidades SQL Server Brasil e SQL Brasil (Orkut) e posta artigos técnicos em seu blog: http://gustavomaiaaguiar.wordpress.com
Favor mandar para o grupo um e-mail confirmando sua presença para luan.moreno@srnimbus.com.br, pois a capacidade do auditório não é ilimitado.
[]s
Luciano Caixeta Moreira - {Luti}
luciano.moreira@srnimbus.com.br
www.twitter.com/luticm
www.srnimbus.com.br
Vamos com mais um encontro do grupo SQLServerDF...
As informações sobre o encontro são:
Local: Auditório da Microsoft - Edifício Corporate Financial Center, sala 302
Data e horário: 27/04/2011, 17:00h ~ 19:00h
Tema: Introdução ao Service Broker
Agenda:
- Introdução ao SQL Service Broker e Mensageria de dados no SQL Server
- Uma aplicação prática do Service Broker em cenários de vários bancos de dados na mesma instância
Descrição: Essa é uma apresentação sobre o Service Broker e aplicações de mensageria utilizando o SQL Server onde serão apresentados os fundamentos de aplicações baseadas em mensageria, conceitos e benefícios do Service Broker bem como um cenário prático de utilização do mesmo. Essa sessão irá servir de introdução para o próximo encontro, onde serão apresentados recursos e implementações envolvendo instâncias diferentes.
Palestrante: Gustavo Maia Aguiar
Gustavo Maia Aguiar é pós-graduado em bancos de dados e trabalha com SQL Server desde 2003 possuindo larga experiência em projetos de implementação e manutenção banco de dados nessa plataforma. Possui as certificações MCP, MCDBA, MCITP, MCT e MVP em SQL Server. É membro ativo e moderador dos fóruns MSDN, Technet e das comunidades SQL Server Brasil e SQL Brasil (Orkut) e posta artigos técnicos em seu blog: http://gustavomaiaaguiar.wordpress.com
Favor mandar para o grupo um e-mail confirmando sua presença para luan.moreno@srnimbus.com.br, pois a capacidade do auditório não é ilimitado.
[]s
Luciano Caixeta Moreira - {Luti}
luciano.moreira@srnimbus.com.br
www.twitter.com/luticm
www.srnimbus.com.br
Marcadores:
Service Broker,
SQL Server,
SQLServerDF,
Virtual PASS BR
quinta-feira, 14 de abril de 2011
ADO.NET SqlParameter vs. Plan Cache
Oi pessoal, escrevi um novo artigo sobre o uso efetivo do SqlParameter e seu efeito no plan cache do SQL Server. Depois eu penso em atualizar o blog com o texto (sim, não tenho muita paciência para formatação), mas publiquei o PDF no skydrive.
Espero que vocês gostem...
[]s
Luciano Caixeta Moreira - {Luti}
luciano.moreira@srnimbus.com.br
www.twitter.com/luticm
http://www.srnimbus.com.br/
Espero que vocês gostem...
[]s
Luciano Caixeta Moreira - {Luti}
luciano.moreira@srnimbus.com.br
www.twitter.com/luticm
http://www.srnimbus.com.br/
Marcadores:
ADO.NET,
Artigo,
Plan Cache,
SQL Server,
Virtual PASS BR
quinta-feira, 7 de abril de 2011
Novo Treinamento! Database Mirroring
Um novo post direto do blog adormecido!
Como já fizemos no ano passado com o treinamento de Upgrade para o SQL Server 2008, a Sr. Nimbus e o MVP Gustavo Aguiar estão trabalhando juntos novamente. Desta vez com um novo treinamento, focado em Database Mirroring!
Se você faz parte do grupo que já percebeu a superficialidade dos capítulos de alta disponibilidade (incluindo o assunto do database mirroring) nos cursos de SQL Server encontrados por aí, e não vê a hora de participar de um treinamento que realmente vá mostrar em detalhes como o recurso funciona, explorar cenários complexos e, claro, ajudar você a resolver seus problemas, então vamos te ajudar.
Na última semana de Maio/2011, com duração de 24 horas, a Sr. Nimbus e Gustavo Aguiar vão ministrar o primeiro treinamento focado em Database Mirroring, que acontecerá em Brasília.
Ainda estamos ajustando alguns detalhes do local do treinamento e valor do investimento, mas desde já queremos montar uma lista de interessados, se você é um deles, mande um e-mail para contato@srnimbus.com.br.
A ementa completa para o treinamento está aqui:
Conceitos Básicos
· O funcionamento do Log de Transacoes
· Implementações básicas de Backup
· Modelos de Arquivamento de Log (Recovery Model)
· Deduplicação de dados (Database Snapshots)
Arquitetura
· Nomenclatura e conceitos chaves
· Papéis
· Modos de Operação
· Sessões e Estados
· Inversão de Papéis
· Redirecionamento Transparente das Aplicações
· Melhorias no SQL Server 2008
Planejamento
· Objetivos Primários e Objetivos Secundários
· Requisitos de Infraestrutura
· Requisitos de Design (Banco de Dados, Aplicações e Dependências)
· Preparação do Banco de Dados Espelho
Configuração
· Uso do Wizard
· Implantação Manual
· Uso de Certificados
· Migração das Dependências
· Inicialização, Testes e Problemas Comuns
Administração
· Controlando as sessões de espelhamento
· Monitorando o espelhamento
· Alertas
· Ferramentas
· Views, Contadores e Eventos
Cenários de Recuperação
· Queda do Banco de dados Principal
§ Cenário 1: High Availability
§ Cenário 2: High Protection e High Performance
· Queda do Banco de dados Espelho
· Queda do Banco de dados Testemunha
· Queda de mais de um banco de dados (Principal, Espelho e Testemunha)
Melhores Práticas
- Criptografia e Segurança em bancos espelhados
· Rotinas de Manutenção em bancos espelhados
· Considerações sobre a rede em bancos espelhados
Outras Técnicas de Alta Disponibilidade
· FailOver Clustering
· Log Shipping
· Replicação
· Comparativo das técnicas de alta disponibilidade
· Combinação de outras técnicas de alta disponibilidade com o Database Mirroring
· Soluções equivalentes em outros SGBDs
Gostou? Está interessado? Aposto que sim!
PS: Pode haver alguma alteração ou outra na ementa até a data do treinamento, sempre pensando em como melhorá-lo, claro.
[]s
Luciano Caixeta Moreira - {Luti}
luciano.moreira@srnimbus.com.br
www.twitter.com/luticm
www.srnimbus.com.br
Como já fizemos no ano passado com o treinamento de Upgrade para o SQL Server 2008, a Sr. Nimbus e o MVP Gustavo Aguiar estão trabalhando juntos novamente. Desta vez com um novo treinamento, focado em Database Mirroring!
Se você faz parte do grupo que já percebeu a superficialidade dos capítulos de alta disponibilidade (incluindo o assunto do database mirroring) nos cursos de SQL Server encontrados por aí, e não vê a hora de participar de um treinamento que realmente vá mostrar em detalhes como o recurso funciona, explorar cenários complexos e, claro, ajudar você a resolver seus problemas, então vamos te ajudar.
Na última semana de Maio/2011, com duração de 24 horas, a Sr. Nimbus e Gustavo Aguiar vão ministrar o primeiro treinamento focado em Database Mirroring, que acontecerá em Brasília.
Ainda estamos ajustando alguns detalhes do local do treinamento e valor do investimento, mas desde já queremos montar uma lista de interessados, se você é um deles, mande um e-mail para contato@srnimbus.com.br.
A ementa completa para o treinamento está aqui:
Conceitos Básicos
· O funcionamento do Log de Transacoes
· Implementações básicas de Backup
· Modelos de Arquivamento de Log (Recovery Model)
· Deduplicação de dados (Database Snapshots)
Arquitetura
· Nomenclatura e conceitos chaves
· Papéis
· Modos de Operação
· Sessões e Estados
· Inversão de Papéis
· Redirecionamento Transparente das Aplicações
· Melhorias no SQL Server 2008
Planejamento
· Objetivos Primários e Objetivos Secundários
· Requisitos de Infraestrutura
· Requisitos de Design (Banco de Dados, Aplicações e Dependências)
· Preparação do Banco de Dados Espelho
Configuração
· Uso do Wizard
· Implantação Manual
· Uso de Certificados
· Migração das Dependências
· Inicialização, Testes e Problemas Comuns
Administração
· Controlando as sessões de espelhamento
· Monitorando o espelhamento
· Alertas
· Ferramentas
· Views, Contadores e Eventos
Cenários de Recuperação
· Queda do Banco de dados Principal
§ Cenário 1: High Availability
§ Cenário 2: High Protection e High Performance
· Queda do Banco de dados Espelho
· Queda do Banco de dados Testemunha
· Queda de mais de um banco de dados (Principal, Espelho e Testemunha)
Melhores Práticas
- Criptografia e Segurança em bancos espelhados
· Rotinas de Manutenção em bancos espelhados
· Considerações sobre a rede em bancos espelhados
Outras Técnicas de Alta Disponibilidade
· FailOver Clustering
· Log Shipping
· Replicação
· Comparativo das técnicas de alta disponibilidade
· Combinação de outras técnicas de alta disponibilidade com o Database Mirroring
· Soluções equivalentes em outros SGBDs
Gostou? Está interessado? Aposto que sim!
PS: Pode haver alguma alteração ou outra na ementa até a data do treinamento, sempre pensando em como melhorá-lo, claro.
[]s
Luciano Caixeta Moreira - {Luti}
luciano.moreira@srnimbus.com.br
www.twitter.com/luticm
www.srnimbus.com.br
quarta-feira, 2 de fevereiro de 2011
SQL Server CLR Unload e GC.Collect
Já existem diversos programadores usando o CLR (Common Language Runtime) que está hospedado dentro do SQL Server. Recentemente em um grupo de discussão apareceu um problema relacionado ao CLR e foi comentado uma maneira de se fazer o unload dos AppDomains que estão no SQL Server.
Se você utilizar o DBCC FREESYSTEMCACHE('ALL'), vai forçar o SQL Server a ativar o mecanismo de limpeza de cada cache store, e no caso do CLR vai forcar um appdomain unload.
Além do que foi citado, existe uma outra abordagem para brincar com o CLR, que é forçar a entrada do Garbage Collector, usando o DBCC FREESYSTEMCACHE('GarbageCollect'). Esse comando não é documentado, mas foi apresentado publicamente pelo Bob Ward no PASS Summit de 2008, então não vejo problema em compartilhar com vocês.
Para vermos a coisa funcionando, vamos monitorar os contadores abaixo, somente para a instância sqlservr e olhar algumas DMVs.
> .NET CLR Loading > Total appdomains unloaded
> .NET CLR Memory > #Gen0 Collections
> .NET CLR Memory > #Gen1 Collections
> .NET CLR Memory > #Gen2 Collections
select * from sys.dm_clr_appdomains
select * from sys.dm_clr_loaded_assemblies
Se você executar uma procedure que trabalha com o CLR e consultar as DMVs, verá uma entrada para o AppDomain e assemblies carregados para execução da sua rotina.
Use o comando para forçar o Garbage Collector e verá que os contadores Gen0, Gen1 e Gen2 serão acrescentados de 1, como meu procedimento é simples e não tenho nenhuma pressão na memória, me parece que é um GC.Collect(2) e não um GC.Collect(), pois a limpeza vai até a geração 2, coisa que não aconteceria em um simples collect com o CLR sem pressão na memória e espaço disponível na gen0.
Quando chamamos o procedimento que faz um AppDomain unload, vamos ver um collect até a geração 2 (provavelmente parte do processo de unload) e depois o contador de unload será acrescido de 1. Consultando logo em seguida as DMVs, verá que nada é retorando, pois o appDomain já foi removido.
Notem que não é uma boa recomendação ficar chamando o GC ou forçando o unload, ainda mais que esse irá interferir em outras cache stores, mas em casos excepcionais isso pode ser útil...
[]s
Luciano Caixeta Moreira - {Luti}
luciano.moreira@srnimbus.com.br
www.twitter.com/luticm
http://www.srnimbus.com.br/
Se você utilizar o DBCC FREESYSTEMCACHE('ALL'), vai forçar o SQL Server a ativar o mecanismo de limpeza de cada cache store, e no caso do CLR vai forcar um appdomain unload.
Além do que foi citado, existe uma outra abordagem para brincar com o CLR, que é forçar a entrada do Garbage Collector, usando o DBCC FREESYSTEMCACHE('GarbageCollect'). Esse comando não é documentado, mas foi apresentado publicamente pelo Bob Ward no PASS Summit de 2008, então não vejo problema em compartilhar com vocês.
Para vermos a coisa funcionando, vamos monitorar os contadores abaixo, somente para a instância sqlservr e olhar algumas DMVs.
> .NET CLR Loading > Total appdomains unloaded
> .NET CLR Memory > #Gen0 Collections
> .NET CLR Memory > #Gen1 Collections
> .NET CLR Memory > #Gen2 Collections
select * from sys.dm_clr_appdomains
select * from sys.dm_clr_loaded_assemblies
Se você executar uma procedure que trabalha com o CLR e consultar as DMVs, verá uma entrada para o AppDomain e assemblies carregados para execução da sua rotina.
Use o comando para forçar o Garbage Collector e verá que os contadores Gen0, Gen1 e Gen2 serão acrescentados de 1, como meu procedimento é simples e não tenho nenhuma pressão na memória, me parece que é um GC.Collect(2) e não um GC.Collect(), pois a limpeza vai até a geração 2, coisa que não aconteceria em um simples collect com o CLR sem pressão na memória e espaço disponível na gen0.
Quando chamamos o procedimento que faz um AppDomain unload, vamos ver um collect até a geração 2 (provavelmente parte do processo de unload) e depois o contador de unload será acrescido de 1. Consultando logo em seguida as DMVs, verá que nada é retorando, pois o appDomain já foi removido.
Notem que não é uma boa recomendação ficar chamando o GC ou forçando o unload, ainda mais que esse irá interferir em outras cache stores, mas em casos excepcionais isso pode ser útil...
[]s
Luciano Caixeta Moreira - {Luti}
luciano.moreira@srnimbus.com.br
www.twitter.com/luticm
http://www.srnimbus.com.br/
Assinar:
Postagens (Atom)

