Erro: SQL Server Service Broker do banco de dados atual não está habilitado

 
O SQL Server Service Broker do banco de dados atual não está habilitado e, como resultado, não há suporte a notificações de consultas. Habilite o Service Broker para este banco de dados se desejar usar notificações. Para resolver este problema, basta executar as…
Continue lendo
Por Cesar Cassiano Schimanco

A conversão de um tipo de dados varchar em um tipo de dados datetime resultou em um valor fora do intervalo

 
 
Este erro normalmente é gerado quando o Idioma da maquina do desenvolvedor é diferente do servidor. Neste caso, a falha é na conversão de alguma data, como a própria mensagem diz. Ou seja, o Idioma do SQL Server é diferente do idioma da Aplicação. E para resolver…
Continue lendo
Por Cesar Cassiano Schimanco

SQL - Selecionar tudo se parametro for NULL #dica

 
Para evitar muitos IFs como no Exemplo 1 ou mesmo no código que monta a query, mostro abaixo como simplificar isso com os exemplos 2 e 2.1. Exemplo 1 IF @id IS NULL SELECT * FROM tblUsers ELSE SELECT * FROM tblUsers WHERE userID = @id Exemplo 2 (Simplificando) SELECT * FROM tblUsers WHERE (userID =…
Continue lendo
Por Cesar Cassiano Schimanco

Stored Procedure com ASP.NET C#

 
 
 
Depois de vários questionamentos sobre como criar e como utilizar stored procedures no C#, resolvi criar este artigo. Outra pergunta, qual a diferença entre executar uma query no C# e usar stored procedure? Bom, eu particularmente prefiro usar as stored procedures apenas para fazer coisas mais…
Continue lendo
Por Cesar Cassiano Schimanco

Evento gratuito SQL Saturday no Rio de Janeiro dia 14 de Abril

 
No dia 14 de Abril vai ocorrer, no Rio de Janeiro, um evento de porte internacional chamado SQL Saturday. São esperados palestrantes de todo o Brasil e outros locais do mundo. O evento, totalmente gratuito, é focado em SQL Server, um dia inteiro de palestras técnicas sobre SQL Server. No…
Continue lendo
Por Cesar Cassiano Schimanco

Tipos de dados equivalentes do C# e SQL, valores máximos e mínimos suportados

 
 
Abaixo temos uma tabela com tipos de dados equivalentes do SQL e C#. Com valores máximos e mínimos suportados por cada tipo. Espero que as informações sejam úteis para descobrir que tipo de dados deverá ser utilizado quando se trabalha com dados vindos do banco de dados. Ou…
Continue lendo
Por Cesar Cassiano Schimanco

Importar um arquivo CSV para o SQL Server usando Bulk Insert

 
Mostro aqui uma forma bem prática de se importar um arquivo CSV para uma tabela no SQL Server. Para começar criamos a tabela que irá receber os dados. CREATE TABLE tblImportCSV( id int NULL, Nome nvarchar(50) NULL, Sobrenome nvarchar(50) NULL )  Agora crie o arquivo…
Continue lendo
Por Bruno de Andrade

Alterar SCHEMA de todas tabelas no SQL Server

 
Para alterar schema de todas as tabelas de uma só vez no SQL Server, podemos usar o código abaixo. DECLARE @SchemaAtual AS VARCHAR(50); DECLARE @SchemaNovo AS VARCHAR(50); SET @SchemaAtual = 'dbo'; SET @SchemaNovo = 'teste'; EXEC ('CREATE SCHEMA [' + @SchemaNovo + ']') SELECT RowNum =…
Continue lendo
Por Cesar Cassiano Schimanco

Exemplos de comando SQL

 
Neste artigo vou mostrar alguns exemplos de comandos SQL. Para auxiliar iniciantes e servir de consulta rápida para quem anda com a memória fraca. Tabela produtos id nome valor qtdDisponivel 1 …
Continue lendo
Por Cesar Cassiano Schimanco

Criar paginação no SQL Server (solução para LIMIT do MySQL no SQL Server)

 
Para quem usa o LIMIT do MySQL para limitar os resultados da sua consulta, ou seja, retornar o resultado entre um intervalo (paginação). SELECT * FROM clients LIMIT 5, 5 No SQL Server vamos usar a clausula WITH para retornar um resultado temporário e ROW_NUMBER() para criar uma coluna com…
Continue lendo
Por Cesar Cassiano Schimanco

Alterar índices (rebuild) em todas tabelas - SQL

 
Neste artigo vou mostrar um script muito útil para quem precisa fazer um rebuild de todos os indexes de um bando de dados, de uma forma simples e prática. Este é um script de Derek Dieter, que encontrei no site http://sqlserverplanet.com/dba/alter-index-all-tables/ Alterar todos os…
Continue lendo
Por Cesar Cassiano Schimanco

Conectar automaticamente ao abrir o SQL Server Management Studio (SSMS)

 
Para conectar automaticamente o SQL Server Management Studio (SSMS) ao abrir, ou seja, sem mostrar a tela de conexão e login, podemos criar um atalho com alguns parâmetros para que ele se conecte automaticamente a um servidor, ao até mesmo a um banco de dados específico. Os parâmetros…
Continue lendo
Por Cesar Cassiano Schimanco

Como usar IN e LIKE com SqlCommand + Parameters ao fazer uma consulta SQL

 
 
Exemplo de como usar IN para deletar algo de uma tabela e um exemplo de como usar LIKE para fazer um SELECT usando SqlCommand e Parameters no ASP.NET - C#. Query de SQL usando IN: using (SqlConnection Conn = new SqlConnection(ConnectionString)) { //DELETE FROM tblUsuarios WHERE id IN(1,2,3) string sSQL…
Continue lendo
Por Cesar Cassiano Schimanco

Pegar ID (Primary Key) do último registro inserido no banco de dados de uma forma simples, usando SCOPE_IDENTITY() e SqlCommand em ASP.NET / C#

 
 
Muitas vezes depois de fazer um UPDATE precisamos pegar o ID do item inserido. Para quem usava SELECT @@IDENTITY no ASP Clássico , segue um exemplo com SCOPE_IDENTITY() em .NET. SCOPE_IDENTITY e @@IDENTITY retornam o último valor de identidade gerado em qualquer tabela da sessão atual. using…
Continue lendo
Por Cesar Cassiano Schimanco

Ordenação randômica em SQL

Uma dica interessante em SQL, uma forma de ordenar os dados de uma tabela de forma aleatória. Para isto, basta usar a função NEWID() junto da cláusula ORDER BY em uma consulta. SELECT * FROM tblUsers ORDER BY NEWID()
Continue lendo
Por Bruno de Andrade