terça-feira, 29 de dezembro de 2015

2016 o ano para…


…VOCÊ!
 
Nada como você se fechar no escritório no dia do seu aniversário e parar para refletir um pouco. Empurrado por uma súbita vontade de escrever, saíram as palavras abaixo.

OBS: Se você quer ler um pouco sobre o que eu já escrevi na virada dos anos e sobre carreira (sempre releio antes de escrever novos posts como este), aqui estão os links:

Relendo os posts antigos acredito que fica evidente ao leitor mais atento meu "humor" em relação ao mercado, seus profissionais e o que podemos esperar para o próximo ano. Mesmo tentando manter o otimismo e acreditando que a média será sempre melhor, acontecimentos ao meu redor têm mostrado uma realidade diferente, então que tal VOCÊ me provar que estou errado?

2016
 
Abra qualquer site de notícia, faça uma compra de supermercado ou converse com amigos em um bar, e o sentimento de "o ano de 2016 não será fácil" vai pairar sobre você. Não querendo usufruir da já desgastada frase "toda crise traz oportunidades", por acreditar que isso somente vale para menos de 0,01% da população, vou seguir uma linha diferente… Minha recomendação para a os profissionais é: cuidem de VOCÊ, ponto final.

Em tempos difíceis fica fácil de notar o quanto as empresas não vestem a camisa do funcionário (mesmo querendo que o inverso seja verdade), vemos decisões ruins sendo tomadas em prol de economias sem sentido, além de todo tipo de ajuste ou otimização do negócio, gerando um volume crescente de profissionais "em busca de novas oportunidades" (júniores, plenos ou sêniores).

VOCÊ
 
Esse é o único investimento com retorno certo!
 
Não acredito que 2016 seja o momento para sair procurando um novo emprego a todo custo, ou tomar decisões precipitadas de largar seu emprego para mudar subitamente de vida. É momento de usar recursos grátis da internet para estudar, ler bastante, reservar uma parte do seu capital para investir em capacitação, ser menos consumista e se preparar para momentos melhores, que virão com certeza.

Então meu desejo para 2016 é que VOCÊ dedique mais tempo para VOCÊ.

Isso não significa ser egoísta ou individualista, pelo contrário, usar o tempo de forma eficiente e se sentir melhor com você mesmo, pode ser a chave para garantir mais momentos de com amigos, família e colegas de trabalho.

E você não precisa de uma lista de metas ambiciosas para seu ano, praticamente impossíveis de serem executadas por qualquer ser humano. Comece com coisas pequenas, atividades semanais, pequenas ações que somadas podem fazer a diferença daqui a um ano.

LUTI
 
Cheguei aos 36 anos de idade e considerando que quero exercer alguma atividade profissional até os 70 anos, ainda tenho muita coisa pela frente, então há tempo para correr atrás do que eu bem desejar. E diferente de alguns anos atrás, hoje eu tenho uma definição clara das características do trabalho que me faz feliz, e provavelmente se conseguir seguir este modelo por muitos anos, estarei bem satisfeito.

E o que essas escolhas tem a ver com você? Parte desta jornada envolve ministrar treinamentos, palestras, escrever artigos, posts, enfim, ser um geek de carteirinha. Então espero que um pouco do que eu escrevo possa ajudar VOCÊ, em 2016 e nos próximos anos.

Um forte abraço, e que o pior dia de 2016 seja igual ao melhor dia de 2015!

Luciano Caixeta Moreira - {Luti}
luciano.moreira@srnimbus.com.br
www.twitter.com/luticm
www.srnimbus.com.br

segunda-feira, 7 de dezembro de 2015

Comentário sobre o SQL22 - Administração do SQL Server

