Comandos SQL, Erros

Converter valores float “grandes” em varchar

Converter valores float “grandes” em varchar

Ao tentar converter o valor: 11223115414414 (float) em um varchar, esta vindo assim: 1.12231e+013, e o que foi feito… segue abaixo passo a passo:

Declare @float float = 11223115414414;

Select @float
— Retorna: 11223115414414

— Mas preciso converter em varchar:
Select CONVERT(varchar, @float)
— Retorna: 1.12231e+013

— Solução:
Select cast((convert(bigint, @float)) as varchar)
— retorna: 11223115414414

— Contribuição do Sr. Joel Almeida

— Sites relacionados:
https://stackoverflow.com/questions/3715675/how-to-convert-float-to-varchar-in-sql-server

Comandos SQL, DBA

Deletando informações em batches –

Freccia's Blog

Olá pessoal,

Quando trabalhamos bases de dados muito grandes e criticas é normal que alguma forma de purge (expurgo) seja feita no banco de dados, é melhor para a aplicação e também para o DBA. Porem uma grande preocupação quando vamos falar sobre deletar uma grande quantidade de dados é não prejudicar nosso arquivo Transaction Log para que o mesmo não estoure o espaço em disco, como também não bloqueie nossa aplicação que esta tentando inserir ou atualizar dados na base. Alem de tudo isso nos preocupamos com performance, pois uma grande operação de delete poderia impactar todo o nosso ambiente.

Pensando nisso criei um script bem simples, mas que pode te ajudar no momento de realizar esse expurgo da base de dados.

Ver o post original 627 mais palavras

Comandos SQL, SQL Server

Highway To Hell – Extended Events

Comandos SQL

Como gerar um arquivo csv UTF-8 com o SSIS

SQL GO!!!

Faz tempo que não volto aqui, devido a correria do dia a dia fiquei muito afastada, mas aos poucos vou voltando com novidades e post úteis para vocês! Vamos lá para a dica de hoje!

Arraste o controle Data Flow Task, dê duplo clique e arraste um OleDb Source:

Imagem

Selecione a opção “SQL Command”, e converta todos os campos varchar como NVARCHAR:

Imagem

Arraste um controle Flat File Destination, dê duplo click, selecione a opção ”delimitado” e clique em OK:

Imagem

Clique em “New”, selecione o diretório e o crie o arquivo com o nome desejado, selecione o code page 65001 (UTF-8):

Imagem

Clique em “columns” e selecione o caractere delimitador que preferir, no meu caso eu utilizo o ponto e virgula “;”:

Imagem

Execute o pacote, e confira com um editor de texto a codificação do arquivo, particularmente utilizo o Notepadd++:

Imagem

Pronto, você agora sabe como fazer um arquivo com a formatação UTF-8.

Ver o post original 2 mais palavras

Comandos SQL

Criando um Data Collector Set – Performance Monitor

Freccia's Blog

Olá pessoal,

Esse post é apenas para mostrar como importar o arquivo .xml gerado no PAL. Abra o Performance Monitor e navegue até a opção User Defined log abaixo, Data Collector Sets.

Ver o post original 80 mais palavras

Comandos SQL

PAL – Performance Analysis of Logs

Freccia's Blog

Olá pessoal,

Alguém aqui ja ouviu falar do Performance Analysis of Logs (PAL)? Para os que ainda não conhecem, o PAL é uma ferramenta que permite analisar Performance Counters de diversas tecnologias Microsoft. A principal ideia é que você possa criar um coletor de dados no Performance Monitor coletar estatísticas do seu ambiente e depois utilizando o PAL criar um relatório gráfico com todos os contadores analisados.

Ver o post original 404 mais palavras

Administração SQL Server, Comandos SQL, Consultoria em banco de dados

Comandos DBCC

Inside DBA's Life

Olá,

