23 junho, 2014

Oracle - Lista Usuarios Permissão Diretorio Mapeado



-- SABER QUAL USUÁRIO TEM PERMISSÃO NO DIRETÓRIO MAPEADO
SELECT grantor, grantee, table_schema, table_name, privilege FROM all_tab_privs where table_name='NOME_DIRETORIO_MAPEADO';


fonte: http://psoug.org/reference/directories.html

20 junho, 2014

Oracle - Listar / Apagar Diretórios Mapeados


-- LISTAR DIRETÓRIO MAPEADO NO ORACLE
select * from dba_directories;
--Apagar diretorio mapeado
DROP DIRECTORY nome_diretorio;

28 abril, 2014

MSSQL - Ver a consulta que está sendo executado pelo pid

--MSSQL - Ver a consulta que está sendo executado pelo pid
--Consulta query pelo pid

declare
   @spid int
,   @stmt_start int
,   @stmt_end int
,   @sql_handle binary(20)

set @spid = 1 -- Valor do pid

select  top 1
   @sql_handle = sql_handle
,   @stmt_start = case stmt_start when 0 then 0 else stmt_start / 2 end
,   @stmt_end = case stmt_end when -1 then -1 else stmt_end / 2 end
from    master.dbo.sysprocesses
where   spid = @spid
order by ecid

SELECT
   SUBSTRING( text,
    COALESCE(NULLIF(@stmt_start, 0), 1),
    CASE @stmt_end
    WHEN -1
    THEN DATALENGTH(text)
    ELSE
    (@stmt_end - @stmt_start)
    END
    )
FROM ::fn_get_sql(@sql_handle)

Fonte: http://stackoverflow.com/questions/941763/list-the-queries-running-on-sql-server

24 abril, 2014

MS SQL - Consultar pid que esta mais tempo rodando

--Consultar pid que esta mais tempo rodando

select
   p.spid
,   right(convert(varchar,
           dateadd(ms, datediff(ms, P.last_batch, getdate()), '1900-01-01'),
           121), 12) as 'batch_duration'
,   P.program_name
,   P.hostname
,   P.loginame
from master.dbo.sysprocesses P
where P.spid > 50
and      P.status not in ('background', 'sleeping')
and      P.cmd not in ('AWAITING COMMAND'
                   ,'MIRROR HANDLER'
                   ,'LAZY WRITER'
                   ,'CHECKPOINT SLEEP'
                   ,'RA MANAGER')
order by batch_duration desc


fonte: http://stackoverflow.com/questions/941763/list-the-queries-running-on-sql-server

07 abril, 2014

MS SQL - Dropar todas as conexões abertas

--dropar todas as conexões abertas
ALTER DATABASE dbName SET SINGLE_USER WITH ROLLBACK IMMEDIATE

31 março, 2014

MS SQL - listar todas tabelas

--Lista todas as tabelas dentro do banco conectado.

SELECT name, crdate
FROM sysobjects
WHERE xtype='U' order by name;

24 março, 2014

Microsoft SQL Server - Recriar LDF - erro 1813

Esse é um compilado de vários sites que peguei, as fontes originais não tenho mais. Desculpa aos que me ajudaram.

DBCC REBUILD_LOG

MS SQL - Recriar LDF - erro 1813
1 - Criar um banco novo com o mesmo nome do antigo. Prestar atenção no nome físico dos arquivos, devem ser iguais aos antigos.


2 - Parar o serviço do MS SQL.


3 - Substituir o arquivo mdf novo pelo antigo.


4 - Eliminar o novo arquivo ldf.


5 - Iniciar o serviço do MS SQL.


O banco irá subir em modo suspeito, conectar na base master como administrador (sa) e executar o scrip abaixo, substituir o nome do banco nos locais em destaque obecendo as aspas.


EXEC sp_configure 'allow updates', 1
RECONFIGURE WITH OVERRIDE
GO
BEGIN TRAN
UPDATE master..sysdatabases SET status = status | 32768
WHERE name = 'Database'
IF (@@rowcount = 1)
BEGIN
    COMMIT TRAN
    RAISERROR ('You are in emergency sql mode', 0,1) WITH LOG
END
ELSE
BEGIN
    ROLLBACK
    RAISERROR ('Unable to set sql into emergency mode',0,1) WITH LOG
END
GO
EXEC sp_configure 'allow updates', 0
RECONFIGURE WITH OVERRIDE
GO


6 - Reiniciar o serviço do MS SQL.


7 - Executar o comando abaixo na base master como administrador (sa), substituir o nome do banco e o caminho onde deve ficar o log.


--restart sql server at this point
DBCC REBUILD_LOG ('Database', 'c:\sqldata\database.ldf')
--perform DBCC CHECKDB at this point.  If problems exist you may have to DTS good data out and rebuild database
--can also try REPAIR clauses to checkdb
ALTER DATABASE database SET MULTI_USER