SQL GO!!!

select 'Blog focado em SQL Server' from blog where nome ='SQLGO.wordpress.com'

SQL Server 2014 CTP2

Hoje foi anunciado o SQL Server 2014 CTP2 no KeyNote do PASS Summit.

Clique aqui para baixar!

SQL Saturday #100

O Virtual PASS BR conseguiu trazer o SQL Saturday para a América Latina pela primeira vez. Este evento foi criado pela PASS (Professional Association for SQL Server) e vem acontecendo desde 2007 em diversos países. Depois de muita conversa do pessoal daqui com o membros do PASS, a 100ª edição desse evento ocorrerá por aqui. Estamos muito felizes em sediar o primeiro SQL Saturday da América Latina.  Será um sábado inteiro dedicado ao SQL Server! Uma oportunidade única para conhecer sobre o SQL Server através de sessões apresentadas por palestrantes renomados nacionais e até internacionais. Teremos 18 palestras divididas em 3 tracks (BI, Dev e Infra), lanche e sorteios.

As inscrição é GRATUITA e ainda está aberta!

Também estamos com o ‘Call for Speakers’ aberto. Caso você tenha interesse em palestrar, envie o seu abstract até o dia 31/08/2011. As palestras serão
escolhidas pela organização do evento.

O evento ocorrerá no dia 26/11/2011 na Microsoft Brasil em São Paulo, SP.

Para saber mais informações, acesse o site do evento: http://bit.ly/sqlsat100

TechED BR 2011, eu vou!

Está tudo pronto para o meu primeiro TechED! Passagens, hospedagem e inscrição do evento. Estou muito feliz em  poder participar desse evento tão  importante.

Como as palestras já foram liberadas, eu já fiz minha listinha. Agora basta esperar os horários para eu montar a minha agenda oficial. Este ano, eles incluíram ‘Quick Sessions’, que serão sessões mais rápidas e cheia de demos. Gostei bastante do modelo. Já estou ansiosa!

Para quem é profissional de SQL Server, a Viviane Ribeiro fez um post bem legal. http://vivianeribeiro1.wordpress.com/2011/07/26/teched-brasil-2011-uma-palhinha-do-que-vai-rolar-sobre-sql-server-e-bi/

Para marinheiros de primeira viagem como eu, o post  do Thiago Everton é leitura obrigatória:

http://thiagoeverton.wordpress.com/2011/07/07/teched-2011-ir-ou-no-ir-guia-para-marinheiros-de-1-viagem-ano-2/

http://www.eventosmicrosoft.com.br/teched/GuiaViagemTechEd-revisado.pdf

Até o dia 21/08, o preço ainda é promocional, então aproveitem!

[]’s

Socorro Vieira

Certificações para Denali

Estou fazendo o MOC de SQL Server Reporting Services esta semana e o professor explicou o  processo de construção de uma prova de certificação (muito bacana!). Além disso, ele também falou um pouco das provas que existirão para o Denali. Segundo ele, a parte de BI terá uma prova para SSIS (espero mesmo!) e outra para SSRS e SSAS e a versão final  deverá estar disponível no meio do ano que vem. Então vamos esperar, não é? Enquanto isso, eu e a Andressa continuamos a estudar para as provas do SQL 2008.

70-586   TS: Microsoft SQL Server 11, Implementation and Maintenance
70-460   PRO: Designing, Optimizing and Maintaining a Database Administrative Solution Using Microsoft SQL Server 11

70-587   TS: Microsoft® SQL Server® 11, Database Development
70-461   PRO: Designing Database Solutions and Data Access Using Microsoft® SQL Server® 11

70-588   TS: Microsoft SQL Server 11, Business Intelligence Development and Maintenance (continua como atualmente? Espero que ainda dividam como o professor falou!)

Keep studying!

[]’s

Socorro Vieira

MCTS SQL Server 2008, yay!

Essa semana tem sido muito bacana. Teve a Semana de SQL Server com palestras muito boas com organização da Andressa e outros membros do Virtual PASS BR.

 Além disso, eu e a Andressa passamos na prova para MCTS SQL Server 2008, sendo a minha de administração (70-432 -Implementation and Maintenance) e a dela de desenvolvimento (70-433 – Database Development). Estamos felizes pelo resultado do nosso esforço e estudo. Mas não pararemos por aí! Ainda tem MCITP Administrator, Developer e BI. Muito estudo pela frente, então vamos continuar. Está apenas começando! =D

SSIS – Entendendo os níveis de proteção do pacote

Antes de começar a escrever, gostaria de agradecer a presença das pessoas que participaram das nossas palestras sobre extração, transformação e carga de dados com SQL Server Integration Services na Semana de SQL Server, que está sendo promovida pela Virtual PASS BR.

Na palestra, eu fiz um overview do SQL Server Integration Services – SSIS e falei um pouquinho de uma propriedade de segurança chamada Nível de Proteção. Então resolvi falar um pouquinho mais, pois pode ser um problema quando for feito  o deploy do ambiente de desenvolvimento para produção.

Nível de Proteção do pacote

Como vocês podem ver na imagem acima, existem seis níveis de proteção que podem ser atribuídos para a segurança do pacote:

  • Don’t Save Sensitive: Não salva valores confidencias. Substitui os valores confidenciais do pacote por espaços em branco. Como não há criptografia, é necessário que esses valores sejam informados por outro usuário (diferente do criador do pacote) para que pacote seja executado/alterado.
  • Encrypt Sensitive With User Key: Criptografa SOMENTE os valores confidencias baseado no perfil do usuário criador do pacote. Se outro usuário abrir o pacote, esses valores confidencias precisarão ser informados para que o pacote seja executado/alterado.
  • Encrypt All With User Key: Criptografa TODO o pacote com o perfil do usuário criador do pacote. Somente esse usuário consegue modificar ou executar o pacote. Ocorrerá um erro se outro usuário tentar executar ou abrir o pacote no BIDS.
  • Encrypt Sensitive With Password: Criptografa SOMENTE os valores confidenciais do pacote  com uma senha. Para que os outros usuários possam executá-lo ou alterá-lo, é necessário saber a senha. Sem a senha, o pacote é aberto sem os dados confidencias e nada poderá ser feito.
  • Encrypt All With Password: Criptografa TODO o pacote com senha. Sem a senha, outro usuário não pode acessar ou executar o pacote.
  • Server Storage: A proteção é feita através de funções do banco de dados do SQL Server. Somente funciona se o pacote for armazenado no banco de dados msdb. Portanto, essa proteção não funciona para File System.

Por padrão, o pacote é criado com o nível de proteção Encrypt Sensitive With User Key, que pode ser utilizada para ambiente de desenvolvimento. Para fazer deploy para o ambiente de produção, é preciso alterá-lo para que não dependa da chave do usuário que desenvolveu. Nesse caso, pode-se aplicar Encrypt Sensitive With Password ou Encrypt All With Password. Como o pacote utilizará uma senha para poder executar ou dar manutenção, é FUNDAMENTAL de passar aos demais membros da sua equipe.

[]’s

Socorro Vieira

 

 

 

Nomenclatura de stored procedure

Como anunciamos por aqui, eu e Andressa realizamos um webcast no fim de fevereiro. No fim, tivemos tempo para responder algumas perguntas ao vivo. E uma delas foi se há perda de performance no uso da nomenclatura SP no início da stored procedure. Eu respondi a pergunta, porém,  algumas pessoas nos procuraram para dizer que desconheciam esta recomendação.  E isso é uma verdade, pois vejo muitas empresas  utilizando essa nomenclatura em seus bancos de dados. Portanto, eu resolvi escrever mais sobre assunto.

Como eu respondi no webcast, a perda de performance pode ser irrisória, dependendo da aplicação.  Entretanto temos outro problema a ser observado, a segurança.  Pois ao executar uma stored procedure iniciada por SP, o SQL Server busca no banco master, o que pode deixar brechas para atos maliciosos.

E o que seria um ato malicioso? Imaginem uma instituição bancária, onde existe uma stored procedure chamada ‘SP_TransferenciaContaCorrente’ no banco de dados MovimentacaoBancaria,  que é executada quando há a transferência entre contas correntes. Até aqui  nenhum problema, não é? Agora imaginem a mesma procedure sendo criada no banco master, entretanto transferindo um centavo para conta de algum espertinho ao executar cada transferência. O que vai acontecer aqui? Quem vai ser executada primeira? Como eu disse no nosso webcast, ao criarmos uma stored procedure iniciando com SP, o SQL Server entende que é uma procedure de sistema e procura primeiro no banco master. Ao encontrá-la, ele executará e obviamente não passará pelo banco MovimentacaoBancaria.  Então o espertinho receberá um centavo a cada transferência efetuada.

Portanto, baseado na explicação acima, a melhor prática não recomenda o uso da nomenclatura ‘SP’ no ínicio da stored procedure por deixar furos de segurança na sua instância do SQL Server e de desempenho dependendo da aplicação. Recomenda-se utilizar proc_nomedaprocedure, USP_nomedaprocedure ou qualquer nome desejado. Além disso, a partir do SQL Server 2008, é possível utilizar a ferramenta Policy Management para definir padrões de nomenclatura (assunto para outro post!), evitando nomes indesejados como o explicado nesse post.