Operating system error 5 (Acess is denied) - Erro de permissão

Ĉ¿

O erro abaixo apresenta quando você manda o serviço do MSSQL gerar algum arquivo, como por exemplo um backup em uma pasta sem permissão.



Para solucionar o problema, uma opção e verificar o usuário que está sendo utilizado no serviço e liberar permissão no diretório.

Ou altere para usuário do sistema local, conforme imagem abaixo. 




Para encontrar os serviços, vá no servidor onde está instalado o MSSQL e execute o comando services.msc.


Att.

Banco de dados corrompido MSSQL 2014

Ĉ¿


Colocar a base em modo EMERGENCY:
ALTER DATABASE nova_base SET EMERGENCY;

Coloca-la em modo "Single-User":
sp_dboption 'nova_base','single_user', true

Reparar o arquivo .ldf:
DBCC CHECKDB (nova_base, REPAIR_ALLOW_DATA_LOSS) WITH NO_INFOMSGS;

Voltar a base para "Multi-User":
ALTER DATABASE nova_base SET MULTI_USER WITH ROLLBACK IMMEDIATE



Créditos: http://forum.imasters.com.br/topic/457332-resolvidorecuperacao-de-base-corrompida/

TRIGGER AFTER INSERT SQL SERVER

Ĉ¿

Trigger para ser executada após a conlusão em uma tabela.

CREATE TRIGGER T_NOME ON TABELA_INSERIDA
AFTER INSERT
AS
BEGIN
--COLOQUE O COMANDO QUE DEEJA FAZER AQUI
EXEC CARGA_SOLICITICAO --AQUI ESTOU CHAMANDO OUTRA PROC DENTRO DA TRIGGER
END
GO


Verificar as trigger's do que existe http://desenvolvendorespostas.blogspot.com.br/2016/04/query-para-listar-todas-as-triggers.html



Créditos: http://www.devmedia.com.br/triggers-no-sql-server-teoria-e-pratica-aplicada-em-uma-situacao-real/28194


Comandos CMD .BAT

Ĉ¿

Comandos:

  • ECHO: Escreve na tela
  • ECHO OFF: Oculta informações e o código executado pelo sistema.
  • ECHO ON: Exibe informações e o código executado pelo sistema.
  • ECHO.: Salta uma linha.
  • @ECHO: Faz com que o prompt fique oculto durante toda execução.
  • SET: Cria variável que pode ser referenciada através de %variável%.
  • CLS: Limpa o console.
  • IF e ELSE: Estruturas condicionais.
  • GOTO: Avança até determinado trecho do lote.
  • FOR: Estrutura de repetição.
  • PAUSE: Faz uma pausa, e exibe: “Pressione qualquer tecla para continuar.”
  • REM: Utilizado para fazer comentários.
  • START: Inicializa um aplicativo ou programa.
  • MOVE: Move (recorta) um arquivo de um diretório para outro.


Leia mais em: Introdução a arquivos .BAT e programação em lotes http://www.devmedia.com.br/introducao-a-arquivos-bat-e-programacao-em-lotes/24800#ixzz46NSYjuO7

Encontrar TABELA através do nome da COLUNA

Ĉ¿


Este comando abaixo irá lista todas as tabelas

SELECT
T.name AS Tabela,
C.name AS Coluna
FROM
sys.sysobjects    AS T (NOLOCK)
INNER JOIN sys.all_columns AS C (NOLOCK) ON T.id = C.object_id AND T.XTYPE = 'U'
WHERE
C.NAME LIKE '%NOME_COLUNA%'
ORDER BY
T.name ASC



Créditos: https://social.msdn.microsoft.com/Forums/pt-BR/4426106f-a22c-456f-b463-67620bfda1ef/como-procurar-pelo-nome-de-um-campo-em-todas-as-tabelas-de-um-banco-?forum=520

Exportar seleção do Qlikview

Ĉ¿

Dentro do qlikview, clique com botão direito do mouse Novo Objeto de pasta -> Botão, conforme imagem abaixo.



Acesse a aba ações, clique em incluir, Tipo de Ação Externo, Ação Executar Macro, conforme imagem abaixo.