O SQL Server possui uma série de comandos chamados DBCC (Database Console Commands). Mais informações aqui (http://technet.microsoft.com/pt-br/library/ms188796.aspx)

Estes comandos são divididos em quatro categorias:

  • Manutenção (Maintenance)
  • Diversos (Miscellaneous)
  • Informação (Informational)
  • Validação (Validation)

Existem 30 comandos documentados. (Vide link da documentação oficial acima). Porém, existem muitos outros comandos DBCC não-documentados. (e obviamente não suportados).

Para poder visualizar todos os comandos DBCC é preciso habilitar um trace flag. Até o SQL Server 2005 você poderia utilizar o trace flag 2520 mas depois desta edição passou a valer o trace flag 2588, conforme explicado pelo Paul Randal (autor da alteração) neste post (https://www.sqlskills.com/blogs/paul/dbcc-writepage/).

Há um dos comandos DBCC que lista todos os outros: DBCC HELP. Nele você pode informar o nome do comando DBCC que você deseja visualizar, onde será informado os parâmetros utilizados pelo comando, ou informar o parâmetro ‘?’, para listar todos os comandos.

Para visualizar…

Ver o post original 458 mais palavras

Comandos SQL, Scripts, SQL Server

(TSQL) VALIDAR CPF

— Para testar depois de executar a função: github
SELECT dbo.Fun_ValidarCPF(‘29498505390’)

— Criando a função que Valida CPF

CREATE FUNCTION Fun_ValidarCPF(@CPF VARCHAR(11))
RETURNS CHAR(1)
AS
BEGIN
DECLARE @INDICE INT,
                    @SOMA INT,
                    @DIG1 INT,
                    @DIG2 INT,
                    @CPF_TEMP VARCHAR(11),
                    @DIGITOS_IGUAIS CHAR(1),
                    @RESULTADO CHAR(1)

SET @RESULTADO = ‘N’

/* Verificando se os dígitos são iguais 
A Principio CPF com todos o números iguais são Inválidos apesar de validar o Calculo do digito verificado
EX: O CPF 00000000000 é inválido, mas pelo calculo Validaria */

SET @CPF_TEMP = SUBSTRING(@CPF,1,1)

SET @INDICE = 1
SET @DIGITOS_IGUAIS = ‘S’

WHILE (@INDICE <= 11)
BEGIN
   IF SUBSTRING(@CPF,@INDICE,1) <> @CPF_TEMP
      SET @DIGITOS_IGUAIS = ‘N’
      SET @INDICE = @INDICE + 1
   END;

–Caso os digitos não sejão todos iguais Começo o calculo do dígitos
IF @DIGITOS_IGUAIS = ‘N’
BEGIN
   –Cálculo do 1º dígito
   SET @SOMA = 0  
   SET @INDICE = 1

   WHILE (@INDICE <= 9)
   BEGIN
      SET @Soma = @Soma + CONVERT(INT,SUBSTRING(@CPF,@INDICE,1)) * (11 – @INDICE);
      SET @INDICE = @INDICE + 1
   END

   SET @DIG1 = 11 – (@SOMA % 11)

   IF @DIG1 > 9
      SET @DIG1 = 0;

   — Cálculo do 2º dígito }
   SET @SOMA = 0
   SET @INDICE = 1

   WHILE (@INDICE <= 10)
   BEGIN
      SET @Soma = @Soma + CONVERT(INT,SUBSTRING(@CPF,@INDICE,1)) * (12 – @INDICE);
      SET @INDICE = @INDICE + 1
   END

   SET @DIG2 = 11 – (@SOMA % 11)

   IF @DIG2 > 9
      SET @DIG2 = 0;

— Validando
   IF (@DIG1 = SUBSTRING(@CPF,LEN(@CPF)-1,1)) AND (@DIG2 = SUBSTRING(@CPF,LEN(@CPF),1))
      SET @RESULTADO = ‘S’
   ELSE
      SET @RESULTADO = ‘N’
   END

   RETURN @RESULTADO
END

 

Vejam tb:
DÍGITOS VERIFICADORES

Como validar CPF e CNPJ no SQL Server

— Adaptado por: Alex Souza

Comandos SQL

Identificar o ponto exato de execução de um statement

Advaldo M. Moreira Junior

Esta procedure permite identificar a instrução exata que está sendo
executado por uma conexão através do SPID. Semelhante ao DBCC INPUTBUFFER, mostra toda a instrução e não apenas o nome da procedure. Muito boa
para ser usada em conjunto com a procedure sp_usrheadblocker.

Author Original: Narayana Vyas Kondreddi

Download sp_usrinputbuffer

Ver o post original

Comandos SQL

ColumnStore Index Vs Covering Index – O Melhor Índice para seu Dw!

Luan.Moreno a.k.a [SQL.Soul]

Introdução

O ColumnStore Index é um recurso que já foi abordado diversas vezes em meu blog – http://luanmorenodba.wordpress.com/2012/03/16/entenda-o-columnstore-indexes/ e http://luanmorenodba.wordpress.com/2012/06/05/desvendando-o-columnstore-index/. Esse recurso está totalmente ligado a quantidade de registros que estão presentes na tabela de Fato ou seja, na versão atual do SQL Server temos o mesmo totalmente voltado para DW’s, com isso trabalhamos com ele em gigantescas tabelas para melhorar a performance em consultas contendo agregações, sumarizações, filtros, lembrando que o mesmo está desenhado para ser melhor aplicado em Star-Joins (Esquema Estrela) na modelagem de ambientes OLAP.

Porém nesse anúncio http://www.sqlperformance.com/2013/04/sql-performance/next-ver-announcement temos que o SQL Server 2012 R3 terá o ColumnStore Index como Primary Key, com isso teremos muitas mudanças pode ter certeza e veremos todas elas em detalhes aqui.

O ColumnStore Index

O Intuito do ColumnStore Index é promover um maior processamento de consultas em Data Warehouse’s. A grande vantagem é que, os dados agora são armazenados…

Ver o post original 1.777 mais palavras