Postagens

Mostrando postagens de 2012

SQL SERVER - Abrindo arquivo Txt/Csv com OpenRowSet

Abrindo arquivos txt e csv via openrowset

A query abaixo pode ser utilizada para txt e csv. A unica coisa que tem que ser modificada é o nome do arquivo

SELECT * FROM OPENROWSET('MSDASQL', 'Driver={Microsoft Text Driver (*.txt; *.csv)};
DEFAULTDIR=Caminho_Do_Arquivo;Extensions=CSV;','SELECT * FROM [nome_do_arquivo_com_a_extensão]')

Nome do Arquivo: Atividades.txt
Local do Arquivo:C:\Temp

SELECT * FROM OPENROWSET('MSDASQL', 'Driver={Microsoft Text Driver (*.txt; *.csv)};
DEFAULTDIR=C:\Temp;Extensions=CSV;','SELECT * FROM [atividades.csv]')

Versão do Sql Server: 2008 R2
As querys devem funcionar nas versões 2000 e 2005 do Sql Server.

Deixe sua duvida e/ou comentário abaixo.

SQL SERVER - Verificando jobs com falha

/*
Esta query é muito util para quem precisa realizar
algum tipo de automatização para verificar os jobs com falha.
*/

USE MSDB

SELECT
--Pega a ultima vez que job foi executado com falha
MAX(CONVERT(DATETIME, RTRIM(run_date)) +
(run_time * 9 + run_time % 10000 * 6 + run_time % 100 * 10) / 216e4) AS DATA_JOB,
--Nome do job
STEP_NAME
--Id do job
,JOB_ID
--Envia o resultado para uma tabela temporária
INTO #TB_ID_JOB
                          FROM msdb..sysjobhistory A
WHERE STEP_NAME <> '(Job outcome)'
--Rotina com falha
AND RUN_STATUS = 0

GROUP BY STEP_NAME,JOB_ID ORDER BY STEP_NAME

--Verifcando resultados
SELECT * FROM #TB_ID_JOB
--Deleta a tabela temporaria
DROP TABLE #TB_ID_JOB

Versão do Sql Server: 2008 R2 As querys devem funcionar nas versões 2000 e 2005 do Sql Server.
Deixe sua duvida e/ou comentário abaixo.

SQL SERVER - Manuseando tabelas

--ADICIONANDO UMA COLUNA
ALTER TABLE table_name
ADD DIRETORIA VARCHAR(5)

--ADICIONANDO UMA COLUNA AUTONUMERAÇÃO
ALTER TABLE #table_name
ADD [ID_REG] [int] IDENTITY (1, 1) NOT NULL

--RENOMEANDO UMA TABELA
EXECsp_rename
TABLE_NAME, --Nome atual da tabela
TABLE_NAME_NEW --Novo nome da tabela

--MODIFICANDO O TIPO DA COLUNA
ALTER TABLE table_name
ALTER COLUMN FIELD_NAME VARCHAR(150) NULL

--EXCLUINDO UMA COLUNA
ALTER TABLE supplier
DROP COLUMN supplier_name;

--CRIANDO INDEX NUMA TABELA TEMPORÁRIA
CREATE INDEX IDX_CUSTOMER_LAST_NAME
ON #TB_TABLE(NUM_OS)

--INSERIR RESULTADO DA PROC NUMA TEMP
--CRIE A TABELA TEMPORARIA COM TODAS AS COLUNAS QUE A PROC RETORNA
INSERT INTO #TB_TEMP
EXEC PROC PARÂMETROS

Versão do Sql Server: 2008 R2
As querys devem funcionar nas versões 2000 e 2005 do Sql Server.

Deixe sua duvida e/ou comentário abaixo.

SQL SERVER - Verificando o tamanho das tabelas

/*
A query abaixo pode ser usada para verificar o tamanho das tabelas.
Muito util para quem tem espaço restrito no servidor ou esta tendo problemas de lentidão.
Este query só verifica as tabelas que um unio banco de dados por vez.
*/

USE DATA_BASE --DATA_BASE = Banco de dados a ser verificado

create table #temp
            ([name] varchar(1000),
            [rows] int,
            [reserved] varchar(1000),
            [data] varchar(1000),
            [index_size] varchar(1000),
            [unsed] varchar(1000))

insert into #temp
EXECsp_MSforeachTable @command1="print '>>>Tabela: ?' ",
@command2="sp_spaceused '?' "

select * from #temp order by [rows]

drop table #temp

Logo logo postarei uma query melhorada.

Versão do Sql Server: 2008 R2

Deixe seu comentário abaixo.