Scritps Úteis
Ir para navegação
Ir para pesquisar
- 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
- Ver todas as bases que utilizam a geração de registro automático
sp_update_databases ' insert into ##tabela select db_name(),* from CONFIGURACAO_GERA_REGISTRO_AUTO', 'org_venda_cliente' </pre *Update com select e join: <pre> 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
- Saber quais os processos estão bloqueado outros e não estão sendo bloqueados
select db_name(dbid), *
from sys.sysprocesses
where spid in (
select blocked
from sys.sysprocesses
where blocked > 0)
and blocked = 0
- Detalhar um processo
EXEC sp_who2 252
- Ver a query que está sendo executada por um processo (Parâmetro spid)
DBCC INPUTBUFFER(6001)
- Então você precisa verificar quais processos estão rodando em um determinado banco de dados:
- Lista todos os processos existentes em uma determinada base de dados
DECLARE @database VARCHAR(100) = 'bd_ssm_suabase' -- INSIRA AQUI O NOME DO BANCO DE DADOS
DECLARE @processosTemp TABLE
(
spid SMALLINT,
ecid SMALLINT,
status NCHAR(30),
loginname NCHAR(128),
hostname NCHAR(128),
blk CHAR(5),
dbname NCHAR(128),
cmd NCHAR(16),
request_id INT
)
INSERT INTO @processosTemp
EXEC Sp_who
SELECT *
FROM @processosTemp
WHERE dbname = @database
ORDER BY spid
- Aí você precisa remover essa base - faça esse procedimento apenas no ambiente de teste - mas existem processos bloqueando essa remoção. Então você deverá remover os mesmos processos referentes a consulta acima, para depois DROPAR a base.
declare @execSql varchar(1000), @databaseName varchar(100)
set @databaseName = 'bd_ssm_suabase' -- INSIRA O NOME DA BASE QUE QUER MATAR SEUS PROCESSOS EM ABERTO
set @execSql = ''
select @execSql = @execSql + 'kill ' + convert(char(10), spid) + CHAR(13)+CHAR(10)
from master.dbo.sysprocesses
where db_name(dbid) = @databaseName
and
DBID <> 0
and
spid <> @@spid
order by spid
exec(@execSql)
- 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
- Script para Cadastro de Menu do Portal
-- SELECT * FROM MENU WHERE DS_MENU IN('Cadastro', 'Bonificação','Associada ao Pedido')
-- UPDATE MENU SET DS_URL = null WHERE CD_MENU = 130
-- SELECT * FROM MENU WHERE CD_MENU_PAI = 1
-- INCLUSÃO DE MENU --
DECLARE @dsMenu VARCHAR(100),
@dsMenuPai VARCHAR(100),
@cdMenuPai INT
SELECT @dsMenu = 'Parâmetros de Configuração',
@dsMenuPai = 'Cadastro'
SELECT @dsMenu = LTRIM(RTRIM(@dsMenu)),
@dsMenuPai = LTRIM(RTRIM(@dsMenuPai))
SET @cdMenuPai = (SELECT TOP 1 cd_menu
FROM menu
WHERE ds_menu = @dsMenuPai)
IF ( @cdMenuPai IS NOT NULL )
BEGIN
IF NOT EXISTS (SELECT 1
FROM menu
WHERE ds_menu = @dsMenu
AND cd_menu_pai = @cdMenuPai)
BEGIN
INSERT INTO menu
(cd_menu,
ds_menu,
ds_url,
ds_param,
cd_menu_pai,
id_ativo)
SELECT Max(Isnull(cd_menu, 0)) + 1,
@dsMenu,
@dsMenu,
NULL,
@cdMenuPai,
'S'
FROM menu
PRINT '----------------- MENU CADASTRADO COM SUCESSO -----------------'
PRINT 'FOI CADASTRADO O SUBMENU "'+ @dsMenu + '" NO MENU "'+ @dsMenuPai + '"!'
END
ELSE
BEGIN
PRINT '----------------- FALHA AO CADASTRAR MENU -----------------'
PRINT 'JÁ EXISTE O SUBMENU "'+ @dsMenu + '" NO MENU "'+ @dsMenuPai + '"!'
END
END
- Conjunto de Selects para visualizar se há algum desconto sendo persistido na base do Mobile
select * from desconto_produto; select * from DESCONTO_ORG_PRODUTO; select * from DESCONTO_MEGAZORD; select * from DESCONTO_ICMS_DIF; select * from DESCONTO_CLIENTE_FORNEC; select * from DESCONTO_CLIENTE; select * from DESCONTO_FORNECEDOR; select * from DESCONTO_MEGAZORD_SEGMENTO; select * from DESCONTO_UF; select * from desco_cliente_familia; select * from DESCO_GRUP_CLIEN_FAMIL; select * from desconto_cliente; select * from DESCO_VENDEDOR_FAMILIA; select * from DESCO_GRUP_CLIEN_FAMIL; select * from DESCO_GRUP_CLIENT_VEND; select * from DESCO_GRUPO_CLIEN_PROD; select * from DESCONTO_VEND_PRODUTO; select * from DESCONTO_UF_PRODUTO; select * from DESCONTO_UF_FAMILIA; select * from DESCONTO_CLIENTE_PRODUT;
- Select para contar os registros de uma tabela sem derrubar o banco
SELECT SUM (row_count)
FROM sys.dm_db_partition_stats
WHERE object_id=OBJECT_ID('log_alteracao_usuario')
AND (index_id=0 or index_id=1);
- Desabilitar as triggers de geração de registros
select 'alter table '+ OBJECT_NAME(parent_id)+ ' disable trigger '+name from sys.triggers where name like 'log%' order by 1, name
- Habilitar as triggers de geração de registros
select 'alter table '+ OBJECT_NAME(parent_id)+ ' enable trigger '+name from sys.triggers where name like 'log%' order by 1, name
- Consulta para ver os processos em execução no banco da camil
select DB_NAME(dbid),* from sys.sysprocesses where program_name like '%ssmicro%' and status like '%run%' dbcc inputbuffer(61) dbcc inputbuffer(65) guarda essa consulta