SQL Saturday #573 em Brasília-DF (26/11)

titulosat

Olá,

No dia 26/11 acontecerá o nosso terceiro SQL Saturday aqui em Brasília-DF.

A iniciativa, promovida pela comunidade técnica é o melhor evento de capacitação e networking para profissionais de SQL Server.

Maiores informações, assim como o cadastro para participar do evento você encontra neste link.

Abaixo o agendamento retirado no site hoje 12h do dia 23/11 para apreciação.

Importante lembrar que os horários ou as palestras podem ser alteradas antes ou no dia do evento.: 

Agendamento Sat #573

Porque vale a pena participar?

A plataforma Microsoft SQL Server está em evidência agora e provavelmente nunca foi tão comentada como agora:

  • Existe uma versão pra linux em desenvolvimento;
  • Está cada vez mais integrada com “novas” tecnologias (Big Data, Cloud, Analytics), citando como exemplo o suporte à R nativo;
  • Uma quebra de paradigma na quantidade de features que são entregues na versão Standard do produto a partir do SQL Server 2016 é de impressionar e deve popularizar ainda mais o produto;

Então, dispensa comentários sobre o quão é importante este evento para você que é profissional de dados. Mesmo que você trabalhe com outras tecnologia, continua interessante pois no momento de relevância do SQL Server, tá aí uma boa oportunidade para se informar mais do que tem de bom na plataforma da Microsoft. Isso sem contar a quantidade de profissionais de alto nível que estarão no evento pra trocar uma ideia, tirar dúvidas, etc.

Cya!

[]’s

 

 

 

Dica – Renomear base com mesmo nome, texto em caixas diferentes

O motivo de postar esse sapo é pelo mesmo motivo que a O'reilly publica seus livros com animais na capa

Olá,

Dica rápida de hoje.
Como renomear uma base para o mesmo nome com o texto em diferentes caixas (caixas baixas e altas).
Exemplo: alterar EssEnOme para EsseNome.O post leva em consideração também apenas instâncias com case insensitive.

Pra renomear bases de dados é muito comum utilizar a sp_renamedb por bons motivos:

  •  Procedure antiga já. Bem conhecida;
  • Sintaxe simples: EXEC SP_RENAMEDB ‘NomeBaseAtual’, ‘NovoNome’;
  • Antes de trocar o nome, faz algumas verificações (óbvias, mas necessárias);

Entretanto, a mesma tarefa pode ser executada com o comando ALTER DATABASE:

Mas o que acontece ao renomear uma base com o mesmo nome, com diferenças apenas nas fontes minúsculas e maiúsculas?

Ao usar a SP_RENAMEDB

Resulta na seguite mensagem:

The database ‘DB_aCesso’ already exists. Specify a unique database name.

O comando ALTER DATABASE vai funcionar tranquilo, e favorável:

Vale lembrar que tanto a sp quanto o comando ALTER DATABASE necessitam de lock exclusivo para efetuar a mudança no nome da base. Além de que comandos que alteram o nome da base exigem permissões de db_creator (na base), control server ou sysadmin.

[]’s
Fonte:

Executar como usuário diferente : Runas com ShellRunas.exe

Imagem

Olá,

Dica rápida de hoje: Às vezes, você precisa executar algum programa sob o contexto de outro usuário do Windows. Geralmente esse objetivo é alcançado quando se segura SHIFT + Botão Direito para localizar a opção “Executar como usuário diferente” (opção em português)  ou Run as different User (em inglês), popularmente conhecida como Runas.

Vamos estudar SQL Server 2014?

Imagem

Oi,

O SQL Server 2014 saiu oficialmente tem pouco tempo (1° de Abril) e muito tem se falado sobre ele.

Várias features melhoradas, abraça a nuvem como uma mãe abraça um recém-nascido e que tudo tá muito rápido, tão rápido que todo mundo que fala sobre ele se emociona/empolga. Agora temos dados não apenas em memória, mas designados para a memória. É outra história. É algo alucinadamente mais rápido que o convencional já nos traz. É outro paradigma que já fez o 2014  se tornar um marco, e que será algo ainda maior…

Porém, poucas pessoas de fato estão explorando as novidades e caso esse seja o nosso seu caso, que tal começar agora?

Desafio #2 T-SQL – MERGE e OUTPUT

Merge

MERGE é uma cláusula sensacional que foi implementada no SQL Server 2008. Pouca gente usa, e eu imagino que seja pela complexidade de declaração se comparando com outros comandos DML (Como por exemplo, DELETE, UPDATE e INSERT).

Leia mais sobre o comando aqui

Devo lembrar que a prova 70-461 vai cobrar esse conhecimento e provavelmente em mais de uma questão (assim como aconteceu na 70-433) e é bastante interessante que o conhecimento da mesma seja algo natural e intuitivo, além de ser um ótimo modo de se pensar/programar DML. Qual a forma que encontrei falar sobre a cláusula? Bem, claro, com um desafio! Vamos ao Desafio T-SQL #2 – MERGE e OUTPUT

Case

A empresa Trupe123 resolve, depois de anos sem dar aumento para seus funcionários, tomar uma atitude. Muito foi discutido sobre plano de crescimento, meritocracia, etc e depois de muita discussão, polêmica e briga. Como várias pessoas também saíram da empresa em um curto período de tempo, o RH aproveitou o momento para realizar mudanças no quadro de funcionários (acrescentando e/ou retirando profissionais) ou alterando cargos.O responsável pelo RH, chamado Pedro Bial entregou a você, o DBA, uma lista de mudanças que devem ser refletidas na tabela de empregados.

Com o material necessário pronto para fazer o seu trabalho, algumas instruções lhe são impostas: O pedido do RH foi bastante claro: associar pelo nome que já existe no sistema.

1) Quem estiver com ativo = 0, foi desligado. Logo, deve-se apagar da tabela de Empregados quem foi desligado.

2) O Profissional que estiver na lista de Mudanças do RH mas não estiver na tabela de Empregados deve ser incluído.

3) Pode ter havido alguma alteração de cargo para quem não foi desligado. O valor que deve permanecer é o que vem da lista de Mudanças do RH, desde que o funcionário exista tanto na tabela como na Lista do RH.

4) O profissional que estiver na tabela de Empregados mas não estiver na Lista de Mudanças deve ser mantido como está.

Agora, como dizia Bane: LET THE GAMES BEGIN! O desafio, composto de duas etapas:

1) Construa uma instrução MERGE que esteja dentro do pedido do Pedro Bial, do RH;

2) Construa uma tabela de auditoria temporária que irá receber:

a) O nome do funcionário envolvido na atualização;

b) O nome do evento (INCLUSÃO, EXCLUSÃO OU ATUALIZAÇÃO) seguido do valor antigo e do valor novo, se necessário;

c) Um campo de DATA que informe DATA E HORÁRIO de quando o registro foi incluído na tabela de auditoria; PS: Para o desafio de no.2, sinta-se a vontade para recriar toda a estrutura e adapte a sua estrutura MERGE utilizando a cláusula OUTPUT.

Outra coisa: como você provavelmente vai testar bastante tais comandos, vale a pena abrir algumas transações e ver o resultado por lá mesmo. É isso. Na próxima postagem volto com o resultado. Provavelmente final de semana. Novamente, obrigado pela sua visita e sinta-se a vontade.