09/01/2017 - Meu primeiro dia como PFE SQL Server na Microsoft!

Ola pessoal tudo certo? Espero que sim!

Este não é um post técnico, porém não poderia deixar de compartilhar com vocês que acompanham meu blog esta nova conquista em minha carreira, afinal, escrever artigos, tirar dúvidas, montar cenários, estudar problemas, tudo isso me ajudou a chegar onde cheguei! Por isso também fica aqui meu MUITO BRIGADO a vocês leitores deste blog :)

Ontem, 09/01/2017, o sonho que tinha de trabalhar na Microsoft como PFE de SQL Server se tornou realidade! Gostaria de agraceder principamente a Deus e a minha familia, o apoio deles nas decisões em que tomei até aqui foi fundamental. Além deles, não poderia deixar de agradecer os amigos que me ajudaram a conquistar este sonho, não citarei os nomes aqui pois são muitos mas eles sabem de quem estou falando pois já agradeci a cada ...um deles. A experiência que eles me passaram e continuam me passando todos os dias me transformaram na pessoa e profissional que sou hoje.

Agora tenho novos desafios pela frente! O tempo não para e eu também não posso parar! Gogogo!!! =]

"Sem sonhos, a vida não tem brilho. Sem metas, os sonhos não têm alicerces. Sem prioridades, os sonhos não se tornam reais. Sonhe, trace metas, estabeleça prioridades e corra riscos para executar seus sonhos. Melhor é errar por tentar do que errar por se omitir! - Augusto Cury"



Um forte abraço e até a próxima!

SQL Saturday SP 570 - Agenda oficial publicada!

Fala galera!

Foi publicada a agenda oficial do SQL Saturday SP 570! Estarei palestrando no evento com o mestre Fabio Gentile sobre as principais mudanças relacionadas a melhoria de performance do SQL Server 2016!

Para se inscrever e ver a agenda completa do evento basta acessar o site abaixo:


Esperamos vocês lá!

Abraço!

SQL Saturday #570 - São Paulo - 2016



Fala galera tudo bem? Espero que sim!

Já estão abertas as inscrições para o SQL Saturday SP! O evento será realizado em 08 de outubro na UNIP do Tatuapé * SAVE THE DATE! *. Não percam esta oportunidade única de trocar experiências com outros profissionais da área e assistir palestras que irão discutir diversos assuntos relacionados ao produto!


Para este SQL Sat submeti duas sessões (*espero que ao menos uma delas seja aprovada rs*):


SQL Server 2016 - It Just Runs Faster
Descrição: esta sessão foi estruturada e será apresentada em conjunto com meu amigo e mestre em SQL Server Fábio Gentile, nessa sessão falaremos de mudanças internas do SQL Server 2016, fazendo com que ele seja muito mais rápido que as versões anteriores. Abordaremos conceitos sobre Log Threads, Particionamento de Memória, Scheduling entre outros.


Monitorando o SQL Server através do SQLdiag.
Descrição: esta sessão é a mesma que apresentei no SQL Sat de Joinville, a idéia é fazer com que todos saibam como configurar o SQLdiag de forma básica e aprendam a interpretar os dados que o mesmo vai gerar de um ambiente contendo o SQL Server.


Para se inscrever no evento e ter mais informações, basta acessar o site oficial:
Vejo vocês lá! GOGOGO SQL!

Um abraço!

Fim do suporte ao SQL Server 2005!

Pessoal, tudo bem? Espero que sim!

Como a maioria de vocês já deve saber, chegou ao fim o suporte do SQL Server 2005, por isso, recomendo que leiam o artigo que escrevi para o blog dos PFE's, o mesmo pode ser acessado através do link abaixo:

https://blogs.msdn.microsoft.com/pfebrasilsql/2016/04/18/fim-do-suporte-ao-sql-server-2005-uma-versao-que-entrou-para-a-historia/

Um abraço e até a próxima!

SQL SATURDAY #488 - JOINVILLE - FOI UM SUCESSO!

Olá pessoal tudo bem? Espero que sim!

Neste último final de semana aconteceu o SQL Server Saturday na cidade de Joinville/SC, o evento foi um enorme sucesso e reuniu mais de 300 pessoas que tiveram a oportunidade de assitir diversas palestras ministradas por diversos profissionais renomados na área. Já havia ido a outros “SQL SAT’s” mas este foi especial pois tive o imenso prazer de participar como palestrante! Agradeço a oportunidade dada pelo Rodrigo Dornel e o apoio dos demais amigos da comunidade. Quem quiser efetuar o download da minha apresentação pode fazê-lo através do link abaixo ou no site oficial do próprio evento:


Site do evento:

Abaixo estão algumas fotos do evento, é isso pessoal! GOGOGO SQL SERVER!!!




SQL Saturday #488 – Joinville - 2016

