Mudanças entre as edições de "Scritps Úteis"

De GeoSales
Ir para navegação Ir para pesquisar
Linha 70: Linha 70:
 
* Verificar processos que estão travando o banco e ver a query do processo que está travado
 
* Verificar processos que estão travando o banco e ver a query do processo que está travado
  
:: * Selecionar os 100 primeiros processos bloqueados no banco
+
** Selecionar os 100 primeiros processos bloqueados no banco
 
<pre>
 
<pre>
 
select TOP 100 *
 
select TOP 100 *
Linha 76: Linha 76:
 
where blocked <> 0
 
where blocked <> 0
 
</pre>
 
</pre>
:: * Selecionar todos os processos bloqueados no banco ordenados por spid
+
** Selecionar todos os processos bloqueados no banco ordenados por spid
 
<pre>
 
<pre>
 
select spid, blocked, hostname=left(hostname,20), program_name=left(program_name,20),
 
select spid, blocked, hostname=left(hostname,20), program_name=left(program_name,20),

Edição das 13h47min de 10 de fevereiro de 2017

  • Listar agendamentos de importações de todas as empresas num único script (Caso você queira adicionar mais empresas só seguir o modelo)
select 'bd_ssm_DCA', * from bd_ssm_DCA..CONFIGURACAO_GERA_REGISTRO_AUTO
union all
select 'bd_ssm_CAMIL', * from bd_ssm_CAMIL..CONFIGURACAO_GERA_REGISTRO_AUTO
union all
select 'bd_ssm_BEVILAQUA', * from bd_ssm_BEVILAQUA..CONFIGURACAO_GERA_REGISTRO_AUTO
union all
select 'bd_ssm_GUARAVES', * from bd_ssm_GUARAVES..CONFIGURACAO_GERA_REGISTRO_AUTO
union all
select 'bd_ssm_PAULUS', * from bd_ssm_PAULUS..CONFIGURACAO_GERA_REGISTRO_AUTO
  • Update com select e join:
UPDATE PEDIDO SET PEDIDO.NM_CLIENTE = (C.NM_CLIENTE)
from PEDIDO
inner join CLIENTE C on 
PEDIDO.CD_CLIENTE = C.CD_CLIENTE
WHERE PEDIDO.DT_EMISSAO >= '2016-10-01' AND PEDIDO.NM_CLIENTE IS NULL
  • Atualizar Nome da Tabela
EXEC sp_rename 'ITEM_PEDIDO_REMESSA_FUTURA', 'ITEM_PED_REMESSA_FUTURA';
  • Remover Foreign Keys
ALTER TABLE Orders DROP CONSTRAINT fk_PerOrders
ALTER TABLE ITEM_PEDIDO_EXCLUIDO DROP CONSTRAINT FK_SAV_ITEM__PEDIDO_PEDIDO_DEL; 
  • Retornar consulta por banco de dados do tamanho usado no banco
select 'Use '+name+';' + 'Exec SP_SpaceUsed ;'  from sys.databases
where  name like 'bd_ssm_%' and state_desc = 'online' and name not like '%prontaentrega%' 
and name not like '%adm%'
  • Lista os Vendedores da Hierárquia do Supervisor passado no Parâmetro
SELECT cd_vendedor [Código], 
       nm_vendedor [Vendedor]
