MSDN Video: How Do I: Efficiently Query a SQL Server Compact Database Using LINQ?

Muito bom esse video para quem pretende trabalhar com SQL Server Compact Database.

MSDN Video: How Do I: Efficiently Query a SQL Server Compact Database Using LINQ? (Level 200)

 

Take advantage of the benefits of LINQ to access Microsoft SQL Server Compact databases while minimizing your application’s resource consumption and maintaining a small memory footprint. Jim Wilson demonstrates how.

Abraço, Rodrigo

 

Retornando dados de um Select com PowerShell

Dos utilitários que eu mais utilizo nas rotinas de manutenção de servidores o PowerShell é o meu predileto.

Uma das questões que venho acompanhando nos fóruns é como retornar dados de um Select a partir de um código feito em PowerShell, se fizermos uma boa pesquisa existem diversas maneiras, porém vou falar apenas do SQL Server 2008 Powershell (sqlps.exe).

O SQL Server 2008 PowerShell pode ser invocado pelo utilitário sqlps.exe, possui um Cmdlet Invoke-sqlcmd que retorna dados de um objeto no SQL Server. Acompanhe os passos abaixo para executar o comando.

Passo 1: Abra o prompt de comando (cmd) e execute a instrução sqlps.exe;

Passo 2: Nesse segundo passo vamos selecionar o caminho para acessar a instância onde os dados encontram-se. Por essa explicação, podemos ver que “crespi-note” é o nome da minha máquina e “default” é o nome da minha instância;

Passo 3: Agora que já estamos na raiz da instância vamos acessar os “databases” e o banco de dados “clientes” e o diretório “tables”;

Passo 4: Pela seqüência utilizaríamos o comando “dir” para listar o conteúdo de uma tabela, porém isso não irá funcionar já que o “dir” listará os objetos contidos no diretório “tables” veja a imagem abaixo:

por esse motivo utilizaremos o comando SELECT com o Invoke-SQLCmd veja:

Para concluir, quando uso PowerShell lembro dos tempos em que trabalhava com servidores Linux e utilizava bastante os recursos de bash. Principalmente integrados com bancos de dados para auxiliar nas rotinas de administração dos servidores. Espero que esse pequeno “How To”, possa ajudar nos primeiros passos utilizando PowerShell na administração dos servidores SQL Server.

Abraço, Rodrigo

Diferenças em tabelas

O SQL Server nos da um utilitário de linha de comando (a partir da versão 2005) chamado TableDiff.exe que tem por objetivo exibir as diferenças entre tabelas. Para maiores informações recomendo os links Utilitário tablediff (MSDN) e Comparando duas tabelas: tablediff (Blog do Alexandre Lopes).

Já partindo para um uso mais extenso recomendo a utilização do SQL Compare da Red Gate, esse é um utilitário desenvolvido que proporciona uma série de features tais como (vou listar apenas quatro dessas): 

  • Gerar scripts e aplicar scripts;
  • Comparar uma base dados, um device de backup, um snapshot ou até mesmo um diretório com scripts contidos;
  • Comparar os schemas, owner;
  • permitir colocar a clausula With Encription ao gerar as stored procedures no banco de dados destino.

De maneira simplificada o SQL Compare faz um mapeamento dos objetos e exibe graficamente, veja abaixo a tela inicial para um novo projeto.

A seguir a tela Owner Mapping.

A guia Options fornece diversas opções como a de definir que no destino os objetos que permitem sejam criptografados.

 

Ao executar a comparação teremos um mapeamento completo de objetos, já classificados pelas diferenças para facilitar a analise.

Com tantos recursos visualizar as diferenças não é uma tarefa que nos dará trabalho, basta marcar o objeto e um painel na parte inferior da tela irá abrir com as diferenças nos scripts.

Show Object Synchronization Script

Essa opção pode ser acessada com o botão direito do mouse sobre o painel de resultados. Um painel com os scripts para atualização irá ser exibido na tela, esses scripts podem ser sobre um ou mais objetos que estão sendo comparados.

Synchronization Wizard

Outra grande feature deste software é a opção de um Wizard que permite aplicar as atualizações de maneira simplificada.

Importante salientar que essa Wizard não faz nada que previamente tenhamos tido a opção de analisar, ainda assim é possível solicitar a geração dos scripts, ou sincronizar diretamente e ainda assim por segurança temos uma opção de fazer um backup antes de aplicar a sincronização.

Para finalizar, na minha opinião o SQL Compare é um produto completo, que além de facilitar com o uso de diversos Wizards, proporciona de maneira intuitiva e organizada as informações para analise.

Abraço, Rodrigo