SqlServer SELECT Case Sensitive

Sql Server

Por defeito o SQL ignora as maiúsculas e minúsculas no valor dos parâmetros… para forçar o SQL Server a ter em conta maiúsculas e minúsculas num determinado querie basta acrescentar ao query uma COLLATION que tenha em conta maiúsculas e minúsculas por exemplo SQL_Latin1_General_CP1_CS_AS, 

por exemplo “select * from Tabela where nome= ‘Antonio’  COLLATE SQL_Latin1_General_CP1_CS_AS AND sobrenome = ‘Campos’  COLLATE SQL_Latin1_General_CP1_CS_AS

sem o COLLATE SQL_Latin1_General_CP1_CS_AS o querie ia retornar qualquer linha desde que tivesse “antonio”  no nome independentemente de ter ou não letras maiúsculas.

 

SQL Server – Usar Autenticação Windows fora do Dominio

Numa estrutura típica duma aplicação em rede com base de dados SqlServer em que se usa um servidor de Active Directory para centralizar os Utilizadores e acessos, tudo funciona bem até aparecer uma máquina que por alguma razão não podemos ou não dá para colocar no domínio. Na situação em que tive que implementar este “truque” tratou-se de um pc com Windows Vista Home Basic que será usado por um utilizador que está no Active Directory e que têm que usar um pc que está no domínio e esporadicamente usa um portátil com Vista Home Basic (que não dá para colocar no Domínio).

Para implementar este “truque” tudo o que precisamos é usar funções fornecidas pelo próprio Windows!! vou enumerar os passos para tornar isto possível!

1º – Criar um atalho para aplicação

2º – Nas propriedades do atalho acrescentar o texto seguinte antes do caminho do executável:

runas /user:NomeDoDominio\NomeDoUtilizador /netonly

 

3º – Confirmar que o destino do atalho está com o texto anterior seguido do caminho do executável onde queremos usar a autenticação Windows.

4º – Ao executar o atalho o utilizador só terá que fornecer a sua password do Active Directory e usar  normalmente a aplicação como se o pc estivesse no domínio!!!!

5º – para embelezar a “coisa” podemos atribuir ao atalho o mesmo icon da aplicação que o utilizador já conhece!! (durante o processo o atalho vai assumir o icon do executável do RunAs).

6º – caso o windows não assuma o comando runas, colocar o caminho completo do executável que está na pasta system32 do Windows.

SQL SERVER : Reiniciar contador de campo auto-increment

Após limpar tabelas do SqlServer que têm um campo de auto incremento, se quisermos reiniciar o valor do auto-incremento basta executar o comando seguinte:

DBCC CHECKIDENT (‘NomeDaTabela’, reseed, 1);

Este comando vai  zerar o campo auto_increment da tabela do sql server que colocarmos onde coloquei “NomeDaTabela”,

Para executar este comando podemos usar o SqlServer Management Studio que geralmente está em “Programas > Microsoft SQL Server VersãoXX > SQL Server Management Studio”, basta abrir fazer login, seleccionar a base de dados onde está a tabela que queremos alterar e executar o comando acima como um querie normal.

Mais informações no artigo da MSDN http://msdn.microsoft.com/en-us/library/ms176057.aspx