Olá leitor.
Depois de responder a diversas pessoas individualmente, resolvi escrever um pouco sobre o treinamento SQL22 - SQL Server 2014: Administração e Monitoramento (http://www.srnimbus.com.br/sql22/).

A principal dúvida que surge é sobre o nível do treinamento e muitos acham que ele é introdutório, então friso: É UM TREINAMENTO AVANÇADO!!!!

Se você nunca administrou um SQL Server e acha que esse treinamento se trata de clicar com botão direito no SSMS e fazer alguma atividade, repense sua participação ou vá com a mentalidade que sugerimos para outros treinamentos da Nimbus: descanse antes do curso, anote bastante, faça muitas perguntas, e saia da aula com uma lista (bem grande!) de assuntos para estudar.

Se você comparar a nova versão do curso em relação a ementa antiga, verá que eu tirei assuntos como introdução ao Powershell, SMO, exportação e importação de dados, entre outros tópicos. Assim eu consigo dar um enfoque mais avançados nos seguintes tópicos:

  • Segurança avançada - Foco nos aspectos avançados que podemos não estar utilizando no dia a dia, além de mostrar alguns exemplos interessantes com ownership chain, criptografia, etc.
  • Backup/Restore - Temos no momento 8 cenários de exemplo para backup/restore (incluindo piecemeal). Além disso vamos falar sobre desempenho e matar alguns mitos. 
  • Corrupção de dados - Analisaremos o funcionamento do DBCC CHECKDB (e suas variantes), bem como exploraremos alguns cenários de corrupção (e recuperação) de dados.
  • Wait types - Deep dive com demos de cenários e dúvidas comuns.
  • xEvents - também diversos cenários e exemplos de como usá-lo de forma eficiente
  •      Só de demonstração de XE e Wait types o treinamento está hoje com 14 demos diferentes


Você pode considerar esse treinamento um excelente complemento para o Mastering (http://www.srnimbus.com.br/sql23/), tratando diversos assuntos que não conseguimos cobrir no SQL23. E vai seguir a mesma linha, muitas demonstrações, sempre tentando aprofundar no tópico, e SEM LABORATÓRIOS. Isso mesmo, nada de LAB, não temos tempo em 40 horas para isso, por isso sugiro dedicar um tempo extra-sala para revisar os pontos chave em casa (de noite ou madrugada) e trazer mais dúvidas para sala.

De resto sempre vou tentar deixar alguns "guias" para os alunos: sugestão de ferramentas, scripts e dicas de administração, para facilitar o dia a dia de vocês.

Relembrando a mensagem do post: É UM TREINAMENTO AVANÇADO!

Abraços

Luciano Caixeta Moreira - {Luti}
luciano.moreira@srnimbus.com.br
www.twitter.com/luticm
www.srnimbus.com.br

domingo, 29 de novembro de 2015

Quick review - SQLSat #469 Brasília

No dia 21 de Novembro de 2015 aconteceu o segundo SQL Saturday de Brasília, o SQLSat #469.
Novamente o evento foi organizado por mim e pela Faculdade projeção, que forneceu um apoio inigualável para o SQLSat.

  • Dessa vez não cometemos alguns dos erros de 2013 e o credenciamento foi muito organizado, contando sempre com os voluntários da faculdade e do PASS. Além disso curti demais a camisa dos palestrantes e a dos voluntários.
  • Fizemos um keynote rápido, onde eu falei um pouco de carreira, posição da Microsoft no quadrante mágico do Gartner e algumas informações gerais sobre organização e logística do evento.
  • Depois disso tivemos 25 sessões técnicas no evento com palestrantes de alto nível e recebi feedbacks incríveis dos presentes.
  • Encerramos o evento com agradecimento e sorteio de brindes (muitos) para todos os presentes na etapa final.

Pontos altos

  • Organização do evento foi muito elogiada e não tivemos nenhum transtorno, tudo correndo como planejado.
  • Apoio dos voluntários ao evento que ficaram conosco até o fim.
  • Participação de patrocinadores nacionais e internacionais, que permitiram executarmos os planos para o evento.
  • Um participante levou 3 caixas de doações (roupas) que pegou em sua casa, com vizinhos , etc. Nota 1000 para você.

Pontos baixos

  • Durante o dia tivemos em torno de 400 pessoas que passaram pelo evento, sem contar os voluntários e palestrantes, uma quebra considerável para os 712 inscritos no evento.
  • Tradicionalmente em eventos técnicos, no período da tarde temos uma quantidade menor de pessoas, fato que se manteve também para o nosso SQLSat.
  • Esperava mais doações dos participantes para instituições de caridade, mas sem problema, o que recebemos foi distribuído.

Ponto de destaque

  • 25 palestrantes, sendo 18 de fora de Brasília, que arcam com custo de deslocamento, hospedagem e alimentação, para palestrar em um evento gratuito e sem receber um centavo.
    • A eles meu muito obrigado, dão um real sentido para a hashtag #sqlfamily

Ponto decepcionante

  • Participação do SQLServerDF e profissionais de Brasília… Eu posso estar enganado, mas andando pelos corredores eu vi menos profissionais de Brasília que eu esperava, incluindo muitos que participam do grupo SQLServerDF. 


Minha sincera esperança é que o evento possa ajudar algumas (ou muitas) pessoas que estiveram presente, e que isso faça valer o esforço de muitas, mas muitas horas de organização (só da minha parte, é como se eu parasse de trabalhar 1 mês para organizar o evento).

Em 2016 organizarei mais uma vez o SQL Saturday com o apoio da Faculdade projeção, quem sabe não conseguimos fazer outro grande evento e com um público maior?!

**** BEGIN RANT ****

Durante o evento um amigo fez um comentário: "Talvez se o evento fosse em um local mais centralizado, o público de profissionais seria maior"… Claro, concordo, quanto mais centralizado (plano piloto), mais cômodo e fácil acesso, melhor.

Agora vamos olhar com outra perspectiva para o cenário… Alguém de Brasília não vai porque o evento não está bem localizado para ele, enquanto isso temos 18 palestrantes que devem gastar na média mais de R$ 1.000,00 para vir de outro ESTADO palestrar, pegam avião, taxi, Uber, ônibus, varam noites estudando, preparam a palestra e estão pontualmente em suas salas.

E o camarada não vai porque o evento está longe para ele? Não, a resposta não é encontrar outro lugar, esse profissional provavelmente encontraria uma desculpa para não participar, mesmo que eu fizesse o evento no quintal dele.

Tive a chance de ficar 20 minutos em uma palestra de Reporting Services e estava sendo a melhor sessão de SSRS que já vi. Também pude ver outros palestrantes que depois da sua palestra foram para sala ouvir outro palestrante e aprender mais. Tudo isso de graça, de bandeja, só chegar e sentar a bunda na cadeira, então se trata de aproveitar as oportunidades.

No fim tudo se resume ao interesse dos profissionais/alunos, de quem quer avançar mais rápido, competir pelas melhores vagas e salários, e claro, sair da zona de conforto. Mesmo eu desejando ver mais e mais profissionais de elite no Brasil, é difícil pensar em algo diferente de uma grande pirâmide, onde na base estão os salários mais baixos, geralmente os que reclamam mais e que pouco fazem para mudar.

Às pessoas que fazem parte do topo da pirâmide, resta aproveitar as oportunidades e, quem sabe, curtir uma aposentadoria mais cedo, mais viagens, família e seus hobbies.

**** END RANT ****

Algumas fotos:








Mais fotos do evento: http://1drv.ms/1Q6900U

Abraços

Luciano Caixeta Moreira - {Luti}
luciano.moreira@srnimbus.com.br
www.twitter.com/luticm
www.srnimbus.com.br

sexta-feira, 20 de novembro de 2015

SQLSat #469 - Informações para os participantes

Deixo registrado aqui informações sobre o SQLSat #469, que também foram encaminhadas por e-mail para os participantes...


Amanhã, sábado dia 21/11, teremos o SQL Saturday #469 (http://www.sqlsaturday.com/469/EventHome.aspx).

!!!IMPORTANTE!!!

Estaremos recebendo doações no credenciamento do evento e temos uma equipe responsável por transportar/distribuir tudo o que for doado. Estamos trabalhando com opção de enviar para cidades de Minas Gerais (que ainda estejam recebendo doações) e/ou doar para instituições de caridade do Distrito Federal.

Fomos questionados se recebemos roupas e outras doações, além dos alimentos, e a resposta é SIM. Os voluntários estão engajados e farão o melhor para conseguir distribuir todas as doações entre as instituições.

Ressalto que não é obrigatório aos participantes fazer a doação para participar do evento, mas tenho certeza que muitos de vocês ajudarão. Um quilo de alimento para o indivíduo é uma quantidade pequena, que quando somado à doação de todos, se torna algo de muito valor e significativo para qualquer organização. Contamos com a sua generosidade!!

Algumas informações para os participantes…

  • O evento é gratuito e feito para você se sentir em casa, portanto explore ao máximo as oportunidades de aprender e conhecer profissionais de diversas empresas de Brasília. Se apresente, troque ideias, e claro, traga seu cartão de visita, pois o networking é parte importante deste evento.
    • No momento temos muitos inscritos, mas não se preocupe, queremos receber ainda mais pessoas! Então chame seus colegas de trabalho e amigos de faculdade,
  • Teremos 25 palestras técnicas com 18 palestrantes de fora de Brasília, que arcam com todo o custo para vir palestrar nesse evento. Aproveite o conteúdo técnico e tenha a certeza que eles sabem muito mais do que é possível passar em sessões de 75 minutos, então pode sabatinar cada um deles!
  • O credenciamento começa 08:00h e vai até 09:00h, onde ofereceremos um café da manhã de boas-vindas, com salgados, refrigerante e suco. O networking já começa logo cedo!
    • Por qualquer imprevisto, caso não consiga chegar cedo ao evento, ficaremos ao lado do auditório o dia inteiro, fazendo o credenciamento dos inscritos.
  • A abertura será rápida e acontecerá no auditório entre 09:00h e 09:30h, onde passaremos informações importantes sobre o PASS, SQLSat e do evento.
  • As sessões acontecem até 18:00h, conforme agenda publicada: http://www.sqlsaturday.com/469/sessions/schedule.aspx
    • Não existe reserva de vaga para as sessões, caso uma sala esteja com uma procura muito grande e fique cheia, os ajudantes poderão sugerir outra sessão. Se você tem uma sessão que não quer perder, chegue cedo em sala.
  • No período da tarde teremos um coffee-break para os participantes.
  • Entre 18:00h e 18:30h faremos o encerramento e sorteio de brindes! Os detalhes de participação para os inscritos no evento serão informados na abertura.
  • Teremos muitos voluntários trabalhando para fazer o evento acontecer, colabore com eles e seja cordial, afinal um dia pode ser você nos ajudando!
  • O mapa do evento publicado no site está com o ponto da localização um pouco deslocado, então repasso o link do Google Maps para aqueles que não conhecem a faculdade Projeção de Taguatinga: https://www.google.com.br/maps/place/Faculdade+Proje%C3%A7%C3%A3o/@-15.8203711,-48.072642,15z/data=!4m2!3m1!1s0x935a32d937c436e5:0xcc8d96c1cf4dc5ed?hl=pt-BR
  • O almoço é livre para os participantes e tem duração de uma hora.
    • Como não são duas horas de almoço, a organização do evento já conversou com restaurantes próximos a Faculdade, que estarão preparados para recebê-los, alguns com desconto para os participantes do evento.
  • No credenciamento haverão filas divididas pela primeira letra do seu nome.
    • Se por algum motivo você não encontrou seu cadastro, ou levou um amigo(a) que não se registrou no site, não existe problema, teremos uma fila do credenciamento para tratar esses casos e até fazer um registro em cima da hora.
  • Se divirta no evento, converse, faça seu networking e sempre que quiser compartilhar uma informação sobre o SQLSat, estaremos usando as hashtags: #sqlsatbsb e #sqlsat469

Outras informações, coloquei também em meu blog: http://luticm.blogspot.com.br/2015/11/patrocionadores-e-voluntarios-sql.html (e alguns dos brindes que sortearemos).

Abraços

Luciano Caixeta Moreira - {Luti}
luciano.moreira@srnimbus.com.br
www.twitter.com/luticm
www.srnimbus.com.br

terça-feira, 17 de novembro de 2015

Ganhadores do treinamento on-demand

Pessoal, dívida antiga…

Neste ano conduzi uma pesquisa sobre os treinamentos da Nimbus e mencionei que a cada 50 respostas sortearemos um treinamento on-demand (http://luticm.blogspot.com.br/2015/08/pesquisa-sobre-treinamentos-da-sr-nimbus.html).
Tivemos 102 respostas, portanto 2 treinamentos on-demand foram sorteados. Os ganhadores são:

• Mauricio Rodrigues
• Luiz Eduardo Gonçalves

Eles receberam um e-mail e cada um pode escolher um treinamento on-demand (http://www.srnimbus.com.br/calendario/turmas/treinamentos-on-demand/) da Sr. Nimbus.
A quem participou da pesquisa, novamente o meu obrigado.

Abraços

Luciano Caixeta Moreira - {Luti}
luciano.moreira@srnimbus.com.br
www.twitter.com/luticm
www.srnimbus.com.br

segunda-feira, 16 de novembro de 2015

Patrocionadores e voluntários SQL Saturday #469

O SQL Saturday #469 está chegando, se você ainda não se inscreveu ainda é tempo: http://www.sqlsaturday.com/469/EventHome.aspx

Neste momento estamos com 567 inscritos no site, então estamos esperando casa cheia e muita gente interessada!
Porém antes de falar do evento em um próximo post, gostaria de ressaltar a ajuda dos nossos patrocinadores e voluntários, pois sem eles o evento nunca sairia do papel.

A Faculdade projeção (http://www.faculdadeprojecao.edu.br/) pelo segundo ano abre suas portas e nos recebe de braços abertos, então faço questão ficar sorrindo as horas e horas investidas para organizar o evento, tentado fazer com que tudo saia da melhor forma possível. Um agradecimento especial para eles, que tanto fazem pela comunidade técnica.

Além da Faculdade outras empresas toparam embarcar no SQLSat e estão nos apoiando, seja diretamente com um apoio financeiro, ou indiretamente através de brindes e outras ações. Você pode ver todas elas no site do evento (e ainda nessa semana temos algumas empresas sendo listadas!): http://www.sqlsaturday.com/469/Sponsors.aspx.

Para deixar o sábado mais animado, ao fim do evento teremos alguns itens que serão sorteados, entre eles:

  • Camisetas
  • Gravação do PASS Summit 2014 (valor aproximado de US$ 500)
  • Mouses da Microsoft
  • Assinaturas Annual Plus da Pluralsight (valor aproximado de US$ 500 cada uma)
  • SQL Prompt da Red Gate (valor aproximado de US$ 350)
  • SQL Sentry Plan Explorer- PRO (valor aproximado de US$ 300)
  • Licenças ApexSQL Universal (valor aproximado de US$ 3000 cada uma)

Somando o valor dos brindes temos mais de US$ 10.000,00 para sortear no fim do dia, nada mal, nada mal.

Se você encontrar com alguns dos patrocinadores e nossos voluntários, não esqueça de agradecer a eles. E mais importante, lembre-se que um dia você está sendo ajudado, então quem sabe em um próximo evento não pode ajudar…

Abraços,

Luciano Caixeta Moreira - {Luti}
luciano.moreira@srnimbus.com.br
www.twitter.com/luticm
www.srnimbus.com.br

segunda-feira, 9 de novembro de 2015

SQL Saturday #469 - Agenda publicada

Oi pessoal.
Acredito que a maioria de vocês já sabe sobre o SQL Saturday #469 que acontecerá em Brasília no dia 21 de Novembro. Já estamos com mais de 400 inscritos para o evento, então se você deseja participar, corra no site e garanta sua vaga (http://www.sqlsaturday.com/469/EventHome.aspx).

Vale ressaltar que o evento é gratuito e receberemos palestrantes do país inteiro, que se deslocam até Brasília por conta própria para falar sobre a plataforma de dados da Microsoft. Uma oportunidade única de aumentar seu conhecimento e fazer um belo networking, então aproveite para estar presente e convide seus colegas de trabalho.

A grade oficial das palestras do evento está online: http://www.sqlsaturday.com/469/sessions/schedule.aspx.

Abraços

Luciano Caixeta Moreira - {Luti}
luciano.moreira@srnimbus.com.br
www.twitter.com/luticm
www.srnimbus.com.br

segunda-feira, 2 de novembro de 2015

[SQLServerDF] Encontro XXVIII - Writing T-SQL like a boss

Em Novembro vamos aproveitar a vinda do Fabiano para ministrar um treinamento pela Nimbus e abusar um pouco dele, fazendo com que ele fale por mais de 10 horas sobre o SQL Server em um só dia.

Para poupar tempo e dado que estamos longe do país neste momento, ele me mandou rapidinho a descrição da apresentação em inglês, mas fique tranquilo que essa sessão será apresentada em português.

De resto vocês já sabem o que fazer, por favor confirmar presença com nome e e-mail no Google Groups. Para aqueles que não estão no grupo, basta ir até http://groups.google.com/group/sqlserverdf, fazer sua inscrição e aguardar minha moderação.

Data e horário: 12/11/2015, das 18:30h às 20:30h
Local: Xperts Trainning Center
Palestrante: Fabiano Neves Amorim

Título: Writing t-sql like a boss
Descrição: SQL is a tricky programming language, if you work with SQL Server in any capacity, as a developer, DBA, or a SQL user, you need to know how to write a good T-SQL code. A poorly written query will bring even the best hardware to its knees, for a truly performing system, there is no substitute for properly written queries that takes advantage of all SQL Server has to offer. Come to this session to learn how re-write a query and see many tips on what to do to make queries execute as fast as possible.

Mini-cv do palestrante: Trabalha a mais de 10 anos exclusivamente com SQL Server, MVP em plataforma de dados desde 2011, especialista em banco de dados e aficionado por performance tuning. Palestrante em eventos nacionais e internacionais. Atualmente trabalha como consultor na Pythian e instrutor na Sr.Nimbus. Quando não está trabalhando gosta de demonstrar seus talentos nos gramados de futebol (leia-se craque ;p), ler, ir ao cinema com a esposa e curtir o filho, não necessariamente nessa ordem e vice-versa.

Xperts Trainning Center
SHIS QI 15 Conjunto 8/9 Área especial Bloco D, Subsolo - Lago Sul  (ao final da rua)
CEP 71635-565 - Brasília - DF
Telefone: (61) 4063-8177 | 9545-9241
Ponto de referência: Próximo ao Hospital Brasília; Acesso é mais fácil se feito ao lado da escola Red Balloon;

Abraços

Luciano Caixeta Moreira - {Luti}
luciano.moreira@srnimbus.com.br
www.twitter.com/luticm
www.srnimbus.com.br

quarta-feira, 28 de outubro de 2015

SQLSat #424 e material para download

Em Setembro eu novamente tive a honra de palestrar em um SQL Saturday, dessa vez o SQLSat #424 em São Paulo.
É sempre um prazer reencontrar os amigos, sejam eles palestrantes, ex-alunos, contatos que fazemos através de eventos e claro, expandir ainda mais nossa rede de contatos. Soma-se a isso um conteúdo técnico bem legal, temos um evento muito importante no Brasil, e se você ainda não participou de um SQL Saturday, não sabe o que está perdendo.

Nessa edição eu montei uma nova palestra sobre ColumnStore e tentei sair do básico, então não fiquei mostrando exemplos de ganho de performance, mas sim tratei sobre detalhes estruturais e como funciona o armazenamento do dado. E como não apresentei nada sobre o processamento das consultas, considero essa sessão como parte 1 de 2.

Como sempre faço, disponibilizo o material para vocês (PDF e scripts). O nome do arquivo é "Luciano Moreira - ColumnStore Internals - SQLSat424": http://1drv.ms/1GJqZZf

Aproveitando... Está chegando o SQLSat #469 em Brasília. Se você ainda não se inscreveu, não perca tempo: http://www.sqlsaturday.com/469/eventhome.aspx

Abraços

Luciano Caixeta Moreira - {Luti}
luciano.moreira@srnimbus.com.br
www.twitter.com/luticm
www.srnimbus.com.br

terça-feira, 13 de outubro de 2015

PASS Speaker Idol 2015

Compartilho com vocês um desafio legal que eu me propus a fazer…
Neste ano eu me inscrevi e, entre todos os candidatos que aplicaram, eu fui um dos escolhidos para participar do PASS Speaker Idol 2015.

Essa pequena competição começou em 2014 e tem por objetivo testar as habilidades de apresentação de 12 participantes até chegarmos a final, onde será escolhido um vencedor. Como prêmio, o vencedor terá garantido um slot para palestrar no PASS Summit de 2016!

No ano passado a sala da competição ficou lotada, então para este ano estaremos em uma sala que suporta em torno de 250 pessoas e também será transmitido online, portanto vocês poderão acompanhar tudo no conforto de casa, enquanto eu sou avaliado e criticado pelos jurados. E não se preocupe com o tempo, pois são sessões pequenas de 5 minutos, onde temos que fazer nosso melhor e mostrar que temos condição de subir ao palco do PASS Summit 2016.

O link para o anúncio dos competidores está aqui: http://www.dcac.co/your-pass-speaker-idol-2015-top-12-are
No blog do Denny Cherry vocês tem mais informações sobre o PASS Speaker Idol (http://www.dcac.co/blogs)

Wish me luck!
Abraços,

Luciano Caixeta Moreira - {Luti}
luciano.moreira@srnimbus.com.br
www.twitter.com/luticm
www.srnimbus.com.br

quinta-feira, 17 de setembro de 2015

24hs of PASS - Summit Preview

Hoje começa o 24hs of PASS - Summit Preview.
São diversas sessões técnicas para você assistir, não perca!

http://www.sqlpass.org/24hours/2015/summitpreview/Schedule.aspx

Abraços

Luciano Caixeta Moreira - {Luti}
luciano.moreira@srnimbus.com.br
www.twitter.com/luticm
www.srnimbus.com.br

[SQLServerDF] Encontro XXVII – Suporte XML nativo no SQL Server 2014/2016

Mais um encontro do grupo SQLServerDF, dessa vez a ideia é abordar o suporte nativo do SQL Server 2014/2016 a XML (eXtensible Markup Language), que será apresentado pelo Rogério Moraes de Carvalho.

A ideia dele é apresentar os principais recursos de suporte nativo do SQL Server 2014/2016 a documentos XML. Além disso, ele tem como objetivo reservar uma parte da apresentação para debater com os participantes sobre casos de uso e quando o uso de XML em bancos de dados relacionais podem simplificar o modelo entidade-relacionamento e a manutenção. Traga seus casos de uso de XML no SQL Server para debatermos e compartilharmos nossas experiências.

De resto vocês já sabem o que fazer, por favor confirmar presença com nome e e-mail no Google Groups. Para aqueles que não estão no grupo, basta ir até http://groups.google.com/group/sqlserverdf, fazer sua inscrição e aguardar minha moderação.

Data e horário: 01/10/2015, das 18h às 20h
Local: Xperts Trainning Center
Palestrante: Rogério Moraes de Carvalho
Título: Suporte XML nativo no SQL Server 2014/2016
Descrição: Nesta sessão será apresentado o suporte XML nativo no SQL Server 2014/2016. O tipo de dado xml, que foi introduzido no SQL Server 2005, e a diferença entre uma coluna “tipada” (validada por uma coleção de XML Schemas) e “não tipada” (sem validação). Os cinco métodos do tipo de dados xml (query, value, exist, modify e nodes), usados para consultar ou modificar uma instância XML armazenada em uma coluna do tipo xml, com suporte parcial a XQuery para consultas de dados XML e a extensão XML DML da Microsoft ao XQuery (insert, delete e replace value of) para modificação de dados XML.
Mini-cv do palestrante:
Rogério Moraes de Carvalho é consultor e instrutor de TI. Ele é MVP em .NET. Trabalha com desenvolvimento de sistemas na plataforma .NET, e outras plataformas, e tem uma grande preocupação em utilizar bem os recursos da infraestrutura de dados utilizada pelos sistemas. Ele procura entender com mais profundidade os recursos das fontes de dados utilizadas nos sistemas, num momento em que a moda do desenvolvedor “moderno, antenado e competente” é codificar o modelo do seu domínio na aplicação e deixar que um framework de mapeamento objeto-relacional gere, automaticamente, o modelo relacional do banco de dados. Ele prefere procurar entender o funcionamento interno do framework de mapeamento-objeto relacional e não ficar dependente dele, uma vez que ele não é capaz de avaliar, por exemplo, quando é melhor estruturar parte dos dados em XML na modelagem de um sistema.

Xperts Trainning Center
SHIS QI 15 Conjunto 8/9 Área especial Bloco D, Subsolo - Lago Sul  (ao final da rua)
CEP 71635-565 - Brasília - DF
Telefone: (61) 4063-8177 | 9545-9241
Ponto de referência: Próximo ao Hospital Brasília; Ao lado da escola Red Balloon;

Abraços

Luciano Caixeta Moreira - {Luti}
luciano.moreira@srnimbus.com.br
www.twitter.com/luticm
www.srnimbus.com.br

sexta-feira, 4 de setembro de 2015

Nível de isolamento e sp_reset_connection

Ajudando um cliente encontrei um comportamento do ADO.NET que eu desconhecia e, sinceramente, acredito que todos que trabalham com ADO.NET deveriam saber.

Cenário: uma mudança no EF 6.1 fez com que este cliente mudasse a aplicação e chamasse explicitamente a instrução SET TRANSACTION ISOLATION LEVEL READ UNCOMMITTED ao instanciar o DBContext.
O problema surgiu quando a aplicação começa a abrir/utilizar/fechar as conexões, e o nível de isolamento READ UNCOMITTED é mantido.

Minha reação inicial: o ADO.NET não está chamando o sp_reset_connection ao reutilizar a conexão do pool, então pode ser um problema na configuração do pool de conexões.

Ao pesquisar sobre a configuração do pool de conexões me deparei com o comportamento que não conhecia: a sp_reset_connection não redefine o nível de isolamento.

Referências:


O item do Connect foi fechado como by design.

Então suponha o seguinte, você uma aplicação que funciona perfeitamente bem. Um novo módulo é desenvolvido e para uma interface específica você define o nível de isolamento READ UNCOMMITTED ou SERIALIZABLE, quando essa conexão é devolvida para o pool, uma outra classe da sua aplicação pode pegar essa conexão e trabalhar com um nível de isolamento inadequado, causando efeitos colaterais inesperados na aplicação. Nada bom.

Se você é desenvolvedor .NET e já trabalha com o ADO.NET provavelmente já sabe disso, mas achei importante registrar aqui para referência futura.

The devil is in the details…

Quer fazer o teste você mesmo?
Utilize os scripts abaixo para:

1. Criar o banco de dados e deixar uma transação aberta
2. Executar uma aplicação console em C# com pool de conexão habilitado
a. A segunda execução não vai ficar bloqueada (comportamento READ UNCOMMITTED)
3. Executar uma aplicação console em C# com pool de conexão desabilitado
a. A segunda execução vai ficar bloqueada (comportamento READ COMMITTED)

Você pode brincar com o profiler e DMVs para monitorar o comportamento das sessões.

1 - Scripts para testar comportamento (SSMS e VS)

USE master
go

CREATE DATABASE IsolationLevel
go

USE IsolationLevel
go

IF (OBJECT_ID('dbo.TabelaBase') IS NOT NULL)
DROP TABLE dbo.TabelaBase
go

CREATE TABLE dbo.TabelaBase
(Codigo INT IDENTITY NOT NULL PRIMARY KEY,
 Nome VARCHAR(100) NOT NULL,
 DataHora DATETIME2 NOT NULL DEFAULT SYSDATETIME())
GO

INSERT INTO DBO.TabelaBase (Nome) VALUES ('Sr. Nimbus')
INSERT INTO DBO.TabelaBase (Nome) VALUES ('SQL Server')
INSERT INTO DBO.TabelaBase (Nome) VALUES ('ADO.NET')
GO

-- Monitorar as sessões
-- 1 = read uncommitted
-- 2 = read committed
SELECT session_id, transaction_isolation_level, * 
FROM sys.dm_exec_sessions 
WHERE program_name = '.Net SqlClient Data Provider'


BEGIN TRANSACTION
UPDATE dbo.TabelaBase SET Nome = 'Luti @ Sr. Nimbus' WHERE Codigo = 1
SELECT @@TRANCOUNT





static void Main(string[] args)
{

    SqlConnection con = new SqlConnection("Server=LUTIXPS;Database=IsolationLevel;UID=sa;PWD=.sql2014.;");
    // SqlConnection con = new SqlConnection("Server=LUTIXPS;Database=IsolationLevel;UID=sa;PWD=.sql2014.;Pooling=false;");            
    SqlCommand com = new SqlCommand("SET TRANSACTION ISOLATION LEVEL READ UNCOMMITTED", con);
    con.Open();
    com.ExecuteNonQuery();

    com.CommandText = "SELECT * FROM dbo.TabelaBase";
    SqlDataReader dr = com.ExecuteReader();
    while(dr.Read())
    {
        Console.WriteLine(dr["Nome"].ToString());
    }                        
    con.Close();

    // novamente...
    con.Open();
    dr = com.ExecuteReader();

    while (dr.Read())
    {
        Console.WriteLine(dr["Nome"].ToString());
    }

    con.Close();
}


Abraços

Luciano Caixeta Moreira - {Luti}
luciano.moreira@srnimbus.com.br
www.twitter.com/luticm
www.srnimbus.com.br

quinta-feira, 3 de setembro de 2015

Obsessão por excelência nos treinamentos

Mais um post sobre treinamentos (eu sei, overdose de treinamentos nesse blog, só uma breve fase, já mudo de assunto), dessa vez para compartilhar uma pequena vitória profissional, pois ela é muito importante para mim.

Sim, admito, tenho uma obsessão por capacitação e criar treinamentos especializados e diferenciados. Quero que o aluno saia de sala com outra percepção do que pode conseguir com a tecnologia, com uma mentalidade diferente em relação ao trabalho e quanto a seu potencial. Não é uma combinação simples, mas é factível, então leio, releio e trabalho em cima de todas as avaliações.

Dois itens da avaliação me interessam mais do que os outros, pois são os de maior impacto quando mal avaliados:

  • Em geral, como você avalia o treinamento?
  • Como você avalia o instrutor (didática, conhecimento, interesse pelo aprendizado do aluno, etc.)?

Então compartilho pela primeira vez algo que me orgulha bastante: o resultado das duas perguntas para todas as avaliações do curso Mastering SQL Server (ex-Internals) que foram feitas desde 2009. Os alunos não são obrigados a responder (mesmo eu pedindo encarecidamente) e as perguntas podem ser respondidas de forma anônima.

No total são 131 avaliações:
  • Em geral, como você avalia o treinamento?
  •       Excelente: 117
  •       Bom: 14
  •       Regular: 0
  •       Fraco: 0
  •       Ruim: 0
  • Como você avalia o instrutor (didática, conhecimento, interesse pelo aprendizado do aluno, etc.)?
  •       Excelente: 129
  •       Bom: 2
  •       Regular: 0
  •       Fraco: 0
  •       Ruim: 0

As duas pessoas que responderam como bom, fizeram os seguintes comentários:
  • Otimo nivel de conhecimento teórico alinhado com vivencia e experiencia no assunto.
  • Demonstra profundo conhecimento do que está falando. Ao menos, se não conhece, engana bem! Brincadeiras a parte, sanou todas as dúvidas, soube ouvir e incentivar as discussões.

Infelizmente não foi um 100%, mas continuaremos a melhorar. Espero que você também possa no futuro preencher uma avaliação e descobrir se isso é verdade ou não.

De quebra, também deixo (de forma anônima) os comentários da pesquisa sobre os treinamentos da Nimbus para a pergunta "O que você gosta ou odeia na Nimbus? (pode mandar ver!)".

OBS: Ainda estamos conduzindo a pesquisa sobre os treinamentos da Nimbus, participe: https://pt.surveymonkey.com/r/9FXLQ3F
OBS2: A pergunta é opcional e em torno de 50% das respostas possuem esse item preenchido.

==========================================================================

Qualidade inquestionável e profundidade adequada dos treinamentos e material dos cursos e dos instrutores.
9/3/2015 11:49 AM View respondent's answers

Como não tive oportunidade de fazer treinamentos online ou presencial fica difícil julgar a Nimbus.
9/2/2015 5:44 PM View respondent's answers

Instrutor muito capacitado. Colegas que fizeram algum curso sempre comentam isto. Elas voltaram com outra mentalidade. Mas não vi nenhuma revolução nas ações das pessoas depois do treinamento, porém seria injusto dizer que a culpa é do curso. Talvez, a pessoa não soube aplicar o conhecimento ou não tenha assimilado tudo.
9/2/2015 2:09 PM View respondent's answers

tenho interesse na nimbus mas nunca fiz um curso com vcs, por isso é díficil responder. O que me atrai é que o conteúdo parece ser completo, tenho relatos de que a matéria e dada a fundo. O que não me atrai é o preço e ter dúvida em qual conteúdo seria mais adequado para eu começar um assunto.
9/1/2015 11:50 AM View respondent's answers

Ótima explicação, exemplos muito bons e demonstração da aplicação dos conhecimentos passados no dia-a-dia.
8/31/2015 5:23 PM View respondent's answers

Qualidade, competência e disponibilidade da equipe para tá sempre junto da comunidade
8/31/2015 10:22 AM View respondent's answers

Gosto do nível técnico, dos instrutores gostarem de dar aula e da preocupação com a infraestrutura. Não há nada que eu não goste mas tem vários cursos que eu gostaria de fazer que nunca tem turma na minha cidade (SP)
8/31/2015 9:46 AM View respondent's answers

Pontos positivos: Facilidade para pagar Qualidade acima da média Pós venda (grupo criado com ex alunos) A melhorar: Eu sugeri que o treinamento tenha 1 dia a mais com a inenção de passar um cenário e os alunos tivessem de melhorar o ambiente com base no que foi aprendido nos últimos dias. Não é regra em muitos treinamentos mas acredito ser diferencial.
8/31/2015 9:10 AM View respondent's answers

Gosto da didatica e das turmas enxutas e com pessoas realmente interessadas no treinamento
8/28/2015 11:22 PM View respondent's answers

Bom: Detalhamento abordado nos assuntos e conhecimento dos instrutores; Ruim: Modelo de acesso aos treinamento on demand (seria melhor por assinatura mensal);
8/28/2015 6:34 PM View respondent's answers

Eu gosto da interatividade com o aluno, a forma de passar o conhecimento e a disposição para ajudar e ensinar (Blog, YouTube).O que eu não e que tem poucos treinamentos em São Paulo, apesar que nos últimos anos aumentou.
8/28/2015 11:13 AM View respondent's answers

Profissionais de alta qualidade
8/28/2015 10:35 AM View respondent's answers

do interesse do instrutor (luti) em educar
8/28/2015 3:26 AM View respondent's answers

Os instrutores são demais!
8/27/2015 9:55 PM View respondent's answers

Gosto do conhecimento técnico dos instrutores, é um diferencial.
8/27/2015 8:59 PM View respondent's answers

Gostei muito do treinamento que fiz com o Fabiano. Gosto na Nimbus o fato de existirem cursos fora da caixa, voltados para o dia a dia e aperfeiçoamento.
8/27/2015 5:43 PM View respondent's answers

poderiam ampliar os treinamentos para Oracle
8/27/2015 5:31 PM View respondent's answers

O sólido conhecimento dos instrutores, nos treinamentos disponiveis.
8/27/2015 4:20 PM View respondent's answers

[Gosto] - Conhecimento técnico que a empresa entrega é inquestionável - Os cursos focam no que realmente importa. Muitos cursos focam em diversidade de conteúdo o que em geral deixa os cursos rasos. 4 [Não gosto] -
8/27/2015 4:13 PM View respondent's answers

Eu não conheço tanto da empresa pra fazer tal Critica.
8/27/2015 4:04 PM View respondent's answers

Ótimos instrutores. Não se prender a provas para certiifcação, apresentando cases que acontecem durante o dia-a-dia. Um ponto negativo talvez seja falta de disponibilidade para treinamentos nos fins de semana de alguns cursos. Nem sempre é possível ficar fora uma semana do trabalho para participar.
8/27/2015 3:10 PM View respondent's answers

Gosto muito do nível de conhecimento dos instrutores.
8/27/2015 2:47 PM View respondent's answers

Gosto do nível dos instrutores
8/27/2015 2:45 PM View respondent's answers

Gosto, da experiencias dos instrutores. Não gosto dos horarios de alguns treinamentos, pois não tem flexibilidade.
8/27/2015 2:44 PM View respondent's answers

Pouca agenda
8/27/2015 2:41 PM View respondent's answers

Experiência dos instrutores.
8/27/2015 1:08 PM View respondent's answers

De positivo a qualidade de sempre. De negativo nada. A única questão para mim (e reforço o "para mim") foi a mudança do local. O anterior, por ser perto do trabalho e residência era mais prático. Sei que a mudança foi para melhor e isso não impedirá de fazer cursos, mas impede de participar das sessões do SQL Server DF.
8/27/2015 12:21 PM View respondent's answers

O material de estudo poderia ter uma padronização como o pessoal da Caelum
8/27/2015 11:57 AM View respondent's answers

Os cursos on-demand são excelentes, infelizmente ainda não tive oportunidade de fazer o treinamento presencial, mas está nos meus planos. Algo que considero bem interessante seria uma assinatura mensal, pois, Fantástico. O difícil é conseguir participar de todos, como temos que tirar a semana no trabalho hoje o $$ de cada curso online acaba sendo alto e nos faz pensar 2x se realmente vale a pena, se fosse "aberto" eu mesma acessaria vários outros cursos que tenho certa curiosidade.
8/27/2015 11:12 AM View respondent's answers

não tenho como avaliar.
8/27/2015 11:11 AM View respondent's answers

Simplesmente não tem oque odiar, a experiencia passada e oque conseguimos colher com o curso é complica um pouco e também tem conciliar com o bolso também ne rs
8/27/2015 10:50 AM View respondent's answers

O ponto forte é a qualidade técnica do instrutor (Luti). Acho que o ponto que poderia melhorar é a questão do conteúdo impresso. Deveria ter uma apostila especifica com os assuntos abordados no curso juntamente com o livro que é ofertado.
8/27/2015 10:48 AM View respondent's answers

Fiz treinamento na Nerv e o Portilho recomendou seu treinamento, bem como outros amigos PFE SQL na Microsoft, ainda farei mesmo com recursos próprios.
8/27/2015 10:41 AM View respondent's answers

Gosto: Dos treinamentos de alto nivel, e da profundidade que é abordado o assunto. Odeia..
8/27/2015 10:35 AM View respondent's answers

Os cursos que efetuei e os que vocês ministraram aqui dentro da empresa foram sempre muito bons.
8/27/2015 10:26 AM View respondent's answers

Gosto do conteudo aprofundado, da didatica do Lutti e o fato de ter saido do conceito chato do MoC para trazer cases do dia-a-dia e uma formatacao diferenciada.
8/27/2015 10:00 AM View respondent's answers

Fiz o treinamento de Performance com o Fabiano em São Paulo, foi Top o cara é Crazy, nível Hard.
8/27/2015 10:00 AM View respondent's answers

Gosto do Conteúdo de Qualidade.
8/27/2015 9:12 AM View respondent's answers

Fiz apenas um curso na Nimbus e não tenho nada de ruim para falar, foi ótimo o curso, material, instrutor (Fabiano Amorim).
8/27/2015 9:09 AM View respondent's answers

Gosto da qualidade técnica dos profissionais que ministram os trainementos
8/27/2015 9:02 AM View respondent's answers

Cursos extremamente específicos e com níveis de conteúdo "acima de 400" na escala Microsoft.
8/27/2015 8:53 AM View respondent's answers

São ótimos profissionais, espero fazer treinamentos o quanto antes.
8/27/2015 8:51 AM View respondent's answers

Só tive oportunidade de fazer treinamento e foi muito bom
8/27/2015 8:47 AM View respondent's answers

Gostaria de ver exemplos mais praticos baseado em bases de dados Grandes no meu caso SQL Server
8/27/2015 8:47 AM View respondent's answers

Gosto da honestidade e transparência na condução dos assuntos e treinamentos, da capacidade de seus profissionais envolvidos em treinamentos.
8/27/2015 8:43 AM View respondent's answers

Os instrutores são bons, porém, quando enviamos e-mail com alguma dúvida não respondem, porém, se enviarmos e-mail perguntando sobre cursos o e-mail é respondido na hora.
8/27/2015 8:37 AM View respondent's answers

O profissionalismo é o ponto forte. Os instrutores realmente sabem e vivenciam o conteúdo das aulas. Já fiz cursos com outras empresas e achei superficial (até demais). Como sou do interior de São Paulo, a localidade do curso acaba pesando no orçamento, mesmo os em São Paulo. Exatamente por isso prefiro cursos presenciais e integral.
8/27/2015 8:30 AM View respondent's answers

Poucas opções de horário. Poucas turmas.
8/27/2015 8:15 AM View respondent's answers

Nada contra...gosto dos treinamentos e de como sao ministrados
8/27/2015 8:14 AM View respondent's answers

Treinamentos avançados
8/27/2015 7:57 AM View respondent's answers

Eu gosto!, bom... fiz o curso que eu esperava, SQL internals, supriu minhas expectativas, qualidade técnica do palestrante, é isso!
8/27/2015 7:49 AM View respondent's answers

Gosto muito do comprometimento demonstrado e cuidado com os cursos e materiais disponibilizados.
8/27/2015 7:49 AM View respondent's answers

Eu gosto justamente pelos treinamentos abordarem temas diferentes dos centros de treinamento do mercado e por serem temas específicos.
8/27/2015 7:43 AM View respondent's answers

Conheço grande parte dos profissionais que atuam nessa empresa e sei das suas capacidades, possibilitando treinamentos de alto nível.
8/27/2015 12:31 AM View respondent's answers

======================================================================

Abraços

Luciano Caixeta Moreira - {Luti}
luciano.moreira@srnimbus.com.br
www.twitter.com/luticm
www.srnimbus.com.br

Treinamentos SQL Server - Brasília, 2016

Pessoal, publiquei os treinamentos da Sr. Nimbus em Brasília para o primeiro semestre de 2016.


Se você quiser fazer um pacote com todos os treinamentos, entre em contato com a Nimbus!

Sinceramente, tenho dúvida se conseguirei reproduzir o mesmo formato no segundo semestre, então até este momento não existem mais planos para Brasília em 2016.

Abraços

Luciano Caixeta Moreira - {Luti}
luciano.moreira@srnimbus.com.br
www.twitter.com/luticm
www.srnimbus.com.br

quarta-feira, 2 de setembro de 2015

SQL27 - Alta Disponibilidade com o SQL Server AlwaysOn

Já comentei que estou investindo em novas ofertas de treinamentos na Sr. Nimbus, não foi?
Depois de um bom período no forno, publicamos hoje o primeiro treinamento de alta disponibilidade da Sr. Nimbus! E este cobre os assuntos: failover cluster e availability group.

SQL27 - Alta Disponibilidade com o SQL Server AlwaysOn

Publicamo"s" no plural mesmo, pois estou trabalhando com o especialista Edvaldo Castro nesse treinamento, cuidando de todo pequeno detalhe, para garantir o pedigree dos cursos da Nimbus. Até onde eu sei não existe outro centro de treinamento oferecendo um curso semelhante no Brasil, e mesmo que houvesse, estamos trabalhando para o conteúdo ser imbatível.

A primeira turma vai acontecer em Maio/2016 em Brasília, e já está confirmada! Todos os detalhes você encontra no site da Nimbus: http://www.srnimbus.com.br/calendario/sql27_bsbmaio2016/

PS: Não deixe de preencher a pesquisa de treinamentos da Nimbus e concorra a treinamentos on-demand (https://pt.surveymonkey.com/r/9FXLQ3F).

Abraços

Luciano Caixeta Moreira - {Luti}
luciano.moreira@srnimbus.com.br
www.twitter.com/luticm
www.srnimbus.com.br

segunda-feira, 31 de agosto de 2015

quinta-feira, 27 de agosto de 2015

Pesquisa sobre treinamentos da Sr. Nimbus

Depois que voltei a dedicar 100% do meu tempo para a Nimbus, tenho trabalhado bastante na revisão dos nossos treinamentos e nos modelos que podemos oferecer para vocês. E nunca é simples, pois são pedidos diversos e é impossível conciliar tudo. Algumas vezes os mais inesperados treinamentos agradam o público, enquanto outros que parecem prometer, acabam com pouca demanda.

Uma curiosidade… Você sabia que na história do treinamento Mastering SQL Server (antigo Internals), o pior público foi em uma turma noturna em São Paulo? Mesmo já tendo recebido diversos pedidos de treinamento no período da noite, o interesse sempre é maior quando integral.

São essas experiências que acabam por moldar o que oferecemos na Nimbus, e pode ser que haja uma oportunidade de melhor atendê-los, então gostaríamos de saber um pouco mais de vocês através de uma rápida pesquisa (1 a 5 minutos).




*** A cada 50 respostas sortearemos um treinamento on-demand no dia 15 de Setembro de 2015 (nome e e-mail necessário para o sorteio) ***

Abraços

Luciano Caixeta Moreira - {Luti}
luciano.moreira@srnimbus.com.br
www.twitter.com/luticm
www.srnimbus.com.br

quarta-feira, 26 de agosto de 2015

Vídeo 04 - Se sentindo um bosta

Vídeo do Luti #04 - Se sentindo um bosta.



Abraços

Luciano Caixeta Moreira - {Luti}
luciano.moreira@srnimbus.com.br
www.twitter.com/luticm
www.srnimbus.com.br

SQL Server Administração e Monitoramento em São Paulo

Anunciei o treinamento de Administração e Monitoramento do SQL Server.
Este será realizado em Fevereiro de 2016, São Paulo, antes do Carnaval, e está CONFIRMADA.

Turma: http://www.srnimbus.com.br/calendario/sql22_fev2016_sp/
Ementa:  http://www.srnimbus.com.br/sql22/

Passei as últimas semanas atualizando o material (estou ministrando o treinamento in-company) e gostei bastante do resultado. Dei a ele uma ênfase muito grande na parte de segurança avançada, backup/restore, corrupção de dados, xEvents e wait types.

Para conseguir passar tudo em 40 horas eu precisei remover os laboratórios e aumentei consideravelmente o número de demonstrações. Somente considerando os módulos 05 e 08, neste momento temos exatamente 30 demonstrações diferentes.

Como durante o curso explorarmos muitos detalhes do funcionamento do SQL Server, a combinação do SQL22 com o SQL23 (Mastering SQL Server) se tornou uma excelente pedida para DBAs SQL Server. Só não vou anunciar os 2 juntos porque depois de duas semanas em treinamento o cérebro da galera vai fritar…

PS: Se você tem problema com agenda e liberação da empresa, já emende suas férias com o treinamento!

Abraços

Luciano Caixeta Moreira - {Luti}
luciano.moreira@srnimbus.com.br
www.twitter.com/luticm
www.srnimbus.com.br

quarta-feira, 12 de agosto de 2015

Vídeo 03 - O que é um profissional sênior?

Vídeo do Luti 03 - O que é um profissional sênior?
Concorda? Discorda? Não deixe de colocar aqui ou no YouTube o seu comentário!




Abraços

Luciano Caixeta Moreira - {Luti}
luciano.moreira@srnimbus.com.br
www.twitter.com/luticm
www.srnimbus.com.br

Post connect - minidump apagando snapshot com DDL trigger e linked server

Murphy realmente é um canalha... Estou ministrando treinamentos de SQL Server para um cliente e ontem iríamos usar um database snapshot que se encaixa perfeitamente em um cenário. para validarmos nosso script, criamos um snapshot e depois fomos removê-lo antes do primeiro uso.

DROP DATABASE XYZSnap

...

Minidump e service down. Divertido não é?!
Nos minutos seguintes tudo em pé funcionando corretamente, encontramos registro no connect e hoje reproduzi com SQL Server 2012 e, com uma variação de comportamento, no 2014.

Abri um item no Connect (https://connect.microsoft.com/SQLServer/feedback/details/1658842), por favor votem se conseguir reproduzir (não em produção, ok?!).

Deixo o texto original que escrevi para referência...

==========================================================

I found this connect item that is exactly what I went thru yesterday in a customer: https://connect.microsoft.com/SQLServer/feedback/details/474486/sql-server-assertion-file-tmpilb-cpp-line-1306-failed-assertion-null-m-ptaskmain-sos-task-getcurrent-m-ptaskmain

When dropping a database snapshot, a DDL trigger uses a linked server to delete a record from a control table. Then a minidump is generated and the service crashes. The SQL Server version is 2008 R2 (SP2) - 10.50.4321.0 (X64).

Using my machine with some instances I could reproduce the problem configuring a linked server from SQL Server 2012 to 2014 and dropping a database snapshot. Here is the beginning of the SQLDumpXXXX.txt:

Computer type is Intel(R) Core(TM) i7-2670QM CPU @ 2.20GHz.                                                    
Bios Version is DELL   - 2                                                                                    
8 X64 level 8664, 2 Mhz processor (s).                                                                        
Windows NT 6.2 Build 9200 CSD .                                                                                
                                   
Memory                            
MemoryLoad = 32%                  
Total Physical = 16278 MB          
Available Physical = 11058 MB      
Total Page File = 18746 MB        
Available Page File = 12232 MB    
Total Virtual = 134217727 MB      
Available Virtual = 134200260 MB  
**Dump thread - spid = 0, EC = 0x000000019943AB90                                                              
***Stack Dump being sent to C:\Program Files\Microsoft SQL Server\MSSQL11.INST2012\MSSQL\LOG\SQLDump0008.txt  
* *******************************************************************************                              
*                                                                                                              
* BEGIN STACK DUMP:                                                                                            
*   08/12/15 08:44:42 spid 48                                                                                  
*                                                                                                              
* Location: tmpilb.cpp:1301                                                                                  
* Expression: NULL == m_pTaskMain || SOS_Task::GetCurrent() == m_pTaskMain                                    
* SPID: 48                                                                                                  
* Process ID: 5644


From SQL Server 2014 with a linked server to SQL Server 2012 the behavior is different. The connection is lost, a minidump is generated, but SQL Server doesn't goes down. The drawback of this is that now I can see an exclusive lock on the database, owned by resquest_session_id -2 (DTC is envolved) and request_owner_type EXCLUSIVE_TRANSACTION_WORKSPACE.

Process ID 52 attempted to unlock a resource it does not own: DATABASE: 20 . Retry the transaction, because this error may be caused by a timing condition. If the problem persists, contact the database administrator.
Msg 0, Level 20, State 0, Line 15
A severe error occurred on the current command.  The results, if any, should be discarded.

***Stack Dump being sent to C:\Program Files\Microsoft SQL Server\MSSQL12.MSSQLSERVER\MSSQL\LOG\SQLDump0010.txt
* *******************************************************************************                              
*                                                                                                              
* BEGIN STACK DUMP:                                                                                            
*   08/12/15 09:37:56 spid 16                                                                                  
*                                                                                                              
* Location: tmpilb.cpp:1301                                                                                  
* Expression: NULL == m_pTaskMain || SOS_Task::GetCurrent() == m_pTaskMain                                    
* SPID: 16                                                                                                  
* Process ID: 7840  

In this machine I got the following SQL Server versions. Haven't tried with other builds.
Microsoft SQL Server 2014 - 12.0.2480.0 (X64)
Microsoft SQL Server 2012 - 11.0.5058.0 (X64)

The original connect item was closed as "as Not Reproducible", hopefully you will be able to reproduce this one.

/*
Control database on the server that the linked server points to.
*/
--DROP DATABASE ControlDB
CREATE DATABASE ControlDB

USE ControlDB
GO

-- DROP TABLE DatabaseList
CREATE TABLE DatabaseList
( ID INT IDENTITY NOT NULL
, Name VARCHAR(256) NOT NULL)
 GO

USE master
GO

/*
Server where the triggers and linked server are configured.
Authentication is made using a specific security context (SQL Server authentication)
*/

USE master
GO

CREATE TRIGGER [ddl_trig_database] 
ON ALL SERVER 
FOR CREATE_DATABASE 
AS 
SET ANSI_PADDING ON
    PRINT 'Database Created.'
    DECLARE @name Varchar(255)
-- CommandText is wrong in the implementation
    SELECT @name = EVENTDATA().value('(/EVENT_INSTANCE/TSQLCommand/CommandText)[1]','nvarchar(max)')
    
    SET @name = replace(@name, 'Create Database ', '')
    SET @name = RTRIM(ltrim(@name))
    print @name

-- Effectively we don't need to insert nothing
    insert into [LUTIXPS\INST2012].ControlDB.dbo.DatabaseList (Name) values (@name)
GO

-- DISABLE TRIGGER [ddl_trig_database] ON ALL SERVER
ENABLE TRIGGER [ddl_trig_database] ON ALL SERVER
GO


CREATE TRIGGER [ddl_trig_database_drop] 
ON ALL SERVER 
FOR DROP_DATABASE 
AS 
    --PRINT 'Database Droped.'
    DECLARE @name Varchar(255)
    SELECT @name = EVENTDATA().value('(/EVENT_INSTANCE/TSQLCommand/CommandText)[1]','nvarchar(max)')
    print @name + char(13)
    SET @name = replace(@name, 'Drop Database ', '')
    print @name

    Delete [LUTIXPS\INST2012].ControlDB.dbo.DatabaseList WHERE Name = @name
GO

-- DISABLE TRIGGER [ddl_trig_database_drop] ON ALL SERVER
ENABLE TRIGGER [ddl_trig_database_drop] ON ALL SERVER
GO


-- DROP DATABASE Test
CREATE DATABASE Test

-- SELECT * FROM sys.master_files

CREATE DATABASE TestSnap
ON PRIMARY (NAME = 'Test', FILENAME = 'C:\Program Files\Microsoft SQL Server\MSSQL12.MSSQLSERVER\MSSQL\DATA\Test_SNAP.mdf')
AS SNAPSHOT OF Test

DROP DATABASE testSnap
GO

==========================================================

Abraços

Luciano Caixeta Moreira - {Luti}
luciano.moreira@srnimbus.com.br
www.twitter.com/luticm
www.srnimbus.com.br