Mudanças entre as edições de "Scritps Úteis"
Ir para navegação
Ir para pesquisar
Linha 180: | Linha 180: | ||
Order by | Order by | ||
KCU1.TABLE_NAME | KCU1.TABLE_NAME | ||
+ | </pre> | ||
+ | |||
+ | *Script para Cadastro de Menu do Portal | ||
+ | <pre> | ||
+ | |||
+ | -- 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 | ||
+ | |||
</pre> | </pre> |
Edição das 19h07min de 14 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)
- 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