Fala galera tudo bem com vocês? Espero que sim!

Hoje estou aqui para falar do evento que irá ocorrer no dia 09 de Abril deste ano em Joinville-SC, o SQL Saturday #488! 

Como a maioria deste mundo Microsoft já deve ter ciência, trata-se de um evento gratuito que reúne uma série de profissionais de SQL Server para palestrarem sobre diversos assuntos relacionados ao produto, felizmente neste evento, eu serei um dos palestrantes!

Vou falar um pouco sobre o SQLDiag, como configurar, como processar e analisar os dados que ele gera e como ele pode ser importante na sua empresa se você não conta com muitos recursos financeiros para monitorar seu ambiente com SQL Server. Para quem estiver pensando em participar da minha sessão e já quiser fazer um aquecimento, é possível conferir um webcast que gravei para a comunidade no seguinte link: https://www.youtube.com/watch?v=phb5y-l-y28


Para se inscrever no evento e saber das demais palestras, basta acessar o site oficial: http://www.sqlsaturday.com/488/eventhome.aspx


Bom, é isso galera! Conto com vocês lá! Não percam este grande evento, uma ótima oportunidade de aprender mais e de trocar experiências com outros profissionais da área =]

Um abraço!


O Unit Separator (US) e o erro ao tentar desabilitar um JOB no SQL Server Agent!

Olá pessoal tudo certo? Espero que sim!

Recentemente no cliente passei por algo bem interessante, havia um JOB que não conseguia desabilitar no SQL Server Agent, quando eu tentava o erro abaixo ocorria:


Via T-SQL também dava o mesmo erro, porém surgiu a primeira dica:


Msg 6841, Level 16, State 1, Procedure tr_job_disable, Line 27

FOR XML could not serialize the data for node 'td' because it contains a character (0x001F) which is not allowed in XML. To retrieve this data using FOR XML, convert it to binary, varbinary or image data type and use the BINARY BASE64 directive.

Que objeto seria este? Como o ambiente era bem tranquilo com relação ao volume de transações, decidi rodar um Profiler capturando os seguintes eventos:

·         Errors & Warnings (All).
·         SP: StmtStarting
·         SQL: BatchStarting
·         SQL: StmtStarting

Com o Profiler no ar, tentei o Disable novamente no JOB para provocar o erro, vejam que interessante. Antes de ocorrer um Exception foi capturado o seguinte trecho de código:




Olhando a coluna Object Name e Object Type foi possível confirmar que o objeto envolvido era uma trigger:


Esta trigger estava criada dentro da tabela de sistema sysjobs no MSDB, e seu intuito era que toda vez que algum JOB fosse desabilitado um e-mail fosse enviado para os DBA’s. Voltando ao nosso erro:

Msg 6841, Level 16, State 1, Procedure tr_job_disable, Line 27

FOR XML could not serialize the data for node 'td' because it contains a character (0x001F) which is not allowed in XML. To retrieve this data using FOR XML, convert it to binary, varbinary or image data type and use the BINARY BASE64 directive.

Nosso problema dentro da trigger está no comando abaixo, mais precisamente no que esta marcado em amarelo:

SET @tableHTML =   
   N'<H1>Job desabilitado!</H1>' +   
   N'<table border="2">' +   
   N'<tr><th>Job</th>' +   
   N'<th>Server</th>' +             
   N'<th>Data</th>' +       
   N'<th>Usuário</th></tr>' +   
   CAST ( ( SELECT td = Job,       '',   
       td = @@servername, '',   
       td = data, '',    
       td = Usuario, ''          
       FROM #TableIC            
       FOR XML PATH('tr'), TYPE    
   ) AS NVARCHAR(MAX) ) +   
   N'</table>' ;  

O SQL está dizendo que existe um caracter inválido 0x001F para formatação do e-mail, mas quem seria 0x001F?

Pesquisando um pouco descobri que este é o valor hexadecimal correspondente ao UNIT SEPARATOR (US), um caracter que seria uma espécie de “underline”, visível apenas em alguns editores de texto:

Unicode Map : Public Unicode Character Map

What is character 0x1f?

Já sabendo do US notei outra coisa, vejam como ficou a seleção do job no SQL Server Agent quando foi "clicado":

Ele tem realmente um “espaço em branco” na frente. Pois bem, gerei o script do mesmo. No Management Studio do SQL Server, tudo ok:

Mas no Notepad++, notem o US aparecendo!

E no Word, notem o “_” aparecendo!

Desabilitando a trigger, ou então removendo o US do nome do JOB:


Sucesso! Foi possível desabilitar o job.

Para fechar o assunto, deixo como recomendação que todo script escrito fora do SSMS seja analisado com cuidado e lembro ainda, que triggers sobre tabelas de sistema não são suportadas pela Microsoft, conforme link abaixo:

System Databases

Espero que tenha sido útil! Um abraço!