Especifique o nome da Macro e clique em Editar Módulo



agora dentro do código da sua macro coloque o script abaixo

para ter acesso a função fncSplit, veja este post  http://desenvolvendorespostas.blogspot.com.br/2016/04/split-de-texto-no-mssql.html
sub exportar
   'SETA QUAL INFORMAÇÃO SERÁ RESGATADA
       set cs = ActiveDocument.GetSheetObject("CH113")
       'EXPORTA DADOS 
       cs.ServerSideExportEx "\\Srvpbd\selecoes_bi\" + replace(ActiveDocument.GetLayout.AuthenticatedUser, "\", "_") + "_SELECAO_BI.txt" , ";" , 1
end sub
neste exemplo, os dados serão exportados para \\Srvpbd\selecoes_bi\(USUARIO_LOGADO)__SELECAO_BI.txt


Caso queira importar esses dados para o SQL SERVER, veja neste post http://desenvolvendorespostas.blogspot.com.br/2016/04/importando-dados-de-txt-com-bulk-no.html


Caso deseje consultoria, entre em contato conosco através do formulário lateral ou através do e-mail contato@ltecno.com.br

Att.





Importando dados de txt com BULK no MSSQL

Ĉ¿

Lembrando que o usuário do serviço do MSSQL, precisar ter permissão no diretório onde está localizado o arquivo txt.

Se mesmo assim ocorrer na hora de excluir o arquivo, veja este post http://desenvolvendorespostas.blogspot.com.br/2016/04/exec-masterxpcmdshell-del-arquivo.html

para ter acesso a função fncSplit, veja este post  http://desenvolvendorespostas.blogspot.com.br/2016/04/split-de-texto-no-mssql.html

USE [BANCO]
GO
/****** Object:  StoredProcedure [dbo].[PRC_CARGA_SELECAO_BI]    Script Date: 15/04/2016 14:05:09 ******/
SET ANSI_NULLS ON
GO
SET QUOTED_IDENTIFIER ON
GO
ALTER PROCEDURE [dbo].[PRC_CARGA_SELECAO_BI] AS
SET XACT_ABORT ON
BEGIN TRY
 BEGIN TRAN