FROM   fn_obter_vendedores_supervisor(#codigoSupervisor#)
  • Lista os Supervisores Acima da Hierárquia do Supervisor passado no Parâmetro, incluindo ele mesmo
SELECT S.cd_supervisor [Código], 
       S.nm_supervisor [Supervisor] 
FROM   fn_obter_supervisor_supervisores(#codigoSupervisor#) FOSS 
       INNER JOIN SUPERVISOR S 
               ON FOSS.cd_supervisor = S.cd_supervisor
  • Lista os Supervisores Abaixo da Hierárquia do Supervisor passado no Parâmetro, incluindo ele mesmo
SELECT S.cd_supervisor [Código], 
       S.nm_supervisor [Supervisor] 
FROM   fn_obter_supervisores_supervisor(#codigoSupervisor#) FOSS 
       INNER JOIN SUPERVISOR S 
               ON FOSS.cd_supervisor = S.cd_supervisor
  • Verificar processos que estão travando o banco e ver a query do processo que está travado
    • Selecionar os 100 primeiros processos bloqueados no banco
select TOP 100 *
from sys.sysprocesses
where blocked <> 0
    • Selecionar todos os processos bloqueados no banco ordenados por spid
select spid, blocked, hostname=left(hostname,20), program_name=left(program_name,20),
       WaitTime_Seg = convert(int,(waittime/1000))  ,open_tran, status
From master.dbo.sysprocesses 
where blocked > 0
order by spid
* Detalhar um processo
EXEC sp_who2 252
*Ver a query que está sendo executada por um processo (Parâmetro spid)
DBCC INPUTBUFFER(6001)
  • Script para verificar se exste alguma configuração para algum serviço de envio de e-mail ativado
SELECT * FROM CONFIGURACAO 
WHERE DS_CHAVE = 'ENVIA_EMAIL_CLIENTE_PEDIDO_EXPORTADO'

SELECT * FROM CONFIGURACAO 
WHERE DS_CHAVE = 'ENVIA_EMAIL_CLIENTE_PEDIDO_NAO_EFETIVADO'

SELECT * FROM CONFIGURACAO 
WHERE DS_CHAVE = 'ENVIA_EMAIL_FINANC_NOVO_CLIENTE'

SELECT * FROM CONFIGURACAO 
WHERE DS_CHAVE = 'ENVIA_EMAIL_SUPERVISOR_PEDIDO_PENDENTE'

SELECT * FROM CONFIGURACAO 
WHERE DS_CHAVE = 'CONDICAO_PAGAMENTO_ESPECIAL'

SELECT * FROM CONFIGURACAO 
WHERE DS_CHAVE = 'SP_ENVIA_EMAIL_CLIENTE_PEDIDO_CRIACAO'
  • Script para ver todas as foreign keys do banco
SELECT 
 KCU1.CONSTRAINT_NAME AS 'FK_Nome_Constraint'
 , KCU1.TABLE_NAME AS 'FK_Nome_Tabela'
 , KCU1.COLUMN_NAME AS 'FK_Nome_Coluna'
 , FK.is_disabled AS 'FK_Esta_Desativada'
 , KCU2.CONSTRAINT_NAME AS 'PK_Nome_Constraint_Referenciada'
 , KCU2.TABLE_NAME AS 'PK_Nome_Tabela_Referenciada'
 , KCU2.COLUMN_NAME AS 'PK_Nome_Coluna_Referenciada'
FROM INFORMATION_SCHEMA.REFERENTIAL_CONSTRAINTS RC
JOIN INFORMATION_SCHEMA.KEY_COLUMN_USAGE KCU1
ON KCU1.CONSTRAINT_CATALOG = RC.CONSTRAINT_CATALOG 
 AND KCU1.CONSTRAINT_SCHEMA = RC.CONSTRAINT_SCHEMA
 AND KCU1.CONSTRAINT_NAME = RC.CONSTRAINT_NAME
JOIN INFORMATION_SCHEMA.KEY_COLUMN_USAGE KCU2
ON KCU2.CONSTRAINT_CATALOG = RC.UNIQUE_CONSTRAINT_CATALOG 
 AND KCU2.CONSTRAINT_SCHEMA = RC.UNIQUE_CONSTRAINT_SCHEMA
 AND KCU2.CONSTRAINT_NAME = RC.UNIQUE_CONSTRAINT_NAME
 AND KCU2.ORDINAL_POSITION = KCU1.ORDINAL_POSITION
JOIN sys.foreign_keys FK on FK.name = KCU1.CONSTRAINT_NAME

--where KCU1.CONSTRAINT_NAME like '%FK_PEDIDO_EXCLUIDO__PEDIDO%'
Order by 
KCU1.TABLE_NAME