Esse mês, o grupo de usuários de .Net de Florianópolis / SC www.dotnetfloripa.net, fez uma palestra sobre o uso do Linq, o que me fez lembrar de uma ferramenta bem legal para quem gosta do Linq: LinqPad, essa ferramenta gratuita permite que você se conecte com o seu servidor SQL Server e faça consultas nas bases de dados diretamente em Linq.
Já aproveitando, se você mora na grande Florianópolis e ainda não faz parte do grupo, entre no site do grupo e se cadastre para receber avisos das nossas palestras!
see ya
O SQL Server 2008 apresenta diversas novas funcionalidades, e muitas delas só estão presentes em algumas edições específicas do sql server. Por exemplo, o TDE só está disponível na versão Enterprise do Sql Server, e como ele modifica a forma como os dados são armazenados fisicamente, não é possível restaurar um backup de uma base que utilizao TDE em uma edição que não o suporta. Na hora de fazer uma migração de uma versão para outra sempre ficamos na dúvida, se estamos ou não usando algum recurso específico de uma versão, e acabamos perdendo muito tempo verificando isso antes de realizar a migração.
Para ajudar com esse problema, no Sql Server 2008 existe uma DMV que nos permite verificar se temos algum recurso específico da versão:
SELECT feature_name FROM sys.dm_db_persisted_sku_features
Execute esse comando na base de dados que você quer verificar, se existir algum componente específico da versão esse comando irá lhe retornar o nome do componente.
see ya
“Comprou R$1000 em ações da Nortel em Jan/05? Hoje tem R$59. Lucent? R$79. Tomou tudo em cerveja e vendeu as latas pra reciclagem? R$80.”
Sabia que eu devia ter comprado tudo em cerveja…. =/
see ya
Para quem acompanha o projeto Mono, foi lançada ontem a versão 2.0!
E para quem não conhece, o projeto mono é a implementação do .net framework para linux e mac, o projeto é patrocinado pela Novell e foi criado pelo Miguel de Icaza, o criador do gnome também.
Para ver as mudanças da versão 2.0 acesse: http://www.mono-project.com/Release_Notes_Mono_2.0
see ya
Para quem ainda não viu, fica a dica do ótimo vídeo gravado pelo MVP Diego Nogare sobre os dados espaciais. Vale muito a pena ver o vídeo, onde ele demonstra não só os dados espaciais, mas também uma ferramenta feita em WPF, o SqlSpatial Query Tool que é muito legal e permite visualizar os desenhos dos polígonos. O link para o vídeo:
http://channel9.msdn.com/posts/ZachSkylesOwens/Spacial-Data2/
Só complementando a informação: no vídeo, O Diego passou o link de onde baixar os mapas de todos os países da américa latina. Mas para importar os arquivos precisa usar uma outra ferramenta, o Shape2SQL que importa o arquivo do ESRI para o Sql Server 2008.
O link para o download tanto do Shape2SQL quanto do SqlSpatial Query Tool é: http://www.sharpgis.net/page/SQL-Server-2008-Spatial-Tools.aspx
see ya folks
Alguns vídeos interessantes gravados no teched 2008 USA, todos em inglês, mas muito legais.
[ Some interesting videos from teched 2008 USA (only IT Pro track) ]
http://www.microsoft.com/emea/spotlight/event.aspx?id=104
[ UPDATE ]
Nesse link vocês tem acesso a biblioteca completa do teched USA, tanto da track de infra quanto da track the desenvolvedores:
[ on this link you can watch and download the full library with both the teched 2008 USA IT and dev tracks ]
http://technet.microsoft.com/en-us/events/teched/cc561184.aspx
see ya folks!
Uma das muitas novidades da nova versão do SQL Server 2008 é o Transparent Data Encryption (TDE para os íntimos).
Legal… mas o que é o TDE?
O TDE é uma nova funcionalidade de criptografia dos dados. Ela não foi criada para substituir a criptografia em colunas que já existia no SQL Server 2005 - o TDE não vai impedir que um usuário com acesso de leitura ao banco veja os dados na tabela. Ao invés disso, vai implementar criptografia nos dados, a nível de disco, nos arquivos MDF e LDF. E por que isso é útil? Existem inúmeras situações onde essa funcionalidade é muito útil, mas vamos imaginar uma bem simples: você é o DBA em uma grande empresa e cria um sistema de backup perfeito, e o banco de dados contém informações muito importantes para a empresa, como por exemplo financeiras e estratégicas. No seu plano de backup, você definiu que uma cópia do backup será armazenada em um datacenter externo, por questão de segurança (nunca se sabe quando um avião vai cair no seu prédio, mas é bom estar preparado). Perfeito! Agora você tem uma cópia externa dos dados, e também um sério problema de segurança, pois você não tem como garantir a segurança do backup externo. Teoricamente, qualquer um (com acesso ao datacenter) pode copiar o seu arquivo de backup, restaurar em outro servidor e ter acesso a todos os dados confidenciais da sua empresa. Nesse momento entra o TDE, criptografando os seus arquivos e impedindo que qualquer um sem as chaves corretas (inclusive você) restaure esse banco.
É importantíssimo levar em consideração que, quando habilitamos o TDE no banco, aumentamos a carga no disco (I/O) e além disso precisamos começar a ter um cuidado todo especial com relação aos certificados e a chave de criptografia do nosso servidor. Imaginem a situação:
Você habilita o TDE no seu banco, e tudo está funcionando perfeitamente. Você é um cara precavido e tem uma rotina de backup quase perfeita, você tem backup completo, diferencial e do log de transações de todas as suas bases. Um certo dia o servidor de banco morre… Você agradece aos céus por ter backup de tudo, sobe um servidor reserva que você já tinha preparado para esse momento especial. Então você tenta restaurar as suas bases e recebe uma mensagem de erro dizendo que não é possível restaurar a base de dados porque o certificado usado para criptografar o mesmo não foi encontrado! Qual é a sua reação?
(A) Dá risada da situação;
(B) Chora;
(C) Foge para outro país;
(D) Todas as alternativas anteriores;
Por isso, lembre-se: faça backup do certificado!
Outro fator importante a ser levado em consideração: quando habilitamos o TDE em qualquer base de dados, automaticamente o TDE é habilitado também para o banco de dados tempdb. Esta não é uma opção que possa ser desabilitada. Isso acontece porque o sql server faz um uso intensivo dessa base de dados para realizar praticamente todas as atividades internas. Imaginem que o tempdb é como se fosse uma extensão da memória do servidor. Por isso, mesmo bases de dados que não usem o TDE vão ter uma queda na performance, já que o tempdb é único por instância do sql server.
Mas chega de falar de coisa ruim - vamos ver como usar o TDE na prática:
1º passo: caso você nunca tenha criado a master key encryption antes, vai precisar criar agora. A master key encryption é uma chave simétrica, usada para proteger as chaves privadas dos certificados e as chaves assimétricas. Para isso, usaremos o seguinte comando:
USE master;
GO
CREATE MASTER KEY ENCRYPTION BY PASSWORD = 'My Password'
GO
PS: lembrem de não esquecer essa senha, ela é importante ;)
2º passo: criar um certificado. Neste passo podemos tanto criar um certificado no próprio SQL Server quanto importar um certificado comprado em alguma entidade. A chave privada desse certificado vai ser protegida pela master key que acabamos de criar:
USE master;
GO
CREATE CERTIFICATE TDECert WITH SUBJECT='TDE Certificate';
GO
3º passo: criar uma chave de criptografia para a base de dados, usando o certificado criado anteriormente. Neste passo podemos escolher o algoritmo de criptografia que queremos usar: triple DES, AES 128, AES 192 ou AES 256:
USE AdventureWorks;
GO
CREATE DATABASE ENCRYPTION KEY
WITH ALGORITHM = AES_256
ENCRYPTION BY SERVER CERTIFICATE TDECert;
GO
Para ajudar a refrescar a sua memória, este comando vai retornar um Warning. Lembrando que devemos fazer um backup de nosso certificado imediatamente! Então vamos lá:
USE master;
GO
BACKUP CERTIFICATE TDECert
TO FILE = 'c:\backup\adv_certificate.cer'
WITH PRIVATE KEY( FILE = 'c:\backup\adv_certkey.pvk',
ENCRYPTION BY PASSWORD = 'My Password');
4º passo: finalmente, só nos resta habilitar o TDE na nossa base:
ALTER DATABASE AdventureWorks
SET ENCRYPTION ON;
GO
Para verificar o andamento da criptografia, vocês podem usar esse comando:
SELECT DB_NAME(e.database_id) AS DatabaseName,
e.database_id,
e.encryption_state,
CASE e.encryption_state
WHEN 0 THEN 'No database encryption key present, no encryption'
WHEN 1 THEN 'Unencrypted'
WHEN 2 THEN 'Encryption in progress'
WHEN 3 THEN 'Encrypted'
WHEN 4 THEN 'Key change in progress'
WHEN 5 THEN 'Decryption in progress'
END AS encryption_state_desc,
c.name,
e.percent_complete
FROM sys.dm_database_encryption_keys AS e
LEFT JOIN master.sys.certificates AS c
ON e.encryptor_thumbprint = c.thumbprint
Ok…alguem chegou até esse ponto? Ótimo, agora que já vimos como fazer tudo isso via t-sql eu vou contar uma novidade. É possível fazer tudo isso visualmente também, usando o Sql Server Management Studio. Para isto, basta clicar com o botão direito no banco de dados, ir em Tasks > Manage Database Encryption. Escolha na lista o nível de criptografia, o certificado (isso vocês tem que criar na mão mesmo), selecione Set Database Encryption On e apertem Ok. Mas vocês tem que concordar… usando t-sql é muito mais divertido ;)
See ya, folks!
E para encerrar o dia de hoje e começar o fim de semana bem lá vai uma ótima novidade para todo mundo que está estudando a nova versão do SQL Server 2008.
Na segunda-feira pela manha, dia 29, as 8 a.m PDT ( meio dia aqui no Brasil ) será disponilizado um novo site da microsoft: http://www.SqlServerExperience.com, este site irá conter mais de 500 vídeos em 11 línguas diferentes sobre os mais diversos assuntos.
Então fiquem ligados e aproveitem MAIS uma fonte de informação!
Fonte: http://www.microsoft.com/Presspass/press/2008/sep08/09-26SQLServerExperienceMA.mspx?rss_fdn=Press%20Releases
see ya