DECLARE
@EXIST int
,@DOMINIO VARCHAR(200)
,@USUARIO VARCHAR(200)
,@NAME VARCHAR(MAX)
,@ARQUIVO VARCHAR(MAX)
,@SQL VARCHAR(2000)
--cria tabela temporária
CREATE  TABLE #FileList(Name varchar(200), depth numeric, IsFile numeric)
--busca arquivos da tabela da pasta e grava na tabela
INSERT INTO #FileList exec master.dbo.xp_dirtree N'\\Srvdhtbd\selecoes_bi\', 1, 1
--verifica se o arquivo desejado existe e grava na variavél
select TOP 1 @EXIST =  files.IsFile, @NAME = Name from #filelist files
--verifica se arquivo existe
IF @EXIST = 1
BEGIN
SET @DOMINIO = master.dbo.fncSplit(@NAME, '_', 1)
SET @USUARIO = master.dbo.fncSplit(@NAME, '_', 2)
--cria tabela dos protocolos selecionados
CREATE TABLE #SELECIONADOS (SOL_INT_COD int)
SET @ARQUIVO = 'S:\SELECOES_BI\'+@DOMINIO+'_'+@USUARIO+'_SELECAO_GIS_pronto.txt'
--importa txt e insere na tabela
SET @SQL = 'BULK INSERT #SELECIONADOS FROM '''+@ARQUIVO+' '' WITH( FIRSTROW = 2)'
EXEC(@SQL)
--apaga arquivo da pasta
 SET @SQL = 'EXEC MASTER..XP_CMDSHELL ''del '+@ARQUIVO+''''
 EXEC(@SQL)
--APAGA DADOS DO USUÁRIO
DELETE FROM MV_SELECAO_BI  WHERE DOMINIO = @DOMINIO AND USUARIO = @USUARIO
--INSERE DADOS MV [dbo].[MV_SELECAO_BI]
INSERT INTO [dbo].[MV_SELECAO_BI]
   ([OBJECTID]
   ,[SOL_INT_COD]
   ,[SOL_BAIRRO]
   ,[SOL_ENDERECO]
   ,[SOL_REGIAO]
   ,[SHAPE]
   ,[SOL_DT_CRIACAO]
   ,[SOL_DT_ULT_RESP]
   ,[ASSU_STR_DES]
   ,[ASS_STR_DES]
   ,[SUB_STR_DES]
   ,[ORG_STR_DES]
   ,[UNI_STR_DES]
   ,[GRU_INT_COD]
   ,[GRU_STR_DES]
   ,[SOL_STR_PEN]
   ,[LOG_STR_TP]
   ,[LOG_STR_NME]
   ,[LOG_INT_NUM]
   ,[LOG_STR_REG]
   ,[LGO_STR_BAI]
   ,[LGO_STR_CID]
   ,[LOG_STR_EST]
   ,[LOG_INT_CEP]
   ,[SOL_STR_TP]
   ,[SOL_STR_SIT]
   ,[SOL_STR_PRAZO]
   ,[SOL_STR_LIDO]
   ,[DOMINIO]
   ,[USUARIO])
(SELECT
   [OBJECTID]
  ,SOLICITACAO.[SOL_INT_COD]
  ,[SOL_BAIRRO]
  ,[SOL_ENDERECO]
  ,[SOL_REGIAO]
  ,[SHAPE]
  ,[SOL_DT_CRIACAO]
  ,[SOL_DT_ULT_RESP]
  ,[ASSU_STR_DES]
  ,[ASS_STR_DES]
  ,[SUB_STR_DES]
  ,[ORG_STR_DES]
  ,[UNI_STR_DES]
  ,[GRU_INT_COD]
  ,[GRU_STR_DES]
  ,[SOL_STR_PEN]
  ,[LOG_STR_TP]
  ,[LOG_STR_NME]
  ,[LOG_INT_NUM]
  ,[LOG_STR_REG]
  ,[LGO_STR_BAI]
  ,[LGO_STR_CID]
  ,[LOG_STR_EST]
  ,[LOG_INT_CEP]
  ,[SOL_STR_TP]
  ,[SOL_STR_SIT]
  ,[SOL_STR_PRAZO]
  ,[SOL_STR_LIDO]
,@DOMINIO as DOMINIO
,@USUARIO AS USUARIO
FROM
[SJCAMPOS].[dbo].[MV_SOLICITACAO] SOLICITACAO
JOIN
#SELECIONADOS SEL ON SOLICITACAO.SOL_INT_COD = SEL.SOL_INT_COD)
END
 COMMIT TRAN
END TRY
BEGIN CATCH
  DECLARE @erro int
  SET @erro = @@error   -- Variável @err pega o conteúdo de @@error
 ROLLBACK TRAN
   --INSERT INTO [SJCAMPOS].[dbo].[TB_LOG_ERRO_PROC] VALUES ('[dbo].[PRC_CARGA_SELECAO_BI]', @erro, GETDATE(),ERROR_MESSAGE())
END CATCH




Split de texto no MSSQL

Ĉ¿


Utilize está função para separar textos.

USE [master]
GO
/****** Object:  UserDefinedFunction [dbo].[fncSplit]    Script Date: 15/04/2016 14:10:57 ******/
SET ANSI_NULLS ON
GO
SET QUOTED_IDENTIFIER ON
GO
ALTER FUNCTION [dbo].[fncSplit] ( @String varchar(8000), @Separador varchar(8000), @PosBusca int )
RETURNS varchar(8000)
AS BEGIN

DECLARE @Index int, @Max int, @Retorno varchar(8000)

DECLARE @Partes as TABLE ( Id_Parte int identity(1,1), Texto varchar(8000) )

SET @Index = charIndex(@Separador,@String)

WHILE (@Index > 0) BEGIN
INSERT INTO @Partes SELECT SubString(@String,1,@Index-1)
SET @String = Rtrim(Ltrim(SubString(@String,@Index+Len(@Separador),Len(@String))))
SET @Index = charIndex(@Separador,@String)
END

IF (@String != '') INSERT INTO @Partes SELECT @String

SELECT @Max = Count(*) FROM @Partes

IF (@PosBusca = 0) SET @Retorno = Cast(@Max as varchar(5))
IF (@PosBusca < 0) SET @PosBusca = @Max + 1 + @PosBusca
IF (@PosBusca > 0) SELECT @Retorno = Texto FROM @Partes WHERE Id_Parte = @PosBusca

RETURN Rtrim(Ltrim(@Retorno))

END
Exemplo de uso
DECLARE @TEXTO_ORIGEM = 'SERVIDOR_CLAUDIO'
SELECT master.dbo.fncSplit(@TEXTO_ORIGEM , '_', 1)
--RESULTADO SERÁ: SERVIDOR
SELECT master.dbo.fncSplit(@TEXTO_ORIGEM , '_', 2)
--RESULTADO SERÁ: CLAUDIO







Fonte:  http://www.dirceuresende.com/blog/quebrando-strings-em-sub-strings-utilizando-separador-no-sql-server/

EXEC MASTER..XP_CMDSHELL 'del arquivo'

Ĉ¿

Caso apresente o erro

SQL Server blocked access to procedure 'sys.xp_cmdshell' of component 'xp_cmdshell' because this component is turned off as part of the security configuration for this server. A system administrator can enable the use of 'xp_cmdshell' by using sp_configure. For more information about enabling 'xp_cmdshell', search for 'xp_cmdshell' in SQL Server Books Online.

EXEC MASTER..XP_CMDSHELL 'del Caminho_arquivo'

Execute este comando
-- To allow advanced options to be changed.
EXEC sp_configure 'show advanced options', 1
GO
-- To update the currently configured value for advanced options.
RECONFIGURE
GO
-- To enable the feature.
EXEC sp_configure 'xp_cmdshell', 1
GO
-- To update the currently configured value for this feature.
RECONFIGURE
GO


Query para listar todas as TRIGGERS MSSQL

Ĉ¿

SELECT
     sysobjects.name AS trigger_name
    ,USER_NAME(sysobjects.uid) AS trigger_owner
    ,s.name AS table_schema
    ,OBJECT_NAME(parent_obj) AS table_name
    ,OBJECTPROPERTY( id, 'ExecIsUpdateTrigger') AS isupdate
    ,OBJECTPROPERTY( id, 'ExecIsDeleteTrigger') AS isdelete
    ,OBJECTPROPERTY( id, 'ExecIsInsertTrigger') AS isinsert
    ,OBJECTPROPERTY( id, 'ExecIsAfterTrigger') AS isafter
    ,OBJECTPROPERTY( id, 'ExecIsInsteadOfTrigger') AS isinsteadof
    ,OBJECTPROPERTY(id, 'ExecIsTriggerDisabled') AS [disabled]
FROM sysobjects

INNER JOIN sysusers
    ON sysobjects.uid = sysusers.uid

INNER JOIN sys.tables t
    ON sysobjects.parent_obj = t.object_id

INNER JOIN sys.schemas s
    ON t.schema_id = s.schema_id

WHERE sysobjects.type = 'TR'


Caso queira excluir a TRIGGER basta fazer o seguinte

DROP TRIGGER trigger_name

Se quiser saber seu conteudo, rode o comando abaixo

sp_helptext trigger_name

Obs.: trigger_name é o nome da trigger que retornou na qry.










Fonte: http://stackoverflow.com/questions/4305691/need-to-list-all-triggers-in-sql-server-database-with-table-name-and-tables-sch

LinkedServer MSSQL - ORACLE Erro ORA-01861

Ĉ¿
Caso esteja tentando consultar uma view, do Oracle através do linked server e apresenta algo parecido com o erro abaixo.

OLE DB provider "OraOLEDB.Oracle" for linked server "EDU" returned message "ORA-01861: o literal não corresponde à string de formato".
OLE DB provider "OraOLEDB.Oracle" for linked server "EDU" returned message "ORA-01861: o literal não corresponde à string de formato".

Crie uma conexão ODBC no servidor do banco onde está usando o linkedServer. exemplo: NOME_FONTE_DADOS

Agora quando criar o servidor vinculado, coloque o Provedor Microsoft OLE Provider for ODBC Drivers




Especifique o usuário e senha de conexão.


Ative RPC e RPC OUT em Opções do Servidor









SQL's de apoio do Oracle

Ĉ¿

Alguns comando citados por , que ajuda no dia a dia

Listagem 1: VARIÁVEIS DE AMBIENTE
CONN SYSTEM @INSTANCIAS POOL
mailto:SYSTEM@INSTANCIAS POOL "> SYSTEM@INSTANCIAS POOL>
C:\LOGSSET ECHO ONSET TIMING ONSET LINES 1000SET SQLBL ON
ALTER SESSION SET NLS_DATE_FORMAT = ‘DD/MM/YYYY HH24:MI:SS’;
SELECT SYSDATE FROM DUAL;
SHOW USER
Listagem 2: VERIFICA INSTANCIA
SELECT * FROM GLOBAL_NAME;
DUMP
Listagem 3: VERIFICAR QUAIS SÃO OS USUÁRIOS DO SISTEMA
SELECT USERNAME FROM DBA_USERS WHERE USERNAME LIKE ‘USER%‘;
Listagem 4: CONTA OBJETOS DO SCHEMA
SELECT COUNT(OBJECT_TYPE), OBJECT_TYPEFROM DBA_OBJECTS
WHERE OWNER LIKE ‘USER%‘
GROUP BY OBJECT_TYPE;
SPOOL OFF
Listagem 5: NO TERMINAL LINUX
$export ORACLE_SID=INSTANCE
$exp system@INSTANCE BUFFER=1000000 FILE=EXP_INSTANCE_USER_DATA.DMP LOG=EXP_INSTANCE_USER_DATA.LOG OWNER=USUÁRIOS LISTADOS CONSISTENT=Y
gzip EXP_INSTANCE_USER_DATA*
Listagem 6: VERIFICAR SE TEM ALGUM USUÁRIO USANDO O SISTEMA
SELECT SADDR, SID, USERNAME, LOGON_TIME, STATUS, OSUSER, MACHINE, PROGRAM
FROM V$SESSION WHERE USERNAME LIKE ‘USER%‘;
Listagem 7: VERIFICAR QUAIS SÃO OS USUÁRIOS DO SISTEMA
SELECT USERNAME FROM DBA_USERS WHERE USERNAME LIKE ‘USER%‘;
Listagem 8: VERIFICA ATRIBUTOS DO USUÁRIO
SELECT * FROM DBA_USERS WHERE USERNAME LIKE ‘USER%‘;
SELECT * FROM DBA_TAB_PRIVS WHERE GRANTOR LIKE ‘USER%‘;
Listagem 9: VERIFICA PREVILEGIOS DO USUÁRIO
SELECT * FROM DBA_SYS_PRIVS WHERE GRANTEE LIKE ‘USER%‘;
SELECT * FROM DBA_ROLE_PRIVS WHERE GRANTEE LIKE ‘USER%‘;[/
Listagem 10: CONTA OBJETOS DO SCHEMA
SELECT COUNT(OBJECT_TYPE), OBJECT_TYPEFROM DBA_OBJECTSWHERE OWNER LIKE LIKE ‘USER%‘GROUP BY OBJECT_TYPE;
Listagem 11: DESATIVA USUÁRIO
ALTER USER USER ACCOUNT LOCK;
ALTER USER USER PASSWORD EXPIRE;
Listagem 12: VERIFICA STATUS DA CONTA
SELECT USERNAME, ACCOUNT_STATUS FROM DBA_USERS WHERE USERNAME LIKE ‘USER%’;
SPOOL OFF
Listagem 13: VERIFICAR SE TEM ALGUM USUÁRIO USANDO O SISTEMA
SELECT SADDR, SID, USERNAME, LOGON_TIME, STATUS,OSUSER, MACHINE, PROGRAM FROM V$SESSION;
Listagem 14: VERIFICAR QUAIS SÃO OS USUÁRIOS DO SISTEMA
SELECT USERNAME FROM DBA_USERS ;
Listagem 15: VERIFICA ATRIBUTOS DO USUÁRIO
SELECT * FROM DBA_USERS;
SELECT * FROM DBA_TAB_PRIVS;
Listagem 16: VERIFICA PREVILEGIOS DO USUÁRIO
SELECT * FROM DBA_SYS_PRIVS;
Listagem 17: VERIFICA PREVILEGIOS DE ROLE
SELECT * FROM DBA_ROLE_PRIVS;
Listagem 18: CONTA OBJETOS DO SCHEMA
SELECT COUNT(OBJECT_TYPE), OBJECT_TYPE FROM DBA_OBJECTSGROUP BY OBJECT_TYPE;
Listagem 19: NO TERMINAL
EXPORT ORACLE_SID=INSTANCE
SQLPLUS / AS SYSDBA
SQL> SHUTDOWN IMMEDIATE;
]
Listagem 20: VERIFICAR QUAIS SÃO OS USUÁRIOS DO SISTEMA
SELECT USERNAME FROM DBA_USERS WHERE USERNAME LIKE ‘USER%‘;
Listagem 21: VERIFICA SE O OBJETOS JÁ EXISTE
SELECT OWNER, OBJECT_NAME, OBJECT_TYPE,CREATED, LAST_DDL_TIME, STATUS FROM ALL_OBJECTS
WHERE OWNER LIKE ‘USER%‘ AND OBJECT_NAME = ‘OBJECT_NAME’;
Listagem 22: CONTA OBJETOS DO SCHEMA
SELECT COUNT(OBJECT_TYPE), OBJECT_TYPE FROM DBA_OBJECTS
WHERE OWNER LIKE ‘USER%‘
GROUP BY OBJECT_TYPE;
Listagem 23: CONTA OBJETOS INVALIDOS
SELECT COUNT (*) FROM DBA_OBJECTS WHERE STATUS=’INVALID’AND OWNER LIKE ‘USER%‘;
Listagem 24: VERIFICA OBJETOS INVALIDOS
SELECT OBJECT_TYPE, OBJECT_NAME, STATUS FROM DBA_OBJECTS
WHERE STATUS=’INVALID’ AND OWNER LIKE ‘USER%‘;
Listagem 25: EXECUTA O SCRIPT
CONN USER@INSTANCE
@C:\CAMINHO\SCRIPT.SQL
CONN SYSTEM@INSTANCE
mailto:SYSTEM@INSTANCE">SYSTEM@INSTANCE
Listagem26: VERIFICA SE O OBJETOS JÁ EXISTE
SELECT OWNER, OBJECT_NAME, OBJECT_TYPE,CREATED, LAST_DDL_TIME, STATUS
FROM ALL_OBJECTS
WHERE OWNER LIKE ‘USER%‘ AND OBJECT_NAME = ‘OBJECT_NAME’;
Listagem 27: CONTA OBJETOS DO SCHEMA
SELECT COUNT(OBJECT_TYPE), OBJECT_TYPE FROM DBA_OBJECTS
WHERE OWNER LIKE ‘USER%‘ GROUP BY OBJECT_TYPE;
Listagem 28: CONTA OBJETOS INVALIDOS
SELECT COUNT (*)FROM DBA_OBJECTS WHERE STATUS=’INVALID’ AND OWNER LIKE ‘USER%‘;
Listagem 29: VERIFICA OBJETOS INVALIDOS
SELECT OBJECT_TYPE, OBJECT_NAME, STATUS FROM DBA_OBJECTS WHERE STATUS=’INVALID’AND OWNER LIKE ‘USER%‘;
Listagem 30: GERA SCRIPTS DOS OBJETOS INVALIDOS
SELECT ‘ALTER’’ ‘ OBJECT_TYPE ’ ‘OWNER ’.' OBJECT_NAME ‘ COMPILE;’ FROM DBA_OBJECTS
WHERE STATUS=’INVALID’ AND OWNER LIKE ‘USER%‘;
Listagem 31: VERIFICA OBJETOS INVALIDOS
SELECT OBJECT_NAME, OBJECT_TYPE, STATUSFROM DBA_OBJECTS
WHERE STATUS=’INVALID’ AND OWNER LIKE ‘USER%‘;SPOOL OFF
Listagem 32: - VERIFICAR SE EXISTE ESSE USUÁRIO NO SISTEMA
SELECT USERNAME FROM DBA_USERSWHERE USERNAME LIKE ‘USER%‘;
Listagem 33: CRIAR A TABLESPACE PARA O USUÁRIO
CREATE TABLESPACE INSTANCE_SCHEMA_01
DATAFILE ‘CAMINHO/INSTANCE_SCHEMA.DBF’
SIZE 64M AUTOEXTEND ON NEXT
1M SEGMENT SPACE MANAGEMENT AUTO;
Listagem 33: VERIFICA SE TEM ALGUMA ROLE PARA ESSE USUÁRIO
SELECT * FROM DBA_ROLES WHERE ROLE LIKE ‘%USER%‘;
SELECT * FROM DBA_SYS_PRIVS WHERE LIKE ‘%USER%‘;
SELECT * FROM DBA_TAB_PRIVS WHERE LIKE ‘%USER%‘;
Listagem 34: CRIAR O USUÁRIO
CREATE USER USERIDENTIFIED BY ‘SENHA‘DEFAULT TABLESPACE INSTANCE_SCHEMA_01TEMPORARY TABLESPACE TEMP;
Listagem 34: APLICA GRANT
GRANT RESOURCE, CONNECT TO USER;
Listagem 35: VERIFICAR SE O USUÁRIO FOI CRIADO
SELECT * FROM DBA_USERSWHERE USERNAME LIKE ‘USER%‘;
Listagem 36: VERIFICA ROLES DO USUARIO CRIADO
SELECT * FROM DBA_SYS_PRIVS WHERE GRANTEE LIKE ‘USER%‘;
SELECT * FROM DBA_ROLE_PRIVS WHERE GRANTEE LIKE ‘USER%‘;
Listagem 37: VERIFICAR OS USUÁRIOS DO SISTEMA
SELECT * FROM DBA_USERS WHERE USERNAME LIKE ‘USER%‘;
Listagem 38: ALTERA A SENHA
ALTER USER USER IDENTIFIED BY ‘SENHA‘;
Listagem 39: VERIFICAR OS USUÁRIOS DO SISTEMA
SELECT * FROM DBA_USERS WHERE USERNAME LIKE ‘USER%‘;
SPOOL OFF


Leia mais em: SQLs mais usados no Oracle http://www.devmedia.com.br/sqls-mais-usados-no-oracle/12817#ixzz45cQZwcoW

Permissão ao usuário em apenas uma tabela MSSQL

Ĉ¿

Caso precise liberar permissão para usuários em apenas um objeto do ser banco de dados, exemplo uma tabela.

Existe N formas, mas cito uma simples abaixo.

Primeiro vá em Segurança -> Logons e crie seu usuário.

No meu caso utilizei a autenticação do SQL Server.





Agora em mapeamento do usuário, selecione o banco de dados que existe a tabela e clique em OK



Agora acesse o banco de dados, nova consulta e execute o comando

grant select on MV_INSCRITOS to educacao


Conforme exemplo acima, objeto é oque deseja liberar o acesso, e o usuário para qual deseja.

grant select on OBJETO to USUARIO

Caso queira remover o acesso, faça o seguinte comando

revoke all on OBJETO to USUARIO

Att.





Fonte: http://www.linhadecodigo.com.br/artigo/1644/trabalhando-com-usuario-e-permissoes-no-sql-server.aspx

SQL Server: Como listar e encerrar as queries que estão sendo executadas

Ĉ¿

O comando abaixo lista todas as queries em execução

SELECT      sqltext.TEXT,
            req.session_id,
            req.status,
            req.command,
            req.cpu_time,
            req.total_elapsed_time
FROM        sys.dm_exec_requests req
CROSS APPLY sys.dm_exec_sql_text(sql_handle) 
AS          sqltext

Caso precise encerrar algum processo bastar verificar o 
session_id e executar o comando abaixo
KILL [session_id]



Fonte:avila.net.brhttps://avila.net.br/2013/11/25/sql_server_como_listar_e_encerrar_as_queries_que_estao_sendo_executadas/

Comandos git do dia a dia

Ĉ¿ #Criando um projeto do zero echo "# UBBOAT_App" >> README.md git init git add README.md git commit -m "first commi...