<?xml version="1.0"?>
<feed xmlns="http://www.w3.org/2005/Atom" xml:lang="pt-BR">
	<id>http://wiki.geosales.com.br:8000/api.php?action=feedcontributions&amp;feedformat=atom&amp;user=Raphael</id>
	<title>GeoSales - Contribuições do(a) usuário(a) [pt-br]</title>
	<link rel="self" type="application/atom+xml" href="http://wiki.geosales.com.br:8000/api.php?action=feedcontributions&amp;feedformat=atom&amp;user=Raphael"/>
	<link rel="alternate" type="text/html" href="http://wiki.geosales.com.br:8000/index.php/Especial:Contribui%C3%A7%C3%B5es/Raphael"/>
	<updated>2026-05-05T16:40:43Z</updated>
	<subtitle>Contribuições do(a) usuário(a)</subtitle>
	<generator>MediaWiki 1.35.0</generator>
	<entry>
		<id>http://wiki.geosales.com.br:8000/index.php?title=Retirada_de_pedidos_sem_valida%C3%A7%C3%A3o&amp;diff=9900</id>
		<title>Retirada de pedidos sem validação</title>
		<link rel="alternate" type="text/html" href="http://wiki.geosales.com.br:8000/index.php?title=Retirada_de_pedidos_sem_valida%C3%A7%C3%A3o&amp;diff=9900"/>
		<updated>2018-11-01T19:01:37Z</updated>

		<summary type="html">&lt;p&gt;Raphael: &lt;/p&gt;
&lt;hr /&gt;
&lt;div&gt;== Histórico de Alterações ==&lt;br /&gt;
{| class=&amp;quot;wikitable&amp;quot;&lt;br /&gt;
! Data&lt;br /&gt;
! Quem &lt;br /&gt;
! Comentários &lt;br /&gt;
|-&lt;br /&gt;
|  01/11/2018  || Ana Júlia || Criação de documento&lt;br /&gt;
|-&lt;br /&gt;
|}&lt;br /&gt;
&lt;br /&gt;
== Necessidade ==&lt;br /&gt;
&lt;br /&gt;
Conforme o cenário atual, o sistema GeoSales não permite que sejam finalizados pedidos em que o cliente selecionado possua títulos em aberto ou pedidos que o valor esteja acima do limite de crédito do cliente selecionado. A validação de retirada de pedidos ocorre independente dos filtros selecionados no cabeçalho do pedido, como por exemplo: tabela de preço, condição de pagamento, meio de pegamento e etc.&lt;br /&gt;
&lt;br /&gt;
Devido as regras de retiradas de pedido, como limite de crédito e títulos em vencidos, os representantes possuem dificuldade para realizar uma negociação e finalizar um pedido.&lt;br /&gt;
&lt;br /&gt;
Desta forma se faz necessário a flexibilidade de retirada de pedidos, permitindo que seja finalizado um pedido desconsiderando as regras de limite de crédito e títulos vencidos.&lt;br /&gt;
&lt;br /&gt;
== Solução ==&lt;br /&gt;
&lt;br /&gt;
Inicialmente a funcionalidade de validação de limite de credito será controlada por um campo adicionado na tabela de movimento do pedido, que define quando o tipo do movimento do pedido irá movimentar o limite de crédito.&lt;br /&gt;
&lt;br /&gt;
Para que o sistema não valide títulos em abertos ou vencidos será necessário a criação de uma configuração que, quando estiver desativada, fará com que o sistema não valide títulos vencidos ou abertos, quando ativada fará a validação normalmente.&lt;br /&gt;
&lt;br /&gt;
Para que os títulos continuem sendo exibidos sem validações na retirada do pedido, se faz necessário que a integração de títulos seja realizada, como já ocorre atualmente.&lt;br /&gt;
&lt;br /&gt;
== Implementação ==&lt;br /&gt;
&lt;br /&gt;
=== Desenvolvimento ===&lt;br /&gt;
&lt;br /&gt;
'''- Validação de Títulos'''&lt;br /&gt;
&lt;br /&gt;
Atualmente o GeoSales realiza a validação de títulos em aberto e vencidos. Quando um cliente possui títulos vencidos não é possível finalizar um pedido nessas condições. &lt;br /&gt;
&lt;br /&gt;
Para que seja possível finalizar um pedido em que o cliente selecionado possui títulos vencidos, deverá ser criada a configuração NR_DIAS_TIT_LIMITE_VENC, que receberá valores numéricos para ativa-la ou deverá estar excluída. Quando excluída, ou seja, não existente no sistema, deverá ser entendido que não existe validação de títulos vencidos, permitindo que o pedido seja salvo.&lt;br /&gt;
&lt;br /&gt;
[[Arquivo:Frugal.JPG|center|600px]]&lt;br /&gt;
&lt;br /&gt;
Porém, mesmo que a configuração NR_DIAS_TIT_LIMITE_VENC esteja excluída, ou um valor maior que os títulos em abertos do cliente selecionado, o sistema deverá listar os títulos vencidos, aberto e próximos a vencer, conforme já ocorre atualmente. Desta forma não será necessário nenhum alteração de exibição de títulos.&lt;br /&gt;
&lt;br /&gt;
'''* Saliento que para que os títulos continuem sendo exibidos, será necessário que a integração de títulos continue ocorrendo normalmente, todo titulo enviado via integração será exibido na retirada de pedido.'''&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
''' - Validação Limite de Crédito'''&lt;br /&gt;
&lt;br /&gt;
A validação de limite de crédito ocorre quando o cliente selecionado não possui saldo compatível com o valor total do pedido, fazendo com o que o pedido não seja finalizado.&lt;br /&gt;
&lt;br /&gt;
Desta forma se faz necessário que a regra de validação não ocorra em nenhum cenário. Para que não ocorra mais validação de limite de crédito, é necessário a criação do campo ID_ATUALIZA_SALDO, podendo receber o valor 'S', para validar limite de crédito,'N' ou 'NULL' para não validar limite de crédito, sendo o valor NULL padrão.&lt;br /&gt;
&lt;br /&gt;
Vale salientar que com o campo ID_ATUALIZA_SALDO recebendo os valores 'N' ou 'NULL' o sistema não validará de nenhum modo o limite de crédito.&lt;br /&gt;
&lt;br /&gt;
=== Integração ===&lt;br /&gt;
&lt;br /&gt;
Para que a validação de títulos não venha mais a ocorrer, mas que os títulos continue sendo exibidos, será necessário que as informações citadas abaixo continuem sendo integradas, como já ocorre.&lt;br /&gt;
&lt;br /&gt;
{| class=&amp;quot;wikitable&amp;quot;&lt;br /&gt;
! colspan=&amp;quot;6&amp;quot;  | TITULO&lt;br /&gt;
|-&lt;br /&gt;
! |TABELA ERP&lt;br /&gt;
! |COLUNA ERP&lt;br /&gt;
 &lt;br /&gt;
|- &lt;br /&gt;
| SE1010 || E1_FILIAL  &lt;br /&gt;
|- &lt;br /&gt;
| SE1010 || E1_PREFIXO &lt;br /&gt;
|- &lt;br /&gt;
| SE1010 || E1_NUM &lt;br /&gt;
|- &lt;br /&gt;
| SE1010 || E1_PARCELA &lt;br /&gt;
|- &lt;br /&gt;
| SE1010 || E1_EMISSAO &lt;br /&gt;
|- &lt;br /&gt;
| SE1010 || SA1.R_E_C_N_O_ &lt;br /&gt;
|- &lt;br /&gt;
| SX5010 || X5B.X5_DESCRI &lt;br /&gt;
|- &lt;br /&gt;
| SX5010 || X5A.X5_CHAVE &lt;br /&gt;
|- &lt;br /&gt;
| SE1010 || E1_VENCREA &lt;br /&gt;
|- &lt;br /&gt;
| SE1010 || E1_LOJA &lt;br /&gt;
|- &lt;br /&gt;
| SE1010 || E1_TIPO &lt;br /&gt;
|- &lt;br /&gt;
| SE1010 || E1_SALDO&lt;br /&gt;
|}&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
Contendo as seguintes regras:&lt;br /&gt;
&lt;br /&gt;
{| class=&amp;quot;wikitable&amp;quot;&lt;br /&gt;
! colspan=&amp;quot;6&amp;quot;  | REGRAS&lt;br /&gt;
|-&lt;br /&gt;
! |TABELA ERP&lt;br /&gt;
! |COLUNA ERP&lt;br /&gt;
! |DESCRIÇÃO&lt;br /&gt;
 &lt;br /&gt;
|- &lt;br /&gt;
| SE1010 || E1_SALDO&amp;lt;&amp;gt;0  ||  Saldo deverá ser diferente de 0&lt;br /&gt;
|- &lt;br /&gt;
| SE4010 || SE1.D_E_L_E_T_ = ' '  ||  O titulo não deverá ter sido deletado&lt;br /&gt;
|- &lt;br /&gt;
| SE4010 ||  E1_FILIAL IN (SELECT CD_ORG_VENDA COLLATE Latin1_General_BIN FROM VW_ORGANIZACAO_VENDA_TMP) ||  Deverá ser existente na tabela de organização de venda&lt;br /&gt;
|- &lt;br /&gt;
| SE4010 || E1_TIPO IN ('NF', 'BOL') ||  O tipo do pagamento deverá ser igual a 'NF' e'BOL'&lt;br /&gt;
|}&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
''' * Saliento que todas as informações de integração contidas neste documento já estão funcionando normalmente, devendo se manter. '''&lt;br /&gt;
&lt;br /&gt;
=== Estrutura de banco ===&lt;br /&gt;
&lt;br /&gt;
{| class=&amp;quot;wikitable&amp;quot;&lt;br /&gt;
! colspan=&amp;quot;5&amp;quot;  | TIPO_MOVIMENTO_PEDIDO&lt;br /&gt;
|-&lt;br /&gt;
! Coluna&lt;br /&gt;
! Tipo&lt;br /&gt;
! Obrigatório&lt;br /&gt;
! Chave Primária&lt;br /&gt;
! Explicação&lt;br /&gt;
|- &lt;br /&gt;
| ID_ATUALIZA_SALDO&lt;br /&gt;
| Char&lt;br /&gt;
| NAO&lt;br /&gt;
| NAO&lt;br /&gt;
| Servirá para movimentar o limite de crédito&lt;br /&gt;
|- &lt;br /&gt;
|}&lt;br /&gt;
&lt;br /&gt;
== Regras de Negócios ==&lt;br /&gt;
&lt;br /&gt;
'''[RN1] - ''' Para que não seja validado o limite de crédito na retirada do pedido, o campo ID_ATUALIZA_SALDO da tabela TIPO_MOVIMENTO_PEDIDO, deverá estar com os valores 'N' ou 'NULL'.&lt;br /&gt;
&lt;br /&gt;
'''[RN2] - ''' Para que não seja validado título, a configuração NR_DIAS_TIT_LIMITE_VENC deverá estar excluída ou com um valor que não venha impedir retirar pedido, conforme descrito acima.&lt;br /&gt;
&lt;br /&gt;
== Aprovação ==&lt;br /&gt;
&lt;br /&gt;
Considero aprovada a documentação da funcionalidade especificada acima, e autorizo a implementação da mesma no Sistema GeoSales, em nome da Organização a qual estou vinculado. &lt;br /&gt;
&lt;br /&gt;
=== GeoSales ===&lt;br /&gt;
&lt;br /&gt;
{| class=&amp;quot;wikitable&amp;quot;&lt;br /&gt;
! Setor &lt;br /&gt;
! Aprovado Por&lt;br /&gt;
! Data&lt;br /&gt;
&lt;br /&gt;
|- &lt;br /&gt;
| Desenvolvimento - GeoSales || Raphael Nascimento || 01/11/2018&lt;br /&gt;
|- &lt;br /&gt;
| Integração - GeoSales || Rilston Soares || 01/11/2018&lt;br /&gt;
|-&lt;br /&gt;
| Configurações - GeoSales || Raphael Nascimento || 01/11/2018&lt;br /&gt;
|-&lt;br /&gt;
|}&lt;/div&gt;</summary>
		<author><name>Raphael</name></author>
	</entry>
	<entry>
		<id>http://wiki.geosales.com.br:8000/index.php?title=Pedido_Retorno_no_GeoMind&amp;diff=9555</id>
		<title>Pedido Retorno no GeoMind</title>
		<link rel="alternate" type="text/html" href="http://wiki.geosales.com.br:8000/index.php?title=Pedido_Retorno_no_GeoMind&amp;diff=9555"/>
		<updated>2018-09-13T16:38:58Z</updated>

		<summary type="html">&lt;p&gt;Raphael: &lt;/p&gt;
&lt;hr /&gt;
&lt;div&gt;== Histórico de Alterações ==&lt;br /&gt;
{| class=&amp;quot;wikitable&amp;quot;&lt;br /&gt;
! Data&lt;br /&gt;
! Quem &lt;br /&gt;
! Comentários &lt;br /&gt;
|-&lt;br /&gt;
|  22/08/2018  || Ana Júlia || Criação do documento&lt;br /&gt;
|-&lt;br /&gt;
|}&lt;br /&gt;
&lt;br /&gt;
== Necessidade ==&lt;br /&gt;
&lt;br /&gt;
Alguns vendedores tiram pedido pelo ERP, e não pelo GeoSales, ou seja, não utilizam as funcionalidades de tiragem de pedido que o GeoSales disponibiliza, devido a região que atendem. &lt;br /&gt;
&lt;br /&gt;
Atualmente os pedidos que são retirados no ERP, voltam para o GeoSales na tabela que comporta os dados de retorno do pedido (PEDIDO_RETORNO). &lt;br /&gt;
&lt;br /&gt;
Onde as funcionalidades disponibilizadas no Geomind, como o cenário, não disponibiliza dados do retorno do pedido, ou seja, não são exibidas informações de pedido tirados no ERP, havendo a necessidade de exibição dessas informações.&lt;br /&gt;
&lt;br /&gt;
== Solução ==&lt;br /&gt;
&lt;br /&gt;
As consultas do Geomind deverão levar em considerarão os pedidos retirados no ERP, ou seja, deverão levar em consideração as informações de retorno de pedidos (PEDIDO_RETORNO). &lt;br /&gt;
&lt;br /&gt;
O controle deverá ser feito através de um ajuste na implementação, que possibilitará ao GeoMind verificar além dos pedidos retirados no GeoSales, os pedidos do ERP.&lt;br /&gt;
&lt;br /&gt;
== Implementação ==&lt;br /&gt;
&lt;br /&gt;
=== Desenvolvimento ===&lt;br /&gt;
&lt;br /&gt;
Atualmente as informações do Geomind que trazem informações de pedido, como por exemplo o cenário, consultam e exibem somente pedidos tirados no GeoSales. &lt;br /&gt;
&lt;br /&gt;
As consultas de Geomind, referentes a exibição de cenários e relatórios, devem apresentar os pedidos retirados no GeoSales e os pedidos que foram retirados no ERP. &lt;br /&gt;
&lt;br /&gt;
O fluxo de exibição de pedidos retirados no GeoSales e do ERP, devem ser controlados e consultados de forma que os pedidos que foram tirados no ERP também sejam exibidos no Cenário e no relatório do GeoMind.&lt;br /&gt;
&lt;br /&gt;
== Regras de Negócios ==&lt;br /&gt;
&lt;br /&gt;
'''[RN1] - ''' Os pedidos retirados no ERP, só serão exibidos na funcionalidade de Geomind, sendo eles cenário e relatórios.&lt;br /&gt;
&lt;br /&gt;
'''[RN2] - ''' O pedido retirado no ERP, para ser exibido na funcionalidade Geomind, só ficará visível se a informação consta na base do GeoSales.&lt;br /&gt;
&lt;br /&gt;
== Resultados Esperados == &lt;br /&gt;
&lt;br /&gt;
=== Fluxos Padrão ===&lt;br /&gt;
&lt;br /&gt;
[[Arquivo:Geomind - Gart.JPG]]&lt;br /&gt;
&lt;br /&gt;
== Aprovação ==&lt;br /&gt;
&lt;br /&gt;
Considero aprovada a documentação da funcionalidade especificada acima, e autorizo a implementação da mesma no Sistema GeoSales, em nome da Organização a qual estou vinculado. &lt;br /&gt;
&lt;br /&gt;
=== GeoSales ===&lt;br /&gt;
&lt;br /&gt;
{| class=&amp;quot;wikitable&amp;quot;&lt;br /&gt;
! style=&amp;quot;width:200px&amp;quot; |Setor &lt;br /&gt;
! style=&amp;quot;width:180px&amp;quot; |Aprovado Por&lt;br /&gt;
! style=&amp;quot;width:100px&amp;quot; |Data&lt;br /&gt;
! style=&amp;quot;width:200px&amp;quot; |Assinatura&lt;br /&gt;
|- &lt;br /&gt;
| Desenvolvimento - GeoSales || Pessoa que aprovou || 00/00/0000 || Luan Lima&lt;br /&gt;
|- &lt;br /&gt;
| Configurações - GeoSales || Pessoa que aprovou || 00/00/0000 || Raphael Nascimento&lt;br /&gt;
|-&lt;br /&gt;
|}&lt;br /&gt;
&lt;br /&gt;
=== Empresa solicitante === &lt;br /&gt;
&lt;br /&gt;
{| class=&amp;quot;wikitable&amp;quot;&lt;br /&gt;
! style=&amp;quot;width:200px&amp;quot; |Setor &lt;br /&gt;
! style=&amp;quot;width:180px&amp;quot; |Aprovado Por&lt;br /&gt;
! style=&amp;quot;width:100px&amp;quot; |Data&lt;br /&gt;
! style=&amp;quot;width:200px&amp;quot; |Assinatura&lt;br /&gt;
|-&lt;br /&gt;
| Gerente TI - Cliente || Pessoa que aprovou || 00/00/0000 ||&lt;br /&gt;
|- &lt;br /&gt;
| Gerente de Projeto - Cliente || Pessoa que aprovou || 00/00/0000 ||&lt;br /&gt;
|- &lt;br /&gt;
| Gerente Comercial - Cliente || Pessoa que aprovou || 00/00/0000 ||&lt;br /&gt;
|- &lt;br /&gt;
|}&lt;/div&gt;</summary>
		<author><name>Raphael</name></author>
	</entry>
	<entry>
		<id>http://wiki.geosales.com.br:8000/index.php?title=Discuss%C3%A3o:Pedido_Retorno_no_GeoMind&amp;diff=9550</id>
		<title>Discussão:Pedido Retorno no GeoMind</title>
		<link rel="alternate" type="text/html" href="http://wiki.geosales.com.br:8000/index.php?title=Discuss%C3%A3o:Pedido_Retorno_no_GeoMind&amp;diff=9550"/>
		<updated>2018-09-13T12:44:03Z</updated>

		<summary type="html">&lt;p&gt;Raphael: Criou página com '== Implementação ==  === Desenvolvimento === Necessidade da configuração. Conversei com o Leonardo Sousa para implementarmos esse comportamento como o padrão do GeoMind,...'&lt;/p&gt;
&lt;hr /&gt;
&lt;div&gt;== Implementação ==&lt;br /&gt;
&lt;br /&gt;
=== Desenvolvimento ===&lt;br /&gt;
Necessidade da configuração. Conversei com o Leonardo Sousa para implementarmos esse comportamento como o padrão do GeoMind, sem a necessidade de uma configuração para tal.&lt;/div&gt;</summary>
		<author><name>Raphael</name></author>
	</entry>
	<entry>
		<id>http://wiki.geosales.com.br:8000/index.php?title=Scritps_%C3%9Ateis&amp;diff=8906</id>
		<title>Scritps Úteis</title>
		<link rel="alternate" type="text/html" href="http://wiki.geosales.com.br:8000/index.php?title=Scritps_%C3%9Ateis&amp;diff=8906"/>
		<updated>2018-08-08T15:07:36Z</updated>

		<summary type="html">&lt;p&gt;Raphael: &lt;/p&gt;
&lt;hr /&gt;
&lt;div&gt;:*Comando pra saber se uma porta está em uso no windows&lt;br /&gt;
&amp;lt;pre&amp;gt;&lt;br /&gt;
netstat -ano | find &amp;quot;:Required port number&lt;br /&gt;
netstat -ano | find &amp;quot;:25&amp;quot;&lt;br /&gt;
&amp;lt;/pre&amp;gt;&lt;br /&gt;
&lt;br /&gt;
:*Saber quais os processos estão bloqueado outros e não estão sendo bloqueados&lt;br /&gt;
&amp;lt;pre&amp;gt;&lt;br /&gt;
select db_name(dbid), *&lt;br /&gt;
from sys.sysprocesses&lt;br /&gt;
where spid in (&lt;br /&gt;
     select blocked&lt;br /&gt;
      from sys.sysprocesses&lt;br /&gt;
     where blocked &amp;gt; 0)&lt;br /&gt;
      and blocked = 0&lt;br /&gt;
&amp;lt;/pre&amp;gt;&lt;br /&gt;
&lt;br /&gt;
:* Detalhar um processo &lt;br /&gt;
&amp;lt;pre&amp;gt;&lt;br /&gt;
EXEC sp_who2 252&lt;br /&gt;
&amp;lt;/pre&amp;gt;&lt;br /&gt;
:* Ver a query que está sendo executada por um processo (Parâmetro spid)&lt;br /&gt;
&amp;lt;pre&amp;gt;&lt;br /&gt;
DBCC INPUTBUFFER(6001)&lt;br /&gt;
&amp;lt;/pre&amp;gt;&lt;br /&gt;
&lt;br /&gt;
*[[Scrips Tabelas Web Service NOVO|Scrips Tabelas Web Service NOVO]]&lt;br /&gt;
&lt;br /&gt;
:*Saber quais as bases estão vencidas que procedure vai apagar&lt;br /&gt;
&amp;lt;pre&amp;gt;&lt;br /&gt;
USE bd_ssm_adm;&lt;br /&gt;
&lt;br /&gt;
SELECT s.name, ub.DATA_EXPIRACAO FROM sys.sysdatabases s&lt;br /&gt;
LEFT JOIN USUARIO_BASE ub ON s.name = ub.nm_base&lt;br /&gt;
WHERE &lt;br /&gt;
	s.name LIKE 'bd_ssm_%'&lt;br /&gt;
	AND s.name NOT LIKE 'bd_ssm_adm'&lt;br /&gt;
	AND (ub.nm_base IS NULL OR ub.DATA_EXPIRACAO &amp;lt; GETDATE())&lt;br /&gt;
ORDER BY crdate ASC&lt;br /&gt;
&amp;lt;/pre&amp;gt;&lt;br /&gt;
&lt;br /&gt;
:* Listar dados de todas as bases dinamicamente numa consulta só usando union all&lt;br /&gt;
&amp;lt;pre&amp;gt;&lt;br /&gt;
select 'SELECT ''' + name + ''' ,* from '+name+'..INTERFACEERPCONFIGURACAOPARAMETRO UNION ALL' from sys.databases&lt;br /&gt;
where  &lt;br /&gt;
	name like 'bd_ssm_%' &lt;br /&gt;
	and state_desc = 'online' &lt;br /&gt;
	and name not like '%prontaentrega%' &lt;br /&gt;
	and name not like '%adm%' &lt;br /&gt;
	and name not like '%login%' &lt;br /&gt;
order by name asc;&lt;br /&gt;
&amp;lt;/pre&amp;gt;&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
:* Checar qual versão determinado vendedor tá usando&lt;br /&gt;
&amp;lt;pre&amp;gt;&lt;br /&gt;
select cd_usuario,&lt;br /&gt;
       substring(ds_log, CHARINDEX('@', ds_log) + 1, charindex(':', ds_log, CHARINDEX('@', ds_log) + 1) - CHARINDEX('@', ds_log) - 1)&lt;br /&gt;
from LOG_SINCRONISMO with(nolock) &lt;br /&gt;
order by 2&lt;br /&gt;
&amp;lt;/pre&amp;gt;&lt;br /&gt;
&lt;br /&gt;
*Descobrir exatamente qual script está sendo executado no momento dado um processo qualquer&lt;br /&gt;
&amp;lt;pre&amp;gt;&lt;br /&gt;
DECLARE @comandoSQL VARCHAR(8000)&lt;br /&gt;
SET @comandoSQL = (SELECT CAST([TEXT] AS VARCHAR(8000))&lt;br /&gt;
FROM ::fn_get_sql((SELECT [sql_handle] FROM sysprocesses where spid = 1071)))&lt;br /&gt;
select @comandoSQL&lt;br /&gt;
&amp;lt;/pre&amp;gt;&lt;br /&gt;
*Descobrir exatamente qual script está sendo executado no momento dado um processo qualquer quando existem mais de um script sendo executado&lt;br /&gt;
em background para o spid passado&lt;br /&gt;
&amp;lt;pre&amp;gt;&lt;br /&gt;
DECLARE @comandoSQL VARCHAR(8000)&lt;br /&gt;
DECLARE @tableComandoSQL TABLE (comando VARCHAR(8000))&lt;br /&gt;
--SET @comandoSQL = (SELECT CAST([TEXT] AS VARCHAR(8000))&lt;br /&gt;
--FROM ::fn_get_sql((SELECT [sql_handle] FROM sysprocesses where spid = 1071)))&lt;br /&gt;
--select @comandoSQL&lt;br /&gt;
INSERT INTO @tableComandoSQL SELECT CAST([TEXT] AS VARCHAR(8000))&lt;br /&gt;
FROM ::fn_get_sql((SELECT top 1 [sql_handle] FROM sys.sysprocesses where spid = 1071))&lt;br /&gt;
SELECT * FROM @tableComandoSQL&lt;br /&gt;
&amp;lt;/pre&amp;gt;&lt;br /&gt;
&lt;br /&gt;
*Ver o tamanho das tabelas&lt;br /&gt;
&amp;lt;pre&amp;gt;&lt;br /&gt;
SELECT&lt;br /&gt;
    OBJECT_NAME(object_id) As Tabela, Rows As Linhas,&lt;br /&gt;
    SUM(Total_Pages * 8) As Reservado,&lt;br /&gt;
    SUM(CASE WHEN Index_ID &amp;gt; 1 THEN 0 ELSE Data_Pages * 8 END) As Dados,&lt;br /&gt;
        SUM(Used_Pages * 8) -&lt;br /&gt;
        SUM(CASE WHEN Index_ID &amp;gt; 1 THEN 0 ELSE Data_Pages * 8 END) As Indice,&lt;br /&gt;
    SUM((Total_Pages - Used_Pages) * 8) As NaoUtilizado&lt;br /&gt;
FROM&lt;br /&gt;
    sys.partitions As P&lt;br /&gt;
    INNER JOIN sys.allocation_units As A ON P.hobt_id = A.container_id&lt;br /&gt;
GROUP BY OBJECT_NAME(object_id), Rows&lt;br /&gt;
ORDER BY DADOS DESC&lt;br /&gt;
&amp;lt;/pre&amp;gt;&lt;br /&gt;
&lt;br /&gt;
*Listar agendamentos de importações de todas as empresas num único script (Caso você queira adicionar mais empresas só seguir o modelo)&lt;br /&gt;
&amp;lt;pre&amp;gt;&lt;br /&gt;
select 'bd_ssm_DCA', * from bd_ssm_DCA..CONFIGURACAO_GERA_REGISTRO_AUTO&lt;br /&gt;
union all&lt;br /&gt;
select 'bd_ssm_CAMIL', * from bd_ssm_CAMIL..CONFIGURACAO_GERA_REGISTRO_AUTO&lt;br /&gt;
union all&lt;br /&gt;
select 'bd_ssm_BEVILAQUA', * from bd_ssm_BEVILAQUA..CONFIGURACAO_GERA_REGISTRO_AUTO&lt;br /&gt;
union all&lt;br /&gt;
select 'bd_ssm_GUARAVES', * from bd_ssm_GUARAVES..CONFIGURACAO_GERA_REGISTRO_AUTO&lt;br /&gt;
union all&lt;br /&gt;
select 'bd_ssm_PAULUS', * from bd_ssm_PAULUS..CONFIGURACAO_GERA_REGISTRO_AUTO&lt;br /&gt;
&amp;lt;/pre&amp;gt;&lt;br /&gt;
&lt;br /&gt;
* Ver todas as bases que utilizam a geração de registro automático&lt;br /&gt;
&amp;lt;pre&amp;gt;&lt;br /&gt;
sp_update_databases &lt;br /&gt;
'&lt;br /&gt;
insert into ##tabela&lt;br /&gt;
select db_name(),* from CONFIGURACAO_GERA_REGISTRO_AUTO', 'org_venda_cliente'&lt;br /&gt;
&amp;lt;/pre&lt;br /&gt;
&lt;br /&gt;
*Update com select e join:&lt;br /&gt;
&amp;lt;pre&amp;gt;&lt;br /&gt;
UPDATE PEDIDO SET PEDIDO.NM_CLIENTE = (C.NM_CLIENTE)&lt;br /&gt;
from PEDIDO&lt;br /&gt;
inner join CLIENTE C on &lt;br /&gt;
PEDIDO.CD_CLIENTE = C.CD_CLIENTE&lt;br /&gt;
WHERE PEDIDO.DT_EMISSAO &amp;gt;= '2016-10-01' AND PEDIDO.NM_CLIENTE IS NULL&lt;br /&gt;
&amp;lt;/pre&amp;gt;&lt;br /&gt;
&lt;br /&gt;
*Atualizar Nome da Tabela&lt;br /&gt;
&amp;lt;pre&amp;gt;&lt;br /&gt;
EXEC sp_rename 'ITEM_PEDIDO_REMESSA_FUTURA', 'ITEM_PED_REMESSA_FUTURA';&lt;br /&gt;
&amp;lt;/pre&amp;gt;&lt;br /&gt;
&lt;br /&gt;
*Remover Foreign Keys&lt;br /&gt;
&amp;lt;pre&amp;gt;&lt;br /&gt;
select * from sys.sysobjects where name = 'FK__LISTA_PRO__CD_SE__361203C5'&lt;br /&gt;
SELECT * FROM sys.sysobjects where ID = 907150277&lt;br /&gt;
ALTER TABLE Orders DROP CONSTRAINT fk_PerOrders&lt;br /&gt;
&amp;lt;/pre&amp;gt;&lt;br /&gt;
&amp;lt;pre&amp;gt;&lt;br /&gt;
ALTER TABLE ITEM_PEDIDO_EXCLUIDO DROP CONSTRAINT FK_SAV_ITEM__PEDIDO_PEDIDO_DEL; &lt;br /&gt;
&amp;lt;/pre&amp;gt;&lt;br /&gt;
&lt;br /&gt;
*Remover Foreign Keys Dinamicamente&lt;br /&gt;
&amp;lt;pre&amp;gt;&lt;br /&gt;
SELECT DISTINCT 'ALTER TABLE ' + KCU1.TABLE_NAME + ' DROP CONSTRAINT ' + KCU1.CONSTRAINT_NAME&lt;br /&gt;
FROM INFORMATION_SCHEMA.REFERENTIAL_CONSTRAINTS RC&lt;br /&gt;
JOIN INFORMATION_SCHEMA.KEY_COLUMN_USAGE KCU1&lt;br /&gt;
ON KCU1.CONSTRAINT_CATALOG = RC.CONSTRAINT_CATALOG &lt;br /&gt;
 AND KCU1.CONSTRAINT_SCHEMA = RC.CONSTRAINT_SCHEMA&lt;br /&gt;
 AND KCU1.CONSTRAINT_NAME = RC.CONSTRAINT_NAME&lt;br /&gt;
JOIN INFORMATION_SCHEMA.KEY_COLUMN_USAGE KCU2&lt;br /&gt;
ON KCU2.CONSTRAINT_CATALOG = RC.UNIQUE_CONSTRAINT_CATALOG &lt;br /&gt;
 AND KCU2.CONSTRAINT_SCHEMA = RC.UNIQUE_CONSTRAINT_SCHEMA&lt;br /&gt;
 AND KCU2.CONSTRAINT_NAME = RC.UNIQUE_CONSTRAINT_NAME&lt;br /&gt;
 AND KCU2.ORDINAL_POSITION = KCU1.ORDINAL_POSITION&lt;br /&gt;
JOIN sys.foreign_keys FK on FK.name = KCU1.CONSTRAINT_NAME&lt;br /&gt;
&amp;lt;/pre&amp;gt;&lt;br /&gt;
&lt;br /&gt;
*Retornar consulta por banco de dados do tamanho usado no banco&lt;br /&gt;
&amp;lt;pre&amp;gt;&lt;br /&gt;
select 'Use '+name+';' + 'Exec SP_SpaceUsed ;'  from sys.databases&lt;br /&gt;
where  name like 'bd_ssm_%' and state_desc = 'online' and name not like '%prontaentrega%' &lt;br /&gt;
and name not like '%adm%'&lt;br /&gt;
&amp;lt;/pre&amp;gt;&lt;br /&gt;
&lt;br /&gt;
*Lista os Vendedores da Hierárquia do Supervisor passado no Parâmetro&lt;br /&gt;
&amp;lt;pre&amp;gt;&lt;br /&gt;
SELECT cd_vendedor [Código], &lt;br /&gt;
       nm_vendedor [Vendedor]&lt;br /&gt;
FROM   fn_obter_vendedores_supervisor(#codigoSupervisor#)&lt;br /&gt;
&amp;lt;/pre&amp;gt;&lt;br /&gt;
&lt;br /&gt;
*Lista os Supervisores Acima da Hierárquia do Supervisor passado no Parâmetro, incluindo ele mesmo&lt;br /&gt;
&amp;lt;pre&amp;gt;&lt;br /&gt;
SELECT S.cd_supervisor [Código], &lt;br /&gt;
       S.nm_supervisor [Supervisor] &lt;br /&gt;
FROM   fn_obter_supervisor_supervisores(#codigoSupervisor#) FOSS &lt;br /&gt;
       INNER JOIN SUPERVISOR S &lt;br /&gt;
               ON FOSS.cd_supervisor = S.cd_supervisor&lt;br /&gt;
&amp;lt;/pre&amp;gt;&lt;br /&gt;
&lt;br /&gt;
*Lista os Supervisores Abaixo da Hierárquia do Supervisor passado no Parâmetro, incluindo ele mesmo&lt;br /&gt;
&amp;lt;pre&amp;gt;&lt;br /&gt;
SELECT S.cd_supervisor [Código], &lt;br /&gt;
       S.nm_supervisor [Supervisor] &lt;br /&gt;
FROM   fn_obter_supervisores_supervisor(#codigoSupervisor#) FOSS &lt;br /&gt;
       INNER JOIN SUPERVISOR S &lt;br /&gt;
               ON FOSS.cd_supervisor = S.cd_supervisor&lt;br /&gt;
&amp;lt;/pre&amp;gt;&lt;br /&gt;
&lt;br /&gt;
* Verificar processos que estão travando o banco e ver a query do processo que está travado&lt;br /&gt;
** Selecionar os 100 primeiros processos bloqueados no banco&lt;br /&gt;
&amp;lt;pre&amp;gt;&lt;br /&gt;
select TOP 100 *&lt;br /&gt;
from sys.sysprocesses&lt;br /&gt;
where blocked &amp;lt;&amp;gt; 0&lt;br /&gt;
&amp;lt;/pre&amp;gt;&lt;br /&gt;
:* Selecionar todos os processos bloqueados no banco ordenados por spid&lt;br /&gt;
&amp;lt;pre&amp;gt;&lt;br /&gt;
select spid, blocked, hostname=left(hostname,20), program_name=left(program_name,20),&lt;br /&gt;
       WaitTime_Seg = convert(int,(waittime/1000))  ,open_tran, status&lt;br /&gt;
From master.dbo.sysprocesses &lt;br /&gt;
where blocked &amp;gt; 0&lt;br /&gt;
order by spid&lt;br /&gt;
&amp;lt;/pre&amp;gt;&lt;br /&gt;
&lt;br /&gt;
* Então você precisa verificar quais processos estão rodando em um determinado banco de dados:&lt;br /&gt;
** Lista todos os processos existentes em uma determinada base de dados&lt;br /&gt;
&amp;lt;pre&amp;gt;&lt;br /&gt;
DECLARE @database VARCHAR(100) = 'bd_ssm_suabase' -- INSIRA AQUI O NOME DO BANCO DE DADOS  &lt;br /&gt;
DECLARE @processosTemp TABLE &lt;br /&gt;
  ( &lt;br /&gt;
     spid       SMALLINT, &lt;br /&gt;
     ecid       SMALLINT, &lt;br /&gt;
     status     NCHAR(30), &lt;br /&gt;
     loginname  NCHAR(128), &lt;br /&gt;
     hostname   NCHAR(128), &lt;br /&gt;
     blk        CHAR(5), &lt;br /&gt;
     dbname     NCHAR(128), &lt;br /&gt;
     cmd        NCHAR(16), &lt;br /&gt;
     request_id INT &lt;br /&gt;
  ) &lt;br /&gt;
&lt;br /&gt;
INSERT INTO @processosTemp &lt;br /&gt;
EXEC Sp_who &lt;br /&gt;
&lt;br /&gt;
SELECT * &lt;br /&gt;
FROM   @processosTemp &lt;br /&gt;
WHERE  dbname = @database &lt;br /&gt;
ORDER  BY spid &lt;br /&gt;
&amp;lt;/pre&amp;gt;&lt;br /&gt;
:* 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.&lt;br /&gt;
&amp;lt;pre&amp;gt;&lt;br /&gt;
declare @execSql varchar(1000), @databaseName varchar(100)  &lt;br /&gt;
set @databaseName = 'bd_ssm_suabase'  -- INSIRA O NOME DA BASE QUE QUER MATAR SEUS PROCESSOS EM ABERTO&lt;br /&gt;
&lt;br /&gt;
set @execSql = ''   &lt;br /&gt;
select  @execSql = @execSql + 'kill ' + convert(char(10), spid) + CHAR(13)+CHAR(10)  &lt;br /&gt;
from    master.dbo.sysprocesses  &lt;br /&gt;
where   db_name(dbid) = @databaseName  &lt;br /&gt;
     and  &lt;br /&gt;
     DBID &amp;lt;&amp;gt; 0  &lt;br /&gt;
     and  &lt;br /&gt;
     spid &amp;lt;&amp;gt; @@spid  &lt;br /&gt;
order by spid&lt;br /&gt;
exec(@execSql)&lt;br /&gt;
&amp;lt;/pre&amp;gt;&lt;br /&gt;
&lt;br /&gt;
*Script para verificar se exste alguma configuração para algum serviço de envio de e-mail ativado&lt;br /&gt;
&amp;lt;pre&amp;gt;&lt;br /&gt;
SELECT * FROM CONFIGURACAO &lt;br /&gt;
WHERE DS_CHAVE = 'ENVIA_EMAIL_CLIENTE_PEDIDO_EXPORTADO'&lt;br /&gt;
&lt;br /&gt;
SELECT * FROM CONFIGURACAO &lt;br /&gt;
WHERE DS_CHAVE = 'ENVIA_EMAIL_CLIENTE_PEDIDO_NAO_EFETIVADO'&lt;br /&gt;
&lt;br /&gt;
SELECT * FROM CONFIGURACAO &lt;br /&gt;
WHERE DS_CHAVE = 'ENVIA_EMAIL_FINANC_NOVO_CLIENTE'&lt;br /&gt;
&lt;br /&gt;
SELECT * FROM CONFIGURACAO &lt;br /&gt;
WHERE DS_CHAVE = 'ENVIA_EMAIL_SUPERVISOR_PEDIDO_PENDENTE'&lt;br /&gt;
&lt;br /&gt;
SELECT * FROM CONFIGURACAO &lt;br /&gt;
WHERE DS_CHAVE = 'CONDICAO_PAGAMENTO_ESPECIAL'&lt;br /&gt;
&lt;br /&gt;
SELECT * FROM CONFIGURACAO &lt;br /&gt;
WHERE DS_CHAVE = 'SP_ENVIA_EMAIL_CLIENTE_PEDIDO_CRIACAO'&lt;br /&gt;
&amp;lt;/pre&amp;gt;&lt;br /&gt;
&lt;br /&gt;
*Script para ver todas as foreign keys do banco&lt;br /&gt;
&amp;lt;pre&amp;gt;&lt;br /&gt;
SELECT &lt;br /&gt;
 KCU1.CONSTRAINT_NAME AS 'FK_Nome_Constraint'&lt;br /&gt;
 , KCU1.TABLE_NAME AS 'FK_Nome_Tabela'&lt;br /&gt;
 , KCU1.COLUMN_NAME AS 'FK_Nome_Coluna'&lt;br /&gt;
 , FK.is_disabled AS 'FK_Esta_Desativada'&lt;br /&gt;
 , KCU2.CONSTRAINT_NAME AS 'PK_Nome_Constraint_Referenciada'&lt;br /&gt;
 , KCU2.TABLE_NAME AS 'PK_Nome_Tabela_Referenciada'&lt;br /&gt;
 , KCU2.COLUMN_NAME AS 'PK_Nome_Coluna_Referenciada'&lt;br /&gt;
FROM INFORMATION_SCHEMA.REFERENTIAL_CONSTRAINTS RC&lt;br /&gt;
JOIN INFORMATION_SCHEMA.KEY_COLUMN_USAGE KCU1&lt;br /&gt;
ON KCU1.CONSTRAINT_CATALOG = RC.CONSTRAINT_CATALOG &lt;br /&gt;
 AND KCU1.CONSTRAINT_SCHEMA = RC.CONSTRAINT_SCHEMA&lt;br /&gt;
 AND KCU1.CONSTRAINT_NAME = RC.CONSTRAINT_NAME&lt;br /&gt;
JOIN INFORMATION_SCHEMA.KEY_COLUMN_USAGE KCU2&lt;br /&gt;
ON KCU2.CONSTRAINT_CATALOG = RC.UNIQUE_CONSTRAINT_CATALOG &lt;br /&gt;
 AND KCU2.CONSTRAINT_SCHEMA = RC.UNIQUE_CONSTRAINT_SCHEMA&lt;br /&gt;
 AND KCU2.CONSTRAINT_NAME = RC.UNIQUE_CONSTRAINT_NAME&lt;br /&gt;
 AND KCU2.ORDINAL_POSITION = KCU1.ORDINAL_POSITION&lt;br /&gt;
JOIN sys.foreign_keys FK on FK.name = KCU1.CONSTRAINT_NAME&lt;br /&gt;
&lt;br /&gt;
--where KCU1.CONSTRAINT_NAME like '%FK_PEDIDO_EXCLUIDO__PEDIDO%'&lt;br /&gt;
Order by &lt;br /&gt;
KCU1.TABLE_NAME&lt;br /&gt;
&amp;lt;/pre&amp;gt;&lt;br /&gt;
&lt;br /&gt;
*Script para Cadastro de Menu do Portal&lt;br /&gt;
&amp;lt;pre&amp;gt;&lt;br /&gt;
&lt;br /&gt;
-- SELECT * FROM MENU WHERE DS_MENU IN('Cadastro', 'Bonificação','Associada ao Pedido')&lt;br /&gt;
-- UPDATE MENU SET DS_URL = null WHERE CD_MENU = 130&lt;br /&gt;
-- SELECT * FROM MENU WHERE CD_MENU_PAI = 1&lt;br /&gt;
&lt;br /&gt;
-- INCLUSÃO DE MENU -- &lt;br /&gt;
DECLARE @dsMenu    VARCHAR(100), &lt;br /&gt;
        @dsMenuPai VARCHAR(100), &lt;br /&gt;
        @cdMenuPai INT &lt;br /&gt;
&lt;br /&gt;
SELECT @dsMenu = 'Parâmetros de Configuração', &lt;br /&gt;
       @dsMenuPai = 'Cadastro'&lt;br /&gt;
 &lt;br /&gt;
SELECT	@dsMenu = LTRIM(RTRIM(@dsMenu)),&lt;br /&gt;
		@dsMenuPai = LTRIM(RTRIM(@dsMenuPai))&lt;br /&gt;
&lt;br /&gt;
SET @cdMenuPai = (SELECT TOP 1 cd_menu &lt;br /&gt;
                  FROM   menu &lt;br /&gt;
                  WHERE  ds_menu = @dsMenuPai)&lt;br /&gt;
&lt;br /&gt;
IF ( @cdMenuPai IS NOT NULL ) &lt;br /&gt;
  BEGIN &lt;br /&gt;
      IF NOT EXISTS (SELECT 1 &lt;br /&gt;
                     FROM   menu &lt;br /&gt;
                     WHERE  ds_menu = @dsMenu &lt;br /&gt;
                            AND cd_menu_pai = @cdMenuPai) &lt;br /&gt;
        BEGIN &lt;br /&gt;
            INSERT INTO menu &lt;br /&gt;
                        (cd_menu, &lt;br /&gt;
                         ds_menu, &lt;br /&gt;
                         ds_url, &lt;br /&gt;
                         ds_param, &lt;br /&gt;
                         cd_menu_pai, &lt;br /&gt;
                         id_ativo) &lt;br /&gt;
            SELECT Max(Isnull(cd_menu, 0)) + 1, &lt;br /&gt;
                   @dsMenu, &lt;br /&gt;
                   @dsMenu, &lt;br /&gt;
                   NULL, &lt;br /&gt;
                   @cdMenuPai, &lt;br /&gt;
                   'S' &lt;br /&gt;
            FROM   menu &lt;br /&gt;
            &lt;br /&gt;
            PRINT '-----------------  MENU CADASTRADO COM SUCESSO  -----------------'&lt;br /&gt;
			PRINT 'FOI CADASTRADO O SUBMENU &amp;quot;'+ @dsMenu + '&amp;quot; NO MENU &amp;quot;'+ @dsMenuPai + '&amp;quot;!'&lt;br /&gt;
        END &lt;br /&gt;
        ELSE&lt;br /&gt;
        BEGIN&lt;br /&gt;
			PRINT '-----------------  FALHA AO CADASTRAR MENU  -----------------'&lt;br /&gt;
			PRINT 'JÁ EXISTE O SUBMENU &amp;quot;'+ @dsMenu + '&amp;quot; NO MENU &amp;quot;'+ @dsMenuPai + '&amp;quot;!'&lt;br /&gt;
        END&lt;br /&gt;
  END &lt;br /&gt;
&lt;br /&gt;
&amp;lt;/pre&amp;gt;&lt;br /&gt;
&lt;br /&gt;
*Conjunto de Selects para visualizar se há algum desconto sendo persistido na base do Mobile&lt;br /&gt;
&amp;lt;pre&amp;gt;&lt;br /&gt;
select  * from desconto_produto;&lt;br /&gt;
select * from DESCONTO_ORG_PRODUTO;&lt;br /&gt;
select * from DESCONTO_MEGAZORD;&lt;br /&gt;
select * from DESCONTO_ICMS_DIF;&lt;br /&gt;
select * from DESCONTO_CLIENTE_FORNEC;&lt;br /&gt;
select * from DESCONTO_CLIENTE;&lt;br /&gt;
select * from DESCONTO_FORNECEDOR;&lt;br /&gt;
select * from DESCONTO_MEGAZORD_SEGMENTO;&lt;br /&gt;
select * from DESCONTO_UF;&lt;br /&gt;
select  * from desco_cliente_familia;&lt;br /&gt;
select * from DESCO_GRUP_CLIEN_FAMIL;&lt;br /&gt;
select * from desconto_cliente;&lt;br /&gt;
select  * from DESCO_VENDEDOR_FAMILIA;&lt;br /&gt;
select * from DESCO_GRUP_CLIEN_FAMIL;&lt;br /&gt;
select * from DESCO_GRUP_CLIENT_VEND;&lt;br /&gt;
select * from DESCO_GRUPO_CLIEN_PROD;&lt;br /&gt;
select * from DESCONTO_VEND_PRODUTO;&lt;br /&gt;
select * from DESCONTO_UF_PRODUTO;&lt;br /&gt;
select * from DESCONTO_UF_FAMILIA;&lt;br /&gt;
&lt;br /&gt;
select * from DESCONTO_CLIENTE_PRODUT;&lt;br /&gt;
&amp;lt;/pre&amp;gt;&lt;br /&gt;
&lt;br /&gt;
* Select para contar os registros de uma tabela sem derrubar o banco&lt;br /&gt;
&amp;lt;pre&amp;gt;&lt;br /&gt;
SELECT SUM (row_count)&lt;br /&gt;
FROM sys.dm_db_partition_stats&lt;br /&gt;
WHERE object_id=OBJECT_ID('log_alteracao_usuario')   &lt;br /&gt;
AND (index_id=0 or index_id=1);&lt;br /&gt;
&amp;lt;/pre&amp;gt;&lt;br /&gt;
&lt;br /&gt;
* Desabilitar as triggers de geração de registros &lt;br /&gt;
&amp;lt;pre&amp;gt;&lt;br /&gt;
select 'alter table '+ OBJECT_NAME(parent_id)+ ' disable trigger '+name from sys.triggers&lt;br /&gt;
where name like 'log%'&lt;br /&gt;
order by 1, name&lt;br /&gt;
&amp;lt;/pre&amp;gt;&lt;br /&gt;
&lt;br /&gt;
* Habilitar as triggers de geração de registros &lt;br /&gt;
&amp;lt;pre&amp;gt;&lt;br /&gt;
select 'alter table '+ OBJECT_NAME(parent_id)+ ' enable trigger '+name from sys.triggers&lt;br /&gt;
where name like 'log%'&lt;br /&gt;
order by 1, name&lt;br /&gt;
&amp;lt;/pre&amp;gt;&lt;br /&gt;
&lt;br /&gt;
* Consulta para ver os processos em execução no banco da camil&lt;br /&gt;
&amp;lt;pre&amp;gt;&lt;br /&gt;
select DB_NAME(dbid),* from sys.sysprocesses&lt;br /&gt;
where program_name like '%ssmicro%'&lt;br /&gt;
and status like '%run%'&lt;br /&gt;
&lt;br /&gt;
dbcc inputbuffer(61)&lt;br /&gt;
dbcc inputbuffer(65)&lt;br /&gt;
guarda essa consulta&lt;br /&gt;
&amp;lt;/pre&amp;gt;&lt;br /&gt;
&lt;br /&gt;
* Listar todas as bases ativas criando um use bd_ssm_nomeempresa&lt;br /&gt;
&amp;lt;pre&amp;gt;&lt;br /&gt;
select 'Use '+name+';' from sys.databases&lt;br /&gt;
where  &lt;br /&gt;
	name like 'bd_ssm_%' &lt;br /&gt;
	and state_desc = 'online' &lt;br /&gt;
	and name not like '%prontaentrega%' &lt;br /&gt;
	and name not like '%adm%' &lt;br /&gt;
order by name asc;&lt;br /&gt;
&lt;br /&gt;
&amp;lt;/pre&amp;gt;&lt;br /&gt;
&lt;br /&gt;
* Contar os registros da log_alteracao_usuario sem parar o banco de dados&lt;br /&gt;
&amp;lt;pre&amp;gt;&lt;br /&gt;
SELECT SUM (row_count)&lt;br /&gt;
FROM sys.dm_db_partition_stats&lt;br /&gt;
WHERE object_id=OBJECT_ID('log_alteracao_usuario')   &lt;br /&gt;
AND (index_id=0 or index_id=1);&lt;br /&gt;
&amp;lt;/pre&amp;gt;&lt;br /&gt;
&lt;br /&gt;
* Truncar tabela de log&lt;br /&gt;
&amp;lt;pre&amp;gt;&lt;br /&gt;
TRUNCATE TABLE LOG_ALTERACAO_USUARIO;&lt;br /&gt;
&amp;lt;/pre&amp;gt;&lt;br /&gt;
&lt;br /&gt;
* Usando a sys.databases de forma inteligente para economizar trabalho&lt;br /&gt;
&amp;lt;pre&amp;gt;&lt;br /&gt;
select 'use ' + name + '; select ' +name + ',* from CAMPO where cd_campo = 23;'&lt;br /&gt;
from sys.databases&lt;br /&gt;
where name like 'bd_ssm_%' and state_desc &amp;lt;&amp;gt; 'OFFLINE'&lt;br /&gt;
&amp;lt;/pre&amp;gt;&lt;br /&gt;
&lt;br /&gt;
* Listar todos os bancos de dados de empresa da softsite&lt;br /&gt;
&amp;lt;pre&amp;gt;&lt;br /&gt;
select name from sys.databases&lt;br /&gt;
where name like 'bd_ssm_%';&lt;br /&gt;
&amp;lt;/pre&amp;gt;&lt;br /&gt;
&lt;br /&gt;
*Limpeza de cadastros do ADM&lt;br /&gt;
&lt;br /&gt;
&amp;lt;pre&amp;gt;&lt;br /&gt;
SELECT E.NM_EMPRESA, EB.DS_DATABASE, * FROM EMPRESA E &lt;br /&gt;
INNER JOIN EMPRESA_BD EB ON (E.CD_EMPRESA = EB.CD_EMPRESA)&lt;br /&gt;
INNER JOIN sys.sysdatabases SD ON (SD.name = EB.DS_DATABASE) &lt;br /&gt;
&amp;lt;/pre&amp;gt;&lt;br /&gt;
&lt;br /&gt;
&amp;lt;pre&amp;gt;&lt;br /&gt;
SELECT E.CD_EMPRESA, E.NM_EMPRESA, EB.DS_DATABASE, * FROM EMPRESA E &lt;br /&gt;
LEFT JOIN EMPRESA_BD EB ON (E.CD_EMPRESA = EB.CD_EMPRESA)&lt;br /&gt;
LEFT JOIN sys.sysdatabases SD ON (SD.name = EB.DS_DATABASE)&lt;br /&gt;
WHERE &lt;br /&gt;
	SD.name IS NULL	&lt;br /&gt;
&amp;lt;/pre&amp;gt;&lt;br /&gt;
&lt;br /&gt;
&amp;lt;pre&amp;gt;&lt;br /&gt;
&lt;br /&gt;
SELECT E.CD_EMPRESA, E.NM_EMPRESA, EB.DS_DATABASE, * FROM EMPRESA E &lt;br /&gt;
LEFT JOIN EMPRESA_BD EB ON (E.CD_EMPRESA = EB.CD_EMPRESA)&lt;br /&gt;
LEFT JOIN sys.sysdatabases SD ON (SD.name = EB.DS_DATABASE COLLATE SQL_Latin1_General_CP1_CI_AS) &lt;br /&gt;
INNER JOIN sys.databases SBD ON (SBD.name = EB.DS_DATABASE COLLATE SQL_Latin1_General_CP1_CI_AS) &lt;br /&gt;
WHERE &lt;br /&gt;
	state_desc = 'OFFLINE'&lt;br /&gt;
&amp;lt;/pre&amp;gt;&lt;br /&gt;
&lt;br /&gt;
*Tabelas que tem que ser analisadas&lt;br /&gt;
&lt;br /&gt;
&amp;lt;pre&amp;gt;&lt;br /&gt;
EMPRESA_SYNC_SISTEMA&lt;br /&gt;
EMPRESA_SYNC_BD&lt;br /&gt;
EMPRESA_SISTEMA&lt;br /&gt;
EMPRESA_BD&lt;br /&gt;
EMPRESA&lt;br /&gt;
&amp;lt;/pre&amp;gt;&lt;br /&gt;
&lt;br /&gt;
*Deletes necessários para limpar as bases&lt;br /&gt;
&lt;br /&gt;
&amp;lt;pre&amp;gt;&lt;br /&gt;
Na base ADM:&lt;br /&gt;
select * from empresa order by nm_empresa asc&lt;br /&gt;
&amp;lt;/pre&amp;gt;&lt;br /&gt;
&lt;br /&gt;
&amp;lt;pre&amp;gt;&lt;br /&gt;
DELETE FROM EMPRESA_SYNC_BD&lt;br /&gt;
WHERE CD_EMPRESA IN &lt;br /&gt;
(1129)&lt;br /&gt;
&lt;br /&gt;
DELETE FROM EMPRESA_BD&lt;br /&gt;
WHERE CD_EMPRESA IN &lt;br /&gt;
(1129)&lt;br /&gt;
&lt;br /&gt;
DELETE FROM EMPRESA_SYNC_SISTEMA&lt;br /&gt;
WHERE CD_EMPRESA IN &lt;br /&gt;
(1129)&lt;br /&gt;
&lt;br /&gt;
DELETE FROM EMPRESA_SISTEMA&lt;br /&gt;
WHERE CD_EMPRESA IN &lt;br /&gt;
(1129)&lt;br /&gt;
&lt;br /&gt;
DELETE FROM EMPRESA&lt;br /&gt;
WHERE CD_EMPRESA IN &lt;br /&gt;
(1129)&lt;br /&gt;
&amp;lt;/pre&amp;gt;&lt;br /&gt;
&lt;br /&gt;
*Verificar quantidade de conexões abertas por base utilizadas pelo portal&lt;br /&gt;
&amp;lt;pre&amp;gt;&lt;br /&gt;
select db_name(dbid), count(*)&lt;br /&gt;
from sys.sysprocesses&lt;br /&gt;
where 1=1&lt;br /&gt;
--and   db_name(dbid) = 'bd_ssm_criasim'&lt;br /&gt;
and program_name = 'jTDS'&lt;br /&gt;
group &lt;br /&gt;
by db_name(dbid)&lt;br /&gt;
&amp;lt;/pre&amp;gt;&lt;br /&gt;
&lt;br /&gt;
*Comando para gerar os drops das Triggers do claudus&lt;br /&gt;
&amp;lt;pre&amp;gt;&lt;br /&gt;
select ' drop trigger ', tr.name  from sys.sysobjects tr&lt;br /&gt;
inner join sys.sysobjects tb on tr.parent_obj = tb.id and tb.xtype = 'U'&lt;br /&gt;
where tr.xtype = 'tr'&lt;br /&gt;
and tr.name like 'TR_AUDIT%'&lt;br /&gt;
&amp;lt;/pre&amp;gt;&lt;br /&gt;
&lt;br /&gt;
*Remover empresas do import que não estão mais acessíveis na base&lt;br /&gt;
&amp;lt;pre&amp;gt;&lt;br /&gt;
use bd_ssm_adm&lt;br /&gt;
&lt;br /&gt;
select  * &lt;br /&gt;
--update es set id_realiza_importacao&lt;br /&gt;
from EMPRESA_SISTEMA es&lt;br /&gt;
inner join empresa_bd bd on es.CD_EMPRESA = bd.CD_EMPRESA &lt;br /&gt;
left  join sys.databases d on d.name = bd.DS_DATABASE collate Latin1_General_CI_AS&lt;br /&gt;
where (d.name is null or d.snapshot_isolation_state_desc = 'OFF')&lt;br /&gt;
&amp;lt;/pre&amp;gt;&lt;br /&gt;
&lt;br /&gt;
*Listar algo em todas as bases numa consulta só&lt;br /&gt;
&amp;lt;pre&amp;gt;&lt;br /&gt;
select 'select ''' + name + ''', *  from ' + name + '.dbo.INTERFACEERPCONFIGURACAOPARAMETRO where VR_PARAMETRO NOT LIKE ''%PEDIDO%ITEM_PEDIDO%'' UNION ALL'&lt;br /&gt;
from sys.databases&lt;br /&gt;
where name like 'bd_ssm_%' and state_desc &amp;lt;&amp;gt; 'OFFLINE' and (name not like '%pronta%' AND name not like 'bd_ssm_adm')&lt;br /&gt;
&amp;lt;/pre&amp;gt;&lt;br /&gt;
&lt;br /&gt;
*Descobrindo as empresas que importam&lt;br /&gt;
&amp;lt;pre&amp;gt;&lt;br /&gt;
update es set id_realiza_importacao&lt;br /&gt;
from EMPRESA_SISTEMA es&lt;br /&gt;
inner join empresa_bd bd on es.CD_EMPRESA = bd.CD_EMPRESA &lt;br /&gt;
left  join sys.databases d on d.name = bd.DS_DATABASE collate Latin1_General_CI_AS&lt;br /&gt;
where (d.name is null or d.snapshot_isolation_state_desc = 'OFF')&lt;br /&gt;
&amp;lt;/pre&amp;gt;&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
*UPDATE para atualizar dados duplicados da tabela 001&lt;br /&gt;
&amp;lt;pre&amp;gt;&lt;br /&gt;
UPDATE LISTA_PRODUTO_001&lt;br /&gt;
SET data_delete = data_insert+('00:00:00.200')&lt;br /&gt;
where id in (&lt;br /&gt;
-2146273629,&lt;br /&gt;
-2146273628,&lt;br /&gt;
-2146273627,&lt;br /&gt;
-2146273626,&lt;br /&gt;
-2146273625,&lt;br /&gt;
-2146273624,&lt;br /&gt;
-2146273623,&lt;br /&gt;
-2146273622,&lt;br /&gt;
-2146273621)&lt;br /&gt;
&amp;lt;/pre&amp;gt;&lt;br /&gt;
&lt;br /&gt;
*Comando para concatenar dentro do group by &lt;br /&gt;
&amp;lt;pre&amp;gt;&lt;br /&gt;
STUFF&lt;br /&gt;
&lt;br /&gt;
SELECT NM_ESTADO,&lt;br /&gt;
       NM_CIDADE,&lt;br /&gt;
       STUFF(&lt;br /&gt;
               (SELECT DISTINCT ',' + NM_FANTASIA&lt;br /&gt;
                FROM cliente&lt;br /&gt;
                WHERE NM_ESTADO = a.NM_ESTADO&lt;br /&gt;
                  AND NM_CIDADE = a.NM_CIDADE&lt;br /&gt;
                  FOR XML PATH ('')) , 1, 1, '') AS URLList&lt;br /&gt;
FROM cliente AS a&lt;br /&gt;
WHERE NM_ESTADO = 'CE'&lt;br /&gt;
  AND NM_CIDADE = 'fortaleza'&lt;br /&gt;
GROUP BY NM_ESTADO,&lt;br /&gt;
         NM_CIDADE&lt;br /&gt;
&amp;lt;/pre&amp;gt;&lt;br /&gt;
&lt;br /&gt;
*Template base pra criar o script de uma tabela NOVA pro TJ&lt;br /&gt;
&amp;lt;pre&amp;gt;&lt;br /&gt;
/* Criar a tabela TMP pra empresas que utilizam import */&lt;br /&gt;
CREATE TABLE [dbo].[DESCONTO_LOTE_OV_TP_TMP]&lt;br /&gt;
  ( &lt;br /&gt;
     CD_LOTE      int NOT NULL,  &lt;br /&gt;
     CD_ORG_VENDA VARCHAR(20) COLLATE SQL_LATIN1_GENERAL_CP1_CI_AI NOT NULL, &lt;br /&gt;
     CD_TAB_PRECO INT NOT NULL, &lt;br /&gt;
	 PR_DESCONTO  DECIMAL(18, 6) NOT NULL,&lt;br /&gt;
	CONSTRAINT [PK_DESCONTO_LOTE_OV_TP_TMP] PRIMARY KEY CLUSTERED (&lt;br /&gt;
		[CD_LOTE] ASC,&lt;br /&gt;
		[CD_ORG_VENDA] ASC,&lt;br /&gt;
		[CD_TAB_PRECO] ASC&lt;br /&gt;
	) WITH (PAD_INDEX = OFF, STATISTICS_NORECOMPUTE = OFF, IGNORE_DUP_KEY = OFF, ALLOW_ROW_LOCKS = ON, ALLOW_PAGE_LOCKS = ON) ON [PRIMARY]&lt;br /&gt;
) ON [PRIMARY]&lt;br /&gt;
&lt;br /&gt;
/* Criar a tabela de LOG */&lt;br /&gt;
CREATE TABLE LOG_DESCONTO_LOTE_OV_TP&lt;br /&gt;
(&lt;br /&gt;
CD_LOG INT IDENTITY PRIMARY KEY&lt;br /&gt;
,DT_LOG DATETIME NOT NULL&lt;br /&gt;
,TP_OPERACAO VARCHAR(1) NOT NULL&lt;br /&gt;
,ID_KEY VARCHAR(200) NOT NULL&lt;br /&gt;
,CD_LOTE int&lt;br /&gt;
,CD_ORG_VENDA VARCHAR(20)&lt;br /&gt;
,CD_TAB_PRECO INT)&lt;br /&gt;
&lt;br /&gt;
/* Criar tabela 001 seguindo o padrão */&lt;br /&gt;
CREATE TABLE [dbo].[DESCONTO_LOTE_OV_TP_001]&lt;br /&gt;
  ( &lt;br /&gt;
     [id] [int] IDENTITY(-2147483648,1) NOT NULL,&lt;br /&gt;
     CD_LOTE      INT NOT NULL,  &lt;br /&gt;
     CD_ORG_VENDA VARCHAR(20) COLLATE SQL_LATIN1_GENERAL_CP1_CI_AI NOT NULL, &lt;br /&gt;
     CD_TAB_PRECO INT NOT NULL, &lt;br /&gt;
	 PR_DESCONTO  DECIMAL(18, 6) NOT NULL,&lt;br /&gt;
     [data_insert] [datetime] NOT NULL,&lt;br /&gt;
	 [data_update] [datetime] NULL,&lt;br /&gt;
	 [data_delete] [datetime] NULL,&lt;br /&gt;
PRIMARY KEY NONCLUSTERED &lt;br /&gt;
(&lt;br /&gt;
	[id] ASC&lt;br /&gt;
)WITH (PAD_INDEX = OFF, STATISTICS_NORECOMPUTE = OFF, IGNORE_DUP_KEY = OFF, ALLOW_ROW_LOCKS = ON, ALLOW_PAGE_LOCKS = ON) ON [PRIMARY]&lt;br /&gt;
) ON [PRIMARY]&lt;br /&gt;
&lt;br /&gt;
/* Adicionar Index */&lt;br /&gt;
CREATE CLUSTERED INDEX PK_DESCONTO_LOTE_OV_TP ON DESCONTO_LOTE_OV_TP_001 (CD_LOTE ASC, CD_ORG_VENDA ASC, CD_TAB_PRECO ASC)&lt;br /&gt;
&lt;br /&gt;
/* Adicionar constraint */&lt;br /&gt;
ALTER TABLE [dbo].[DESCONTO_LOTE_OV_TP_001] ADD  CONSTRAINT [DF_DATA_INSERCAO_DESCONTO]  DEFAULT (getdate()) FOR [data_insert]&lt;br /&gt;
&lt;br /&gt;
/* Criar trigger na tabela nova adicionando os campos necessários */&lt;br /&gt;
CREATE TRIGGER [dbo].[TR_TJ_UPDATE_DESCONTO_LOTE_OV_TP]&lt;br /&gt;
ON [dbo].[DESCONTO_LOTE_OV_TP_001]&lt;br /&gt;
instead OF UPDATE&lt;br /&gt;
AS&lt;br /&gt;
  BEGIN&lt;br /&gt;
      SET nocount ON;&lt;br /&gt;
&lt;br /&gt;
      UPDATE t&lt;br /&gt;
      SET    t.data_update = case when s.data_delete is null then  Getdate() else t.data_update end ,&lt;br /&gt;
             T.CD_LOTE = S.CD_LOTE,&lt;br /&gt;
			 T.CD_ORG_VENDA = S.CD_ORG_VENDA,&lt;br /&gt;
			 T.CD_TAB_PRECO = S.CD_TAB_PRECO,&lt;br /&gt;
			 T.PR_DESCONTO = S.PR_DESCONTO,&lt;br /&gt;
             t.data_delete = s.data_delete&lt;br /&gt;
      FROM   DESCONTO_LOTE_OV_TP_001 t&lt;br /&gt;
             INNER JOIN inserted s&lt;br /&gt;
                     ON ( t.id = s.id )&lt;br /&gt;
&lt;br /&gt;
  END&lt;br /&gt;
&lt;br /&gt;
/* Criar a view TJ */&lt;br /&gt;
CREATE VIEW [dbo].[DESCONTO_LOTE_OV_TP_TJ]&lt;br /&gt;
AS&lt;br /&gt;
  SELECT id,&lt;br /&gt;
         CD_LOTE, CD_ORG_VENDA, CD_TAB_PRECO, PR_DESCONTO&lt;br /&gt;
  FROM   DESCONTO_LOTE_OV_TP_001&lt;br /&gt;
  WHERE  data_delete IS NULL&lt;br /&gt;
&lt;br /&gt;
/* Criar Trigger da view */&lt;br /&gt;
CREATE TRIGGER [dbo].[TR_TJ_DELETE_DESCONTO_LOTE_OV_TP]&lt;br /&gt;
ON [dbo].[DESCONTO_LOTE_OV_TP_TJ]&lt;br /&gt;
instead OF DELETE&lt;br /&gt;
AS&lt;br /&gt;
  BEGIN&lt;br /&gt;
      SET nocount ON;&lt;br /&gt;
&lt;br /&gt;
      UPDATE t&lt;br /&gt;
      SET    data_delete = Getdate()&lt;br /&gt;
      FROM   deleted s&lt;br /&gt;
             INNER JOIN DESCONTO_LOTE_OV_TP_001 t&lt;br /&gt;
                     ON s.id = t.id&lt;br /&gt;
&lt;br /&gt;
  END&lt;br /&gt;
&lt;br /&gt;
/* Criar a view */&lt;br /&gt;
CREATE VIEW [dbo].[DESCONTO_LOTE_OV_TP]&lt;br /&gt;
AS&lt;br /&gt;
  SELECT CD_LOTE, CD_ORG_VENDA, CD_TAB_PRECO, PR_DESCONTO&lt;br /&gt;
  FROM   DESCONTO_LOTE_OV_TP_tj&lt;br /&gt;
&lt;br /&gt;
/* Criar a função de navegação */&lt;br /&gt;
CREATE FUNCTION fn_REGISTRO_SYNC_DESCONTO_LOTE_OV_TP(@ID_VENDEDOR  INT,&lt;br /&gt;
                                                           @DT_LAST_SINC DATETIME)&lt;br /&gt;
RETURNS TABLE&lt;br /&gt;
AS&lt;br /&gt;
    RETURN&lt;br /&gt;
      (SELECT	DLOT.id,&lt;br /&gt;
				DLOT.CD_LOTE,&lt;br /&gt;
				DLOT.CD_ORG_VENDA,&lt;br /&gt;
				DLOT.CD_TAB_PRECO,&lt;br /&gt;
				DLOT.PR_DESCONTO,&lt;br /&gt;
				DLOT.DATA_DELETE&lt;br /&gt;
        FROM   DESCONTO_LOTE_OV_TP_001 DLOT&lt;br /&gt;
		WHERE  &lt;br /&gt;
			(&lt;br /&gt;
				( &lt;br /&gt;
					( &lt;br /&gt;
						( DLOT.DATA_INSERT &amp;gt;= @DT_LAST_SINC&lt;br /&gt;
							OR DLOT.DATA_UPDATE &amp;gt;= @DT_LAST_SINC &lt;br /&gt;
						)&lt;br /&gt;
						AND DLOT.DATA_DELETE IS NULL &lt;br /&gt;
					)&lt;br /&gt;
					OR ( DLOT.DATA_DELETE &amp;gt;= @DT_LAST_SINC&lt;br /&gt;
							AND DLOT.DATA_INSERT &amp;lt; @DT_LAST_SINC&lt;br /&gt;
							AND NOT EXISTS(SELECT 1&lt;br /&gt;
											FROM   DESCONTO_LOTE_OV_TP_001 T&lt;br /&gt;
											WHERE  DLOT.CD_LOTE = T.CD_LOTE&lt;br /&gt;
											AND DLOT.CD_ORG_VENDA = T.CD_ORG_VENDA&lt;br /&gt;
											AND DLOT.CD_TAB_PRECO = T.CD_TAB_PRECO&lt;br /&gt;
												AND T.DATA_DELETE IS NULL&lt;br /&gt;
											)&lt;br /&gt;
					)&lt;br /&gt;
					OR ( &lt;br /&gt;
						@DT_LAST_SINC IS NULL&lt;br /&gt;
						AND DLOT.DATA_DELETE IS NULL&lt;br /&gt;
					)&lt;br /&gt;
				) &lt;br /&gt;
			)&lt;br /&gt;
		)&lt;br /&gt;
&lt;br /&gt;
/* Adicionando a função na tabela */&lt;br /&gt;
INSERT INTO TAMOJUNTO_TABELA_FUNCAO (NM_TABLE, NM_FN, FL_ATIVA) VALUES ('DESCONTO_LOTE_OV_TP', 'fn_REGISTRO_SYNC_DESCONTO_LOTE_OV_TP', 1)&lt;br /&gt;
&amp;lt;/pre&amp;gt;&lt;br /&gt;
&lt;br /&gt;
* Consulta para retornar os 20 processos que estão consumindo mais recursos de cpu no momento&lt;br /&gt;
&amp;lt;pre&amp;gt;&lt;br /&gt;
&lt;br /&gt;
SELECT TOP 20&lt;br /&gt;
GETDATE() AS 'Collection Date',&lt;br /&gt;
qs.execution_count AS 'Execution Count',&lt;br /&gt;
SUBSTRING(qt.text,qs.statement_start_offset/2 +1,&lt;br /&gt;
(CASE WHEN qs.statement_end_offset = -1&lt;br /&gt;
THEN LEN(CONVERT(NVARCHAR(MAX), qt.text)) * 2&lt;br /&gt;
ELSE qs.statement_end_offset END -qs.statement_start_offset)/2&lt;br /&gt;
) AS 'Query Text',&lt;br /&gt;
DB_NAME(qt.dbid) AS 'DB Name',&lt;br /&gt;
qs.total_worker_time AS 'Total CPU Time',&lt;br /&gt;
qs.total_worker_time/qs.execution_count AS 'Avg CPU Time (ms)',&lt;br /&gt;
qs.total_physical_reads AS 'Total Physical Reads',&lt;br /&gt;
qs.total_physical_reads/qs.execution_count AS 'Avg Physical Reads',&lt;br /&gt;
qs.total_logical_reads AS 'Total Logical Reads',&lt;br /&gt;
qs.total_logical_reads/qs.execution_count AS 'Avg Logical Reads',&lt;br /&gt;
qs.total_logical_writes AS 'Total Logical Writes',&lt;br /&gt;
qs.total_logical_writes/qs.execution_count AS 'Avg Logical Writes',&lt;br /&gt;
qs.total_elapsed_time AS 'Total Duration',&lt;br /&gt;
qs.total_elapsed_time/qs.execution_count AS 'Avg Duration (ms)',&lt;br /&gt;
qp.query_plan AS 'Plan'&lt;br /&gt;
FROM sys.dm_exec_query_stats AS qs&lt;br /&gt;
CROSS APPLY sys.dm_exec_sql_text(qs.sql_handle) AS qt&lt;br /&gt;
CROSS APPLY sys.dm_exec_query_plan(qs.plan_handle) AS qp&lt;br /&gt;
WHERE&lt;br /&gt;
qs.execution_count &amp;gt; 50 OR&lt;br /&gt;
qs.total_worker_time/qs.execution_count &amp;gt; 100 OR&lt;br /&gt;
qs.total_physical_reads/qs.execution_count &amp;gt; 1000 OR&lt;br /&gt;
qs.total_logical_reads/qs.execution_count &amp;gt; 1000 OR&lt;br /&gt;
qs.total_logical_writes/qs.execution_count &amp;gt; 1000 OR&lt;br /&gt;
qs.total_elapsed_time/qs.execution_count &amp;gt; 1000&lt;br /&gt;
ORDER BY&lt;br /&gt;
qs.execution_count DESC,&lt;br /&gt;
qs.total_elapsed_time/qs.execution_count DESC,&lt;br /&gt;
qs.total_worker_time/qs.execution_count DESC,&lt;br /&gt;
qs.total_physical_reads/qs.execution_count DESC,&lt;br /&gt;
qs.total_logical_reads/qs.execution_count DESC,&lt;br /&gt;
qs.total_logical_writes/qs.execution_count DESC&lt;br /&gt;
GO&lt;br /&gt;
&lt;br /&gt;
&amp;lt;/pre&amp;gt;&lt;br /&gt;
&lt;br /&gt;
* Consulta para ver se uma trigger está habilitada&lt;br /&gt;
&lt;br /&gt;
&amp;lt;pre&amp;gt;&lt;br /&gt;
&lt;br /&gt;
select  ObjectProperty(Object_id(Name),'ExecIsTriggerDisabled') STATUS from sys.sysobjects where name = 'LOG_ALTERACAO_DELETE_PRODUTO_ESTOQUE'&lt;br /&gt;
&lt;br /&gt;
&amp;lt;/pre&amp;gt;&lt;br /&gt;
&lt;br /&gt;
* Checar se um campo existe em uma tabela&lt;br /&gt;
&lt;br /&gt;
&amp;lt;pre&amp;gt;&lt;br /&gt;
&lt;br /&gt;
SELECT T.name AS Tabela, C.name AS Coluna&lt;br /&gt;
FROM sys.sysobjects    AS T (NOLOCK) &lt;br /&gt;
INNER JOIN sys.all_columns AS C (NOLOCK) ON T.id = C.object_id AND T.XTYPE = 'U' &lt;br /&gt;
WHERE C.NAME LIKE '%CAMPO%'&lt;br /&gt;
ORDER BY T.name ASC&lt;br /&gt;
&lt;br /&gt;
&amp;lt;/pre&amp;gt;&lt;br /&gt;
&lt;br /&gt;
* Alterar os paths de dados de importação da modelo para o nome da empresa cadastrada&lt;br /&gt;
&amp;lt;pre&amp;gt;&lt;br /&gt;
USE bd_ssm_jptripas&lt;br /&gt;
&lt;br /&gt;
DECLARE @empresa varchar(50);&lt;br /&gt;
SET @empresa = 'jptripas';&lt;br /&gt;
&lt;br /&gt;
UPDATE CONFIGURACAO SET DS_VALOR = 'C:\Sistema\SSM\publico\'+@empresa+'\exportacao' WHERE DS_CHAVE='DS_PATH_ARQS_EXPORTACAO'&lt;br /&gt;
UPDATE CONFIGURACAO SET DS_VALOR = 'C:\Sistema\SSM\publico\'+@empresa+'\exportacao\backup' WHERE DS_CHAVE='DS_PATH_ARQS_EXPORTACAO_BKP'&lt;br /&gt;
UPDATE CONFIGURACAO SET DS_VALOR = 'C:\Sistema\SSM\publico\'+@empresa+'\importacao' WHERE DS_CHAVE='DS_PATH_ARQS_IMPORTACAO'&lt;br /&gt;
UPDATE CONFIGURACAO SET DS_VALOR = 'C:\Sistema\SSM\publico\'+@empresa+'\describer' WHERE DS_CHAVE='DS_PATH_DESCRIBER'&lt;br /&gt;
UPDATE CONFIGURACAO SET DS_VALOR = 'C:\Sistema\SSM\publico\'+@empresa+'\versao' WHERE DS_CHAVE='DS_PATH_DIRS_VERSOES'&lt;br /&gt;
&lt;br /&gt;
UPDATE CONFIGURACOES SET DS_PATH_ARQS_IMPORTACAO = 'C:\Sistema\SSM\publico\'+@empresa+'\importacao' WHERE CD_CONFIGURACAO=1&lt;br /&gt;
UPDATE CONFIGURACOES SET DS_PATH_ARQS_EXPORTACAO = 'C:\Sistema\SSM\publico\'+@empresa+'\exportacao' WHERE CD_CONFIGURACAO=1&lt;br /&gt;
UPDATE CONFIGURACOES SET DS_PATH_ARQS_EXPORTACAO_BKP= 'C:\Sistema\SSM\publico\'+@empresa+'\importacao' WHERE CD_CONFIGURACAO=1&lt;br /&gt;
UPDATE CONFIGURACOES SET DS_PATH_DESCRIBER = 'C:\Sistema\SSM\publico\'+@empresa+'\describer' WHERE CD_CONFIGURACAO=1&lt;br /&gt;
UPDATE CONFIGURACOES SET DS_PATH_DIRS_VERSOES = 'C:\Sistema\SSM\publico\'+@empresa+'\versao' WHERE CD_CONFIGURACAO=1&lt;br /&gt;
&amp;lt;/pre&amp;gt;&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
* Script para análise de que se existe a tabela no tamojunto para inserir&lt;br /&gt;
&amp;lt;pre&amp;gt;&lt;br /&gt;
select ' USE ' + name + '; IF(((SELECT COUNT(*) FROM tamojunto_tabela_funcao WHERE NM_TABLE = ''CLIENTE'') = 0) AND (EXISTS (SELECT TOP 1 1 FROM   sys.objects WHERE  NAME = ''CLIENTE_001''))) BEGIN INSERT INTO tamojunto_tabela_funcao VALUES (''CLIENTE'', ''fn_REGISTRO_SYNC_CLIENTE'', 1) END' from sys.databases&lt;br /&gt;
where  &lt;br /&gt;
	name like 'bd_ssm_%' &lt;br /&gt;
	and state_desc = 'online' &lt;br /&gt;
	and name not like '%prontaentrega%' &lt;br /&gt;
	and name not like '%adm%'  &lt;br /&gt;
	and name not like '%protheus%'&lt;br /&gt;
	and name not like '%login%' &lt;br /&gt;
order by name asc;&lt;br /&gt;
&amp;lt;/pre&amp;gt;&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
* Script para contar quantas licenças uma empresa tem.&lt;br /&gt;
&amp;lt;pre&amp;gt;&lt;br /&gt;
DECLARE @VisaoLicencasUsuariosPorEmpresa TABLE ( &lt;br /&gt;
  NM_EMPRESA VARCHAR(50),&lt;br /&gt;
  NR_LICENCAS INT,&lt;br /&gt;
  NR_LICENCAS_PORTAL INT,&lt;br /&gt;
  NR_USUARIOS_SOMENTE_PORTAL INT,&lt;br /&gt;
  NR_USUARIOS_SOMENTE_MOBILE INT,&lt;br /&gt;
  NR_USUARIOS_PORTAL_MOBILE INT,&lt;br /&gt;
  NR_USUARIOS_PORTAL_MOBILE_UNICO INT,&lt;br /&gt;
  NR_USUARIOS_TOTAL INT)&lt;br /&gt;
&lt;br /&gt;
DECLARE @NrLicencas INT, @NrLicencasPortal INT, @NmEmpresa VARCHAR(50), &lt;br /&gt;
@NrUsuariosSomentePortal INT, @NrUsuariosSomenteMobile INT, @NrUsuariosPortalMobile INT, @NrUsuariosPortalMobileUnico INT;&lt;br /&gt;
SELECT @NmEmpresa = 'makita',   @NrLicencas = (SELECT TOP 1 ISNULL(ES.NR_LICENCAS, 0) FROM bd_ssm_adm..EMPRESA_BD EB INNER JOIN bd_ssm_adm..EMPRESA_SISTEMA ES ON EB.CD_EMPRESA = ES.CD_EMPRESA WHERE EB.DS_DATABASE = 'bd_ssm_makita'),   @NrLicencasPortal = (SELECT TOP 1 CAST(ISNULL(ES.NR_LICENCAS_PORTAL, 0) AS VARCHAR(10)) FROM bd_ssm_adm..EMPRESA_BD EB INNER JOIN bd_ssm_adm..EMPRESA_SISTEMA ES ON EB.CD_EMPRESA = ES.CD_EMPRESA WHERE EB.DS_DATABASE = 'bd_ssm_makita'),    @NrUsuariosSomenteMobile = (SELECT ISNULL(COUNT(*), 0) FROM bd_ssm_makita..DADOS_VENDEDOR WHERE ID_PALM IS NOT NULL AND CD_USUARIO_SEGURANCA IS NULL),   @NrUsuariosSomentePortal = (SELECT ISNULL(COUNT(*), 0) FROM bd_ssm_makita..TUSUARIO WHERE (ID_USER_SOFTSITE &amp;lt;&amp;gt; 'S' OR ID_USER_SOFTSITE IS NULL) AND CD_USUARIO NOT IN (SELECT DISTINCT CD_USUARIO_SEGURANCA FROM bd_ssm_makita..DADOS_VENDEDOR WHERE CD_USUARIO_SEGURANCA IS NOT NULL)),   @NrUsuariosPortalMobile = (SELECT ISNULL(COUNT(*), 0) FROM bd_ssm_makita..TUSUARIO T INNER JOIN bd_ssm_makita..DADOS_VENDEDOR DV ON T.CD_USUARIO = DV.CD_USUARIO_SEGURANCA WHERE (ID_USER_SOFTSITE &amp;lt;&amp;gt; 'S' OR ID_USER_SOFTSITE IS NULL) AND ID_PALM IS NOT NULL),   @NrUsuariosPortalMobileUnico = (SELECT ISNULL(COUNT(DISTINCT CD_USUARIO_SEGURANCA), 0) FROM bd_ssm_makita..DADOS_VENDEDOR WHERE CD_USUARIO_SEGURANCA IS NOT NULL AND ID_PALM IS NOT NULL);   &lt;br /&gt;
INSERT INTO @VisaoLicencasUsuariosPorEmpresa VALUES (@NmEmpresa, @NrLicencas, @NrLicencasPortal, @NrUsuariosSomentePortal, @NrUsuariosSomenteMobile, @NrUsuariosPortalMobile, @NrUsuariosPortalMobileUnico, (@NrUsuariosPortalMobile + @NrUsuariosSomenteMobile + @NrUsuariosSomentePortal));&lt;br /&gt;
SELECT * FROM @VisaoLicencasUsuariosPorEmpresa;&lt;br /&gt;
&amp;lt;/pre&amp;gt;&lt;br /&gt;
&lt;br /&gt;
* Código que deve ser executado quando se restaurar uma base de produção em homologação.&lt;br /&gt;
&amp;lt;pre&amp;gt;&lt;br /&gt;
UPDATE CONFIGURACAO SET DS_VALOR = 'http://homologacao.geosalesmobile.com/super/supervisor/gerencial/getRelatorioGerencial/' WHERE DS_CHAVE = 'DS_URL_REL_GERENCIAL'&lt;br /&gt;
UPDATE CONFIGURACAO SET DS_VALOR = 'http://homologacao.geosalesmobile.com/super/services/WebService' WHERE DS_CHAVE = 'DS_URL_SERVICE'&lt;br /&gt;
UPDATE CONFIGURACAO SET DS_VALOR = 'http://sync.geosalesmobile.com:8184/ssmservices' WHERE DS_CHAVE = 'GPS_BASE_URL'&lt;br /&gt;
UPDATE CONFIGURACAO SET DS_VALOR = 'http://sync.geosalesmobile.com:8184/ssmservices' WHERE DS_CHAVE = 'URL_WEBSERVICE'&lt;br /&gt;
&amp;lt;/pre&amp;gt;&lt;br /&gt;
&lt;br /&gt;
* Shrink&lt;br /&gt;
&lt;br /&gt;
&amp;lt;pre&amp;gt;&lt;br /&gt;
DBCC SHRINKDATABASE('bd_ssm_campneus', 0)&lt;br /&gt;
&amp;lt;/pre&amp;gt;&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
* Controle de licenças&lt;br /&gt;
&amp;lt;pre&amp;gt;&lt;br /&gt;
&lt;br /&gt;
	SELECT program_name, HOSTNAME, *&lt;br /&gt;
			FROM  sys.sysprocesses&lt;br /&gt;
	where program_name = 'passwordsenderws'&lt;br /&gt;
&amp;lt;/pre&amp;gt;&lt;br /&gt;
&lt;br /&gt;
&amp;lt;pre&amp;gt;&lt;br /&gt;
INSERT INTO empresa_bd_properties &lt;br /&gt;
SELECT CD_EMPRESA, 'passwordsenderws', NULL, 2 FROM EMPRESA&lt;br /&gt;
&amp;lt;/pre&amp;gt;&lt;br /&gt;
&lt;br /&gt;
*Verificar processo de importação&lt;br /&gt;
&amp;lt;pre&amp;gt;&lt;br /&gt;
select db_name(dbid), *&lt;br /&gt;
from sys.sysprocesses&lt;br /&gt;
where program_name like '%Import%'&lt;br /&gt;
and db_name(dbid) = 'bd_ssm_boreda'&lt;br /&gt;
&amp;lt;/pre&amp;gt;&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
*Aplicar banner em todas as bases de todos os ambientes.&lt;br /&gt;
&lt;br /&gt;
&amp;lt;pre&amp;gt;&lt;br /&gt;
select 'use ' + name + '; INSERT INTO BANNER VALUES ((SELECT ISNULL(MAX(CD_BANNER), 0) + 1 FROM BANNER), ''WEBINAR 2'', GETDATE(), ''2018-08-13 00:01:00'', 2, ''http://sscatalogo.s3.amazonaws.com/marketing/banner_portal.jpg'', ''https://goo.gl/forms/59Wwj0xgABWKY4vz2'', 1, 1)' from sys.databases&lt;br /&gt;
where&lt;br /&gt;
&lt;br /&gt;
name like 'bd_ssm_%' &lt;br /&gt;
and state_desc = 'online' &lt;br /&gt;
and name not like '%prontaentrega%' &lt;br /&gt;
and name not like '%adm%' &lt;br /&gt;
and name not like '%login%' &lt;br /&gt;
order by name asc;&lt;br /&gt;
&amp;lt;/pre&amp;gt;&lt;/div&gt;</summary>
		<author><name>Raphael</name></author>
	</entry>
	<entry>
		<id>http://wiki.geosales.com.br:8000/index.php?title=Scritps_%C3%9Ateis&amp;diff=8185</id>
		<title>Scritps Úteis</title>
		<link rel="alternate" type="text/html" href="http://wiki.geosales.com.br:8000/index.php?title=Scritps_%C3%9Ateis&amp;diff=8185"/>
		<updated>2018-07-02T19:45:58Z</updated>

		<summary type="html">&lt;p&gt;Raphael: &lt;/p&gt;
&lt;hr /&gt;
&lt;div&gt;:*Comando pra saber se uma porta está em uso no windows&lt;br /&gt;
&amp;lt;pre&amp;gt;&lt;br /&gt;
netstat -ano | find &amp;quot;:Required port number&lt;br /&gt;
netstat -ano | find &amp;quot;:25&amp;quot;&lt;br /&gt;
&amp;lt;/pre&amp;gt;&lt;br /&gt;
&lt;br /&gt;
:*Saber quais os processos estão bloqueado outros e não estão sendo bloqueados&lt;br /&gt;
&amp;lt;pre&amp;gt;&lt;br /&gt;
select db_name(dbid), *&lt;br /&gt;
from sys.sysprocesses&lt;br /&gt;
where spid in (&lt;br /&gt;
     select blocked&lt;br /&gt;
      from sys.sysprocesses&lt;br /&gt;
     where blocked &amp;gt; 0)&lt;br /&gt;
      and blocked = 0&lt;br /&gt;
&amp;lt;/pre&amp;gt;&lt;br /&gt;
&lt;br /&gt;
:* Detalhar um processo &lt;br /&gt;
&amp;lt;pre&amp;gt;&lt;br /&gt;
EXEC sp_who2 252&lt;br /&gt;
&amp;lt;/pre&amp;gt;&lt;br /&gt;
:* Ver a query que está sendo executada por um processo (Parâmetro spid)&lt;br /&gt;
&amp;lt;pre&amp;gt;&lt;br /&gt;
DBCC INPUTBUFFER(6001)&lt;br /&gt;
&amp;lt;/pre&amp;gt;&lt;br /&gt;
&lt;br /&gt;
*[[Scrips Tabelas Web Service NOVO|Scrips Tabelas Web Service NOVO]]&lt;br /&gt;
&lt;br /&gt;
:*Saber quais as bases estão vencidas que procedure vai apagar&lt;br /&gt;
&amp;lt;pre&amp;gt;&lt;br /&gt;
USE bd_ssm_adm;&lt;br /&gt;
&lt;br /&gt;
SELECT s.name, ub.DATA_EXPIRACAO FROM sys.sysdatabases s&lt;br /&gt;
LEFT JOIN USUARIO_BASE ub ON s.name = ub.nm_base&lt;br /&gt;
WHERE &lt;br /&gt;
	s.name LIKE 'bd_ssm_%'&lt;br /&gt;
	AND s.name NOT LIKE 'bd_ssm_adm'&lt;br /&gt;
	AND (ub.nm_base IS NULL OR ub.DATA_EXPIRACAO &amp;lt; GETDATE())&lt;br /&gt;
ORDER BY crdate ASC&lt;br /&gt;
&amp;lt;/pre&amp;gt;&lt;br /&gt;
&lt;br /&gt;
:* Listar dados de todas as bases dinamicamente numa consulta só usando union all&lt;br /&gt;
&amp;lt;pre&amp;gt;&lt;br /&gt;
select 'SELECT ''' + name + ''' ,* from '+name+'..INTERFACEERPCONFIGURACAOPARAMETRO UNION ALL' from sys.databases&lt;br /&gt;
where  &lt;br /&gt;
	name like 'bd_ssm_%' &lt;br /&gt;
	and state_desc = 'online' &lt;br /&gt;
	and name not like '%prontaentrega%' &lt;br /&gt;
	and name not like '%adm%' &lt;br /&gt;
order by name asc;&lt;br /&gt;
&amp;lt;/pre&amp;gt;&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
:* Checar qual versão determinado vendedor tá usando&lt;br /&gt;
&amp;lt;pre&amp;gt;&lt;br /&gt;
select cd_usuario,&lt;br /&gt;
       substring(ds_log, CHARINDEX('@', ds_log) + 1, charindex(':', ds_log, CHARINDEX('@', ds_log) + 1) - CHARINDEX('@', ds_log) - 1)&lt;br /&gt;
from LOG_SINCRONISMO with(nolock) &lt;br /&gt;
order by 2&lt;br /&gt;
&amp;lt;/pre&amp;gt;&lt;br /&gt;
&lt;br /&gt;
*Descobrir exatamente qual script está sendo executado no momento dado um processo qualquer&lt;br /&gt;
&amp;lt;pre&amp;gt;&lt;br /&gt;
DECLARE @comandoSQL VARCHAR(8000)&lt;br /&gt;
SET @comandoSQL = (SELECT CAST([TEXT] AS VARCHAR(8000))&lt;br /&gt;
FROM ::fn_get_sql((SELECT [sql_handle] FROM sysprocesses where spid = 1071)))&lt;br /&gt;
select @comandoSQL&lt;br /&gt;
&amp;lt;/pre&amp;gt;&lt;br /&gt;
*Descobrir exatamente qual script está sendo executado no momento dado um processo qualquer quando existem mais de um script sendo executado&lt;br /&gt;
em background para o spid passado&lt;br /&gt;
&amp;lt;pre&amp;gt;&lt;br /&gt;
DECLARE @comandoSQL VARCHAR(8000)&lt;br /&gt;
DECLARE @tableComandoSQL TABLE (comando VARCHAR(8000))&lt;br /&gt;
--SET @comandoSQL = (SELECT CAST([TEXT] AS VARCHAR(8000))&lt;br /&gt;
--FROM ::fn_get_sql((SELECT [sql_handle] FROM sysprocesses where spid = 1071)))&lt;br /&gt;
--select @comandoSQL&lt;br /&gt;
INSERT INTO @tableComandoSQL SELECT CAST([TEXT] AS VARCHAR(8000))&lt;br /&gt;
FROM ::fn_get_sql((SELECT top 1 [sql_handle] FROM sys.sysprocesses where spid = 1071))&lt;br /&gt;
SELECT * FROM @tableComandoSQL&lt;br /&gt;
&amp;lt;/pre&amp;gt;&lt;br /&gt;
&lt;br /&gt;
*Ver o tamanho das tabelas&lt;br /&gt;
&amp;lt;pre&amp;gt;&lt;br /&gt;
SELECT&lt;br /&gt;
    OBJECT_NAME(object_id) As Tabela, Rows As Linhas,&lt;br /&gt;
    SUM(Total_Pages * 8) As Reservado,&lt;br /&gt;
    SUM(CASE WHEN Index_ID &amp;gt; 1 THEN 0 ELSE Data_Pages * 8 END) As Dados,&lt;br /&gt;
        SUM(Used_Pages * 8) -&lt;br /&gt;
        SUM(CASE WHEN Index_ID &amp;gt; 1 THEN 0 ELSE Data_Pages * 8 END) As Indice,&lt;br /&gt;
    SUM((Total_Pages - Used_Pages) * 8) As NaoUtilizado&lt;br /&gt;
FROM&lt;br /&gt;
    sys.partitions As P&lt;br /&gt;
    INNER JOIN sys.allocation_units As A ON P.hobt_id = A.container_id&lt;br /&gt;
GROUP BY OBJECT_NAME(object_id), Rows&lt;br /&gt;
ORDER BY DADOS DESC&lt;br /&gt;
&amp;lt;/pre&amp;gt;&lt;br /&gt;
&lt;br /&gt;
*Listar agendamentos de importações de todas as empresas num único script (Caso você queira adicionar mais empresas só seguir o modelo)&lt;br /&gt;
&amp;lt;pre&amp;gt;&lt;br /&gt;
select 'bd_ssm_DCA', * from bd_ssm_DCA..CONFIGURACAO_GERA_REGISTRO_AUTO&lt;br /&gt;
union all&lt;br /&gt;
select 'bd_ssm_CAMIL', * from bd_ssm_CAMIL..CONFIGURACAO_GERA_REGISTRO_AUTO&lt;br /&gt;
union all&lt;br /&gt;
select 'bd_ssm_BEVILAQUA', * from bd_ssm_BEVILAQUA..CONFIGURACAO_GERA_REGISTRO_AUTO&lt;br /&gt;
union all&lt;br /&gt;
select 'bd_ssm_GUARAVES', * from bd_ssm_GUARAVES..CONFIGURACAO_GERA_REGISTRO_AUTO&lt;br /&gt;
union all&lt;br /&gt;
select 'bd_ssm_PAULUS', * from bd_ssm_PAULUS..CONFIGURACAO_GERA_REGISTRO_AUTO&lt;br /&gt;
&amp;lt;/pre&amp;gt;&lt;br /&gt;
&lt;br /&gt;
* Ver todas as bases que utilizam a geração de registro automático&lt;br /&gt;
&amp;lt;pre&amp;gt;&lt;br /&gt;
sp_update_databases &lt;br /&gt;
'&lt;br /&gt;
insert into ##tabela&lt;br /&gt;
select db_name(),* from CONFIGURACAO_GERA_REGISTRO_AUTO', 'org_venda_cliente'&lt;br /&gt;
&amp;lt;/pre&lt;br /&gt;
&lt;br /&gt;
*Update com select e join:&lt;br /&gt;
&amp;lt;pre&amp;gt;&lt;br /&gt;
UPDATE PEDIDO SET PEDIDO.NM_CLIENTE = (C.NM_CLIENTE)&lt;br /&gt;
from PEDIDO&lt;br /&gt;
inner join CLIENTE C on &lt;br /&gt;
PEDIDO.CD_CLIENTE = C.CD_CLIENTE&lt;br /&gt;
WHERE PEDIDO.DT_EMISSAO &amp;gt;= '2016-10-01' AND PEDIDO.NM_CLIENTE IS NULL&lt;br /&gt;
&amp;lt;/pre&amp;gt;&lt;br /&gt;
&lt;br /&gt;
*Atualizar Nome da Tabela&lt;br /&gt;
&amp;lt;pre&amp;gt;&lt;br /&gt;
EXEC sp_rename 'ITEM_PEDIDO_REMESSA_FUTURA', 'ITEM_PED_REMESSA_FUTURA';&lt;br /&gt;
&amp;lt;/pre&amp;gt;&lt;br /&gt;
&lt;br /&gt;
*Remover Foreign Keys&lt;br /&gt;
&amp;lt;pre&amp;gt;&lt;br /&gt;
select * from sys.sysobjects where name = 'FK__LISTA_PRO__CD_SE__361203C5'&lt;br /&gt;
SELECT * FROM sys.sysobjects where ID = 907150277&lt;br /&gt;
ALTER TABLE Orders DROP CONSTRAINT fk_PerOrders&lt;br /&gt;
&amp;lt;/pre&amp;gt;&lt;br /&gt;
&amp;lt;pre&amp;gt;&lt;br /&gt;
ALTER TABLE ITEM_PEDIDO_EXCLUIDO DROP CONSTRAINT FK_SAV_ITEM__PEDIDO_PEDIDO_DEL; &lt;br /&gt;
&amp;lt;/pre&amp;gt;&lt;br /&gt;
&lt;br /&gt;
*Remover Foreign Keys Dinamicamente&lt;br /&gt;
&amp;lt;pre&amp;gt;&lt;br /&gt;
SELECT DISTINCT 'ALTER TABLE ' + KCU1.TABLE_NAME + ' DROP CONSTRAINT ' + KCU1.CONSTRAINT_NAME&lt;br /&gt;
FROM INFORMATION_SCHEMA.REFERENTIAL_CONSTRAINTS RC&lt;br /&gt;
JOIN INFORMATION_SCHEMA.KEY_COLUMN_USAGE KCU1&lt;br /&gt;
ON KCU1.CONSTRAINT_CATALOG = RC.CONSTRAINT_CATALOG &lt;br /&gt;
 AND KCU1.CONSTRAINT_SCHEMA = RC.CONSTRAINT_SCHEMA&lt;br /&gt;
 AND KCU1.CONSTRAINT_NAME = RC.CONSTRAINT_NAME&lt;br /&gt;
JOIN INFORMATION_SCHEMA.KEY_COLUMN_USAGE KCU2&lt;br /&gt;
ON KCU2.CONSTRAINT_CATALOG = RC.UNIQUE_CONSTRAINT_CATALOG &lt;br /&gt;
 AND KCU2.CONSTRAINT_SCHEMA = RC.UNIQUE_CONSTRAINT_SCHEMA&lt;br /&gt;
 AND KCU2.CONSTRAINT_NAME = RC.UNIQUE_CONSTRAINT_NAME&lt;br /&gt;
 AND KCU2.ORDINAL_POSITION = KCU1.ORDINAL_POSITION&lt;br /&gt;
JOIN sys.foreign_keys FK on FK.name = KCU1.CONSTRAINT_NAME&lt;br /&gt;
&amp;lt;/pre&amp;gt;&lt;br /&gt;
&lt;br /&gt;
*Retornar consulta por banco de dados do tamanho usado no banco&lt;br /&gt;
&amp;lt;pre&amp;gt;&lt;br /&gt;
select 'Use '+name+';' + 'Exec SP_SpaceUsed ;'  from sys.databases&lt;br /&gt;
where  name like 'bd_ssm_%' and state_desc = 'online' and name not like '%prontaentrega%' &lt;br /&gt;
and name not like '%adm%'&lt;br /&gt;
&amp;lt;/pre&amp;gt;&lt;br /&gt;
&lt;br /&gt;
*Lista os Vendedores da Hierárquia do Supervisor passado no Parâmetro&lt;br /&gt;
&amp;lt;pre&amp;gt;&lt;br /&gt;
SELECT cd_vendedor [Código], &lt;br /&gt;
       nm_vendedor [Vendedor]&lt;br /&gt;
FROM   fn_obter_vendedores_supervisor(#codigoSupervisor#)&lt;br /&gt;
&amp;lt;/pre&amp;gt;&lt;br /&gt;
&lt;br /&gt;
*Lista os Supervisores Acima da Hierárquia do Supervisor passado no Parâmetro, incluindo ele mesmo&lt;br /&gt;
&amp;lt;pre&amp;gt;&lt;br /&gt;
SELECT S.cd_supervisor [Código], &lt;br /&gt;
       S.nm_supervisor [Supervisor] &lt;br /&gt;
FROM   fn_obter_supervisor_supervisores(#codigoSupervisor#) FOSS &lt;br /&gt;
       INNER JOIN SUPERVISOR S &lt;br /&gt;
               ON FOSS.cd_supervisor = S.cd_supervisor&lt;br /&gt;
&amp;lt;/pre&amp;gt;&lt;br /&gt;
&lt;br /&gt;
*Lista os Supervisores Abaixo da Hierárquia do Supervisor passado no Parâmetro, incluindo ele mesmo&lt;br /&gt;
&amp;lt;pre&amp;gt;&lt;br /&gt;
SELECT S.cd_supervisor [Código], &lt;br /&gt;
       S.nm_supervisor [Supervisor] &lt;br /&gt;
FROM   fn_obter_supervisores_supervisor(#codigoSupervisor#) FOSS &lt;br /&gt;
       INNER JOIN SUPERVISOR S &lt;br /&gt;
               ON FOSS.cd_supervisor = S.cd_supervisor&lt;br /&gt;
&amp;lt;/pre&amp;gt;&lt;br /&gt;
&lt;br /&gt;
* Verificar processos que estão travando o banco e ver a query do processo que está travado&lt;br /&gt;
** Selecionar os 100 primeiros processos bloqueados no banco&lt;br /&gt;
&amp;lt;pre&amp;gt;&lt;br /&gt;
select TOP 100 *&lt;br /&gt;
from sys.sysprocesses&lt;br /&gt;
where blocked &amp;lt;&amp;gt; 0&lt;br /&gt;
&amp;lt;/pre&amp;gt;&lt;br /&gt;
:* Selecionar todos os processos bloqueados no banco ordenados por spid&lt;br /&gt;
&amp;lt;pre&amp;gt;&lt;br /&gt;
select spid, blocked, hostname=left(hostname,20), program_name=left(program_name,20),&lt;br /&gt;
       WaitTime_Seg = convert(int,(waittime/1000))  ,open_tran, status&lt;br /&gt;
From master.dbo.sysprocesses &lt;br /&gt;
where blocked &amp;gt; 0&lt;br /&gt;
order by spid&lt;br /&gt;
&amp;lt;/pre&amp;gt;&lt;br /&gt;
&lt;br /&gt;
* Então você precisa verificar quais processos estão rodando em um determinado banco de dados:&lt;br /&gt;
** Lista todos os processos existentes em uma determinada base de dados&lt;br /&gt;
&amp;lt;pre&amp;gt;&lt;br /&gt;
DECLARE @database VARCHAR(100) = 'bd_ssm_suabase' -- INSIRA AQUI O NOME DO BANCO DE DADOS  &lt;br /&gt;
DECLARE @processosTemp TABLE &lt;br /&gt;
  ( &lt;br /&gt;
     spid       SMALLINT, &lt;br /&gt;
     ecid       SMALLINT, &lt;br /&gt;
     status     NCHAR(30), &lt;br /&gt;
     loginname  NCHAR(128), &lt;br /&gt;
     hostname   NCHAR(128), &lt;br /&gt;
     blk        CHAR(5), &lt;br /&gt;
     dbname     NCHAR(128), &lt;br /&gt;
     cmd        NCHAR(16), &lt;br /&gt;
     request_id INT &lt;br /&gt;
  ) &lt;br /&gt;
&lt;br /&gt;
INSERT INTO @processosTemp &lt;br /&gt;
EXEC Sp_who &lt;br /&gt;
&lt;br /&gt;
SELECT * &lt;br /&gt;
FROM   @processosTemp &lt;br /&gt;
WHERE  dbname = @database &lt;br /&gt;
ORDER  BY spid &lt;br /&gt;
&amp;lt;/pre&amp;gt;&lt;br /&gt;
:* 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.&lt;br /&gt;
&amp;lt;pre&amp;gt;&lt;br /&gt;
declare @execSql varchar(1000), @databaseName varchar(100)  &lt;br /&gt;
set @databaseName = 'bd_ssm_suabase'  -- INSIRA O NOME DA BASE QUE QUER MATAR SEUS PROCESSOS EM ABERTO&lt;br /&gt;
&lt;br /&gt;
set @execSql = ''   &lt;br /&gt;
select  @execSql = @execSql + 'kill ' + convert(char(10), spid) + CHAR(13)+CHAR(10)  &lt;br /&gt;
from    master.dbo.sysprocesses  &lt;br /&gt;
where   db_name(dbid) = @databaseName  &lt;br /&gt;
     and  &lt;br /&gt;
     DBID &amp;lt;&amp;gt; 0  &lt;br /&gt;
     and  &lt;br /&gt;
     spid &amp;lt;&amp;gt; @@spid  &lt;br /&gt;
order by spid&lt;br /&gt;
exec(@execSql)&lt;br /&gt;
&amp;lt;/pre&amp;gt;&lt;br /&gt;
&lt;br /&gt;
*Script para verificar se exste alguma configuração para algum serviço de envio de e-mail ativado&lt;br /&gt;
&amp;lt;pre&amp;gt;&lt;br /&gt;
SELECT * FROM CONFIGURACAO &lt;br /&gt;
WHERE DS_CHAVE = 'ENVIA_EMAIL_CLIENTE_PEDIDO_EXPORTADO'&lt;br /&gt;
&lt;br /&gt;
SELECT * FROM CONFIGURACAO &lt;br /&gt;
WHERE DS_CHAVE = 'ENVIA_EMAIL_CLIENTE_PEDIDO_NAO_EFETIVADO'&lt;br /&gt;
&lt;br /&gt;
SELECT * FROM CONFIGURACAO &lt;br /&gt;
WHERE DS_CHAVE = 'ENVIA_EMAIL_FINANC_NOVO_CLIENTE'&lt;br /&gt;
&lt;br /&gt;
SELECT * FROM CONFIGURACAO &lt;br /&gt;
WHERE DS_CHAVE = 'ENVIA_EMAIL_SUPERVISOR_PEDIDO_PENDENTE'&lt;br /&gt;
&lt;br /&gt;
SELECT * FROM CONFIGURACAO &lt;br /&gt;
WHERE DS_CHAVE = 'CONDICAO_PAGAMENTO_ESPECIAL'&lt;br /&gt;
&lt;br /&gt;
SELECT * FROM CONFIGURACAO &lt;br /&gt;
WHERE DS_CHAVE = 'SP_ENVIA_EMAIL_CLIENTE_PEDIDO_CRIACAO'&lt;br /&gt;
&amp;lt;/pre&amp;gt;&lt;br /&gt;
&lt;br /&gt;
*Script para ver todas as foreign keys do banco&lt;br /&gt;
&amp;lt;pre&amp;gt;&lt;br /&gt;
SELECT &lt;br /&gt;
 KCU1.CONSTRAINT_NAME AS 'FK_Nome_Constraint'&lt;br /&gt;
 , KCU1.TABLE_NAME AS 'FK_Nome_Tabela'&lt;br /&gt;
 , KCU1.COLUMN_NAME AS 'FK_Nome_Coluna'&lt;br /&gt;
 , FK.is_disabled AS 'FK_Esta_Desativada'&lt;br /&gt;
 , KCU2.CONSTRAINT_NAME AS 'PK_Nome_Constraint_Referenciada'&lt;br /&gt;
 , KCU2.TABLE_NAME AS 'PK_Nome_Tabela_Referenciada'&lt;br /&gt;
 , KCU2.COLUMN_NAME AS 'PK_Nome_Coluna_Referenciada'&lt;br /&gt;
FROM INFORMATION_SCHEMA.REFERENTIAL_CONSTRAINTS RC&lt;br /&gt;
JOIN INFORMATION_SCHEMA.KEY_COLUMN_USAGE KCU1&lt;br /&gt;
ON KCU1.CONSTRAINT_CATALOG = RC.CONSTRAINT_CATALOG &lt;br /&gt;
 AND KCU1.CONSTRAINT_SCHEMA = RC.CONSTRAINT_SCHEMA&lt;br /&gt;
 AND KCU1.CONSTRAINT_NAME = RC.CONSTRAINT_NAME&lt;br /&gt;
JOIN INFORMATION_SCHEMA.KEY_COLUMN_USAGE KCU2&lt;br /&gt;
ON KCU2.CONSTRAINT_CATALOG = RC.UNIQUE_CONSTRAINT_CATALOG &lt;br /&gt;
 AND KCU2.CONSTRAINT_SCHEMA = RC.UNIQUE_CONSTRAINT_SCHEMA&lt;br /&gt;
 AND KCU2.CONSTRAINT_NAME = RC.UNIQUE_CONSTRAINT_NAME&lt;br /&gt;
 AND KCU2.ORDINAL_POSITION = KCU1.ORDINAL_POSITION&lt;br /&gt;
JOIN sys.foreign_keys FK on FK.name = KCU1.CONSTRAINT_NAME&lt;br /&gt;
&lt;br /&gt;
--where KCU1.CONSTRAINT_NAME like '%FK_PEDIDO_EXCLUIDO__PEDIDO%'&lt;br /&gt;
Order by &lt;br /&gt;
KCU1.TABLE_NAME&lt;br /&gt;
&amp;lt;/pre&amp;gt;&lt;br /&gt;
&lt;br /&gt;
*Script para Cadastro de Menu do Portal&lt;br /&gt;
&amp;lt;pre&amp;gt;&lt;br /&gt;
&lt;br /&gt;
-- SELECT * FROM MENU WHERE DS_MENU IN('Cadastro', 'Bonificação','Associada ao Pedido')&lt;br /&gt;
-- UPDATE MENU SET DS_URL = null WHERE CD_MENU = 130&lt;br /&gt;
-- SELECT * FROM MENU WHERE CD_MENU_PAI = 1&lt;br /&gt;
&lt;br /&gt;
-- INCLUSÃO DE MENU -- &lt;br /&gt;
DECLARE @dsMenu    VARCHAR(100), &lt;br /&gt;
        @dsMenuPai VARCHAR(100), &lt;br /&gt;
        @cdMenuPai INT &lt;br /&gt;
&lt;br /&gt;
SELECT @dsMenu = 'Parâmetros de Configuração', &lt;br /&gt;
       @dsMenuPai = 'Cadastro'&lt;br /&gt;
 &lt;br /&gt;
SELECT	@dsMenu = LTRIM(RTRIM(@dsMenu)),&lt;br /&gt;
		@dsMenuPai = LTRIM(RTRIM(@dsMenuPai))&lt;br /&gt;
&lt;br /&gt;
SET @cdMenuPai = (SELECT TOP 1 cd_menu &lt;br /&gt;
                  FROM   menu &lt;br /&gt;
                  WHERE  ds_menu = @dsMenuPai)&lt;br /&gt;
&lt;br /&gt;
IF ( @cdMenuPai IS NOT NULL ) &lt;br /&gt;
  BEGIN &lt;br /&gt;
      IF NOT EXISTS (SELECT 1 &lt;br /&gt;
                     FROM   menu &lt;br /&gt;
                     WHERE  ds_menu = @dsMenu &lt;br /&gt;
                            AND cd_menu_pai = @cdMenuPai) &lt;br /&gt;
        BEGIN &lt;br /&gt;
            INSERT INTO menu &lt;br /&gt;
                        (cd_menu, &lt;br /&gt;
                         ds_menu, &lt;br /&gt;
                         ds_url, &lt;br /&gt;
                         ds_param, &lt;br /&gt;
                         cd_menu_pai, &lt;br /&gt;
                         id_ativo) &lt;br /&gt;
            SELECT Max(Isnull(cd_menu, 0)) + 1, &lt;br /&gt;
                   @dsMenu, &lt;br /&gt;
                   @dsMenu, &lt;br /&gt;
                   NULL, &lt;br /&gt;
                   @cdMenuPai, &lt;br /&gt;
                   'S' &lt;br /&gt;
            FROM   menu &lt;br /&gt;
            &lt;br /&gt;
            PRINT '-----------------  MENU CADASTRADO COM SUCESSO  -----------------'&lt;br /&gt;
			PRINT 'FOI CADASTRADO O SUBMENU &amp;quot;'+ @dsMenu + '&amp;quot; NO MENU &amp;quot;'+ @dsMenuPai + '&amp;quot;!'&lt;br /&gt;
        END &lt;br /&gt;
        ELSE&lt;br /&gt;
        BEGIN&lt;br /&gt;
			PRINT '-----------------  FALHA AO CADASTRAR MENU  -----------------'&lt;br /&gt;
			PRINT 'JÁ EXISTE O SUBMENU &amp;quot;'+ @dsMenu + '&amp;quot; NO MENU &amp;quot;'+ @dsMenuPai + '&amp;quot;!'&lt;br /&gt;
        END&lt;br /&gt;
  END &lt;br /&gt;
&lt;br /&gt;
&amp;lt;/pre&amp;gt;&lt;br /&gt;
&lt;br /&gt;
*Conjunto de Selects para visualizar se há algum desconto sendo persistido na base do Mobile&lt;br /&gt;
&amp;lt;pre&amp;gt;&lt;br /&gt;
select  * from desconto_produto;&lt;br /&gt;
select * from DESCONTO_ORG_PRODUTO;&lt;br /&gt;
select * from DESCONTO_MEGAZORD;&lt;br /&gt;
select * from DESCONTO_ICMS_DIF;&lt;br /&gt;
select * from DESCONTO_CLIENTE_FORNEC;&lt;br /&gt;
select * from DESCONTO_CLIENTE;&lt;br /&gt;
select * from DESCONTO_FORNECEDOR;&lt;br /&gt;
select * from DESCONTO_MEGAZORD_SEGMENTO;&lt;br /&gt;
select * from DESCONTO_UF;&lt;br /&gt;
select  * from desco_cliente_familia;&lt;br /&gt;
select * from DESCO_GRUP_CLIEN_FAMIL;&lt;br /&gt;
select * from desconto_cliente;&lt;br /&gt;
select  * from DESCO_VENDEDOR_FAMILIA;&lt;br /&gt;
select * from DESCO_GRUP_CLIEN_FAMIL;&lt;br /&gt;
select * from DESCO_GRUP_CLIENT_VEND;&lt;br /&gt;
select * from DESCO_GRUPO_CLIEN_PROD;&lt;br /&gt;
select * from DESCONTO_VEND_PRODUTO;&lt;br /&gt;
select * from DESCONTO_UF_PRODUTO;&lt;br /&gt;
select * from DESCONTO_UF_FAMILIA;&lt;br /&gt;
&lt;br /&gt;
select * from DESCONTO_CLIENTE_PRODUT;&lt;br /&gt;
&amp;lt;/pre&amp;gt;&lt;br /&gt;
&lt;br /&gt;
* Select para contar os registros de uma tabela sem derrubar o banco&lt;br /&gt;
&amp;lt;pre&amp;gt;&lt;br /&gt;
SELECT SUM (row_count)&lt;br /&gt;
FROM sys.dm_db_partition_stats&lt;br /&gt;
WHERE object_id=OBJECT_ID('log_alteracao_usuario')   &lt;br /&gt;
AND (index_id=0 or index_id=1);&lt;br /&gt;
&amp;lt;/pre&amp;gt;&lt;br /&gt;
&lt;br /&gt;
* Desabilitar as triggers de geração de registros &lt;br /&gt;
&amp;lt;pre&amp;gt;&lt;br /&gt;
select 'alter table '+ OBJECT_NAME(parent_id)+ ' disable trigger '+name from sys.triggers&lt;br /&gt;
where name like 'log%'&lt;br /&gt;
order by 1, name&lt;br /&gt;
&amp;lt;/pre&amp;gt;&lt;br /&gt;
&lt;br /&gt;
* Habilitar as triggers de geração de registros &lt;br /&gt;
&amp;lt;pre&amp;gt;&lt;br /&gt;
select 'alter table '+ OBJECT_NAME(parent_id)+ ' enable trigger '+name from sys.triggers&lt;br /&gt;
where name like 'log%'&lt;br /&gt;
order by 1, name&lt;br /&gt;
&amp;lt;/pre&amp;gt;&lt;br /&gt;
&lt;br /&gt;
* Consulta para ver os processos em execução no banco da camil&lt;br /&gt;
&amp;lt;pre&amp;gt;&lt;br /&gt;
select DB_NAME(dbid),* from sys.sysprocesses&lt;br /&gt;
where program_name like '%ssmicro%'&lt;br /&gt;
and status like '%run%'&lt;br /&gt;
&lt;br /&gt;
dbcc inputbuffer(61)&lt;br /&gt;
dbcc inputbuffer(65)&lt;br /&gt;
guarda essa consulta&lt;br /&gt;
&amp;lt;/pre&amp;gt;&lt;br /&gt;
&lt;br /&gt;
* Listar todas as bases ativas criando um use bd_ssm_nomeempresa&lt;br /&gt;
&amp;lt;pre&amp;gt;&lt;br /&gt;
select 'Use '+name+';' from sys.databases&lt;br /&gt;
where  &lt;br /&gt;
	name like 'bd_ssm_%' &lt;br /&gt;
	and state_desc = 'online' &lt;br /&gt;
	and name not like '%prontaentrega%' &lt;br /&gt;
	and name not like '%adm%' &lt;br /&gt;
order by name asc;&lt;br /&gt;
&lt;br /&gt;
&amp;lt;/pre&amp;gt;&lt;br /&gt;
&lt;br /&gt;
* Contar os registros da log_alteracao_usuario sem parar o banco de dados&lt;br /&gt;
&amp;lt;pre&amp;gt;&lt;br /&gt;
SELECT SUM (row_count)&lt;br /&gt;
FROM sys.dm_db_partition_stats&lt;br /&gt;
WHERE object_id=OBJECT_ID('log_alteracao_usuario')   &lt;br /&gt;
AND (index_id=0 or index_id=1);&lt;br /&gt;
&amp;lt;/pre&amp;gt;&lt;br /&gt;
&lt;br /&gt;
* Truncar tabela de log&lt;br /&gt;
&amp;lt;pre&amp;gt;&lt;br /&gt;
TRUNCATE TABLE LOG_ALTERACAO_USUARIO;&lt;br /&gt;
&amp;lt;/pre&amp;gt;&lt;br /&gt;
&lt;br /&gt;
* Usando a sys.databases de forma inteligente para economizar trabalho&lt;br /&gt;
&amp;lt;pre&amp;gt;&lt;br /&gt;
select 'use ' + name + '; select ' +name + ',* from CAMPO where cd_campo = 23;'&lt;br /&gt;
from sys.databases&lt;br /&gt;
where name like 'bd_ssm_%' and state_desc &amp;lt;&amp;gt; 'OFFLINE'&lt;br /&gt;
&amp;lt;/pre&amp;gt;&lt;br /&gt;
&lt;br /&gt;
* Listar todos os bancos de dados de empresa da softsite&lt;br /&gt;
&amp;lt;pre&amp;gt;&lt;br /&gt;
select name from sys.databases&lt;br /&gt;
where name like 'bd_ssm_%';&lt;br /&gt;
&amp;lt;/pre&amp;gt;&lt;br /&gt;
&lt;br /&gt;
*Limpeza de cadastros do ADM&lt;br /&gt;
&lt;br /&gt;
&amp;lt;pre&amp;gt;&lt;br /&gt;
SELECT E.NM_EMPRESA, EB.DS_DATABASE, * FROM EMPRESA E &lt;br /&gt;
INNER JOIN EMPRESA_BD EB ON (E.CD_EMPRESA = EB.CD_EMPRESA)&lt;br /&gt;
INNER JOIN sys.sysdatabases SD ON (SD.name = EB.DS_DATABASE) &lt;br /&gt;
&amp;lt;/pre&amp;gt;&lt;br /&gt;
&lt;br /&gt;
&amp;lt;pre&amp;gt;&lt;br /&gt;
SELECT E.CD_EMPRESA, E.NM_EMPRESA, EB.DS_DATABASE, * FROM EMPRESA E &lt;br /&gt;
LEFT JOIN EMPRESA_BD EB ON (E.CD_EMPRESA = EB.CD_EMPRESA)&lt;br /&gt;
LEFT JOIN sys.sysdatabases SD ON (SD.name = EB.DS_DATABASE)&lt;br /&gt;
WHERE &lt;br /&gt;
	SD.name IS NULL	&lt;br /&gt;
&amp;lt;/pre&amp;gt;&lt;br /&gt;
&lt;br /&gt;
&amp;lt;pre&amp;gt;&lt;br /&gt;
&lt;br /&gt;
SELECT E.CD_EMPRESA, E.NM_EMPRESA, EB.DS_DATABASE, * FROM EMPRESA E &lt;br /&gt;
LEFT JOIN EMPRESA_BD EB ON (E.CD_EMPRESA = EB.CD_EMPRESA)&lt;br /&gt;
LEFT JOIN sys.sysdatabases SD ON (SD.name = EB.DS_DATABASE COLLATE SQL_Latin1_General_CP1_CI_AS) &lt;br /&gt;
INNER JOIN sys.databases SBD ON (SBD.name = EB.DS_DATABASE COLLATE SQL_Latin1_General_CP1_CI_AS) &lt;br /&gt;
WHERE &lt;br /&gt;
	state_desc = 'OFFLINE'&lt;br /&gt;
&amp;lt;/pre&amp;gt;&lt;br /&gt;
&lt;br /&gt;
*Tabelas que tem que ser analisadas&lt;br /&gt;
&lt;br /&gt;
&amp;lt;pre&amp;gt;&lt;br /&gt;
EMPRESA_SYNC_SISTEMA&lt;br /&gt;
EMPRESA_SYNC_BD&lt;br /&gt;
EMPRESA_SISTEMA&lt;br /&gt;
EMPRESA_BD&lt;br /&gt;
EMPRESA&lt;br /&gt;
&amp;lt;/pre&amp;gt;&lt;br /&gt;
&lt;br /&gt;
*Deletes necessários para limpar as bases&lt;br /&gt;
&lt;br /&gt;
&amp;lt;pre&amp;gt;&lt;br /&gt;
Na base ADM:&lt;br /&gt;
select * from empresa order by nm_empresa asc&lt;br /&gt;
&amp;lt;/pre&amp;gt;&lt;br /&gt;
&lt;br /&gt;
&amp;lt;pre&amp;gt;&lt;br /&gt;
DELETE FROM EMPRESA_SYNC_BD&lt;br /&gt;
WHERE CD_EMPRESA IN &lt;br /&gt;
(1129)&lt;br /&gt;
&lt;br /&gt;
DELETE FROM EMPRESA_BD&lt;br /&gt;
WHERE CD_EMPRESA IN &lt;br /&gt;
(1129)&lt;br /&gt;
&lt;br /&gt;
DELETE FROM EMPRESA_SYNC_SISTEMA&lt;br /&gt;
WHERE CD_EMPRESA IN &lt;br /&gt;
(1129)&lt;br /&gt;
&lt;br /&gt;
DELETE FROM EMPRESA_SISTEMA&lt;br /&gt;
WHERE CD_EMPRESA IN &lt;br /&gt;
(1129)&lt;br /&gt;
&lt;br /&gt;
DELETE FROM EMPRESA&lt;br /&gt;
WHERE CD_EMPRESA IN &lt;br /&gt;
(1129)&lt;br /&gt;
&amp;lt;/pre&amp;gt;&lt;br /&gt;
&lt;br /&gt;
*Verificar quantidade de conexões abertas por base utilizadas pelo portal&lt;br /&gt;
&amp;lt;pre&amp;gt;&lt;br /&gt;
select db_name(dbid), count(*)&lt;br /&gt;
from sys.sysprocesses&lt;br /&gt;
where 1=1&lt;br /&gt;
--and   db_name(dbid) = 'bd_ssm_criasim'&lt;br /&gt;
and program_name = 'jTDS'&lt;br /&gt;
group &lt;br /&gt;
by db_name(dbid)&lt;br /&gt;
&amp;lt;/pre&amp;gt;&lt;br /&gt;
&lt;br /&gt;
*Comando para gerar os drops das Triggers do claudus&lt;br /&gt;
&amp;lt;pre&amp;gt;&lt;br /&gt;
select ' drop trigger ', tr.name  from sys.sysobjects tr&lt;br /&gt;
inner join sys.sysobjects tb on tr.parent_obj = tb.id and tb.xtype = 'U'&lt;br /&gt;
where tr.xtype = 'tr'&lt;br /&gt;
and tr.name like 'TR_AUDIT%'&lt;br /&gt;
&amp;lt;/pre&amp;gt;&lt;br /&gt;
&lt;br /&gt;
*Remover empresas do import que não estão mais acessíveis na base&lt;br /&gt;
&amp;lt;pre&amp;gt;&lt;br /&gt;
use bd_ssm_adm&lt;br /&gt;
&lt;br /&gt;
select  * &lt;br /&gt;
--update es set id_realiza_importacao&lt;br /&gt;
from EMPRESA_SISTEMA es&lt;br /&gt;
inner join empresa_bd bd on es.CD_EMPRESA = bd.CD_EMPRESA &lt;br /&gt;
left  join sys.databases d on d.name = bd.DS_DATABASE collate Latin1_General_CI_AS&lt;br /&gt;
where (d.name is null or d.snapshot_isolation_state_desc = 'OFF')&lt;br /&gt;
&amp;lt;/pre&amp;gt;&lt;br /&gt;
&lt;br /&gt;
*Listar algo em todas as bases numa consulta só&lt;br /&gt;
&amp;lt;pre&amp;gt;&lt;br /&gt;
select 'select ''' + name + ''', *  from ' + name + '.dbo.INTERFACEERPCONFIGURACAOPARAMETRO where VR_PARAMETRO NOT LIKE ''%PEDIDO%ITEM_PEDIDO%'' UNION ALL'&lt;br /&gt;
from sys.databases&lt;br /&gt;
where name like 'bd_ssm_%' and state_desc &amp;lt;&amp;gt; 'OFFLINE' and (name not like '%pronta%' AND name not like 'bd_ssm_adm')&lt;br /&gt;
&amp;lt;/pre&amp;gt;&lt;br /&gt;
&lt;br /&gt;
*Descobrindo as empresas que importam&lt;br /&gt;
&amp;lt;pre&amp;gt;&lt;br /&gt;
update es set id_realiza_importacao&lt;br /&gt;
from EMPRESA_SISTEMA es&lt;br /&gt;
inner join empresa_bd bd on es.CD_EMPRESA = bd.CD_EMPRESA &lt;br /&gt;
left  join sys.databases d on d.name = bd.DS_DATABASE collate Latin1_General_CI_AS&lt;br /&gt;
where (d.name is null or d.snapshot_isolation_state_desc = 'OFF')&lt;br /&gt;
&amp;lt;/pre&amp;gt;&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
*UPDATE para atualizar dados duplicados da tabela 001&lt;br /&gt;
&amp;lt;pre&amp;gt;&lt;br /&gt;
UPDATE LISTA_PRODUTO_001&lt;br /&gt;
SET data_delete = data_insert+('00:00:00.200')&lt;br /&gt;
where id in (&lt;br /&gt;
-2146273629,&lt;br /&gt;
-2146273628,&lt;br /&gt;
-2146273627,&lt;br /&gt;
-2146273626,&lt;br /&gt;
-2146273625,&lt;br /&gt;
-2146273624,&lt;br /&gt;
-2146273623,&lt;br /&gt;
-2146273622,&lt;br /&gt;
-2146273621)&lt;br /&gt;
&amp;lt;/pre&amp;gt;&lt;br /&gt;
&lt;br /&gt;
*Comando para concatenar dentro do group by &lt;br /&gt;
&amp;lt;pre&amp;gt;&lt;br /&gt;
STUFF&lt;br /&gt;
&lt;br /&gt;
SELECT NM_ESTADO,&lt;br /&gt;
       NM_CIDADE,&lt;br /&gt;
       STUFF(&lt;br /&gt;
               (SELECT DISTINCT ',' + NM_FANTASIA&lt;br /&gt;
                FROM cliente&lt;br /&gt;
                WHERE NM_ESTADO = a.NM_ESTADO&lt;br /&gt;
                  AND NM_CIDADE = a.NM_CIDADE&lt;br /&gt;
                  FOR XML PATH ('')) , 1, 1, '') AS URLList&lt;br /&gt;
FROM cliente AS a&lt;br /&gt;
WHERE NM_ESTADO = 'CE'&lt;br /&gt;
  AND NM_CIDADE = 'fortaleza'&lt;br /&gt;
GROUP BY NM_ESTADO,&lt;br /&gt;
         NM_CIDADE&lt;br /&gt;
&amp;lt;/pre&amp;gt;&lt;br /&gt;
&lt;br /&gt;
*Template base pra criar o script de uma tabela NOVA pro TJ&lt;br /&gt;
&amp;lt;pre&amp;gt;&lt;br /&gt;
/* Criar a tabela TMP pra empresas que utilizam import */&lt;br /&gt;
CREATE TABLE [dbo].[DESCONTO_LOTE_OV_TP_TMP]&lt;br /&gt;
  ( &lt;br /&gt;
     CD_LOTE      int NOT NULL,  &lt;br /&gt;
     CD_ORG_VENDA VARCHAR(20) COLLATE SQL_LATIN1_GENERAL_CP1_CI_AI NOT NULL, &lt;br /&gt;
     CD_TAB_PRECO INT NOT NULL, &lt;br /&gt;
	 PR_DESCONTO  DECIMAL(18, 6) NOT NULL,&lt;br /&gt;
	CONSTRAINT [PK_DESCONTO_LOTE_OV_TP_TMP] PRIMARY KEY CLUSTERED (&lt;br /&gt;
		[CD_LOTE] ASC,&lt;br /&gt;
		[CD_ORG_VENDA] ASC,&lt;br /&gt;
		[CD_TAB_PRECO] ASC&lt;br /&gt;
	) WITH (PAD_INDEX = OFF, STATISTICS_NORECOMPUTE = OFF, IGNORE_DUP_KEY = OFF, ALLOW_ROW_LOCKS = ON, ALLOW_PAGE_LOCKS = ON) ON [PRIMARY]&lt;br /&gt;
) ON [PRIMARY]&lt;br /&gt;
&lt;br /&gt;
/* Criar a tabela de LOG */&lt;br /&gt;
CREATE TABLE LOG_DESCONTO_LOTE_OV_TP&lt;br /&gt;
(&lt;br /&gt;
CD_LOG INT IDENTITY PRIMARY KEY&lt;br /&gt;
,DT_LOG DATETIME NOT NULL&lt;br /&gt;
,TP_OPERACAO VARCHAR(1) NOT NULL&lt;br /&gt;
,ID_KEY VARCHAR(200) NOT NULL&lt;br /&gt;
,CD_LOTE int&lt;br /&gt;
,CD_ORG_VENDA VARCHAR(20)&lt;br /&gt;
,CD_TAB_PRECO INT)&lt;br /&gt;
&lt;br /&gt;
/* Criar tabela 001 seguindo o padrão */&lt;br /&gt;
CREATE TABLE [dbo].[DESCONTO_LOTE_OV_TP_001]&lt;br /&gt;
  ( &lt;br /&gt;
     [id] [int] IDENTITY(-2147483648,1) NOT NULL,&lt;br /&gt;
     CD_LOTE      INT NOT NULL,  &lt;br /&gt;
     CD_ORG_VENDA VARCHAR(20) COLLATE SQL_LATIN1_GENERAL_CP1_CI_AI NOT NULL, &lt;br /&gt;
     CD_TAB_PRECO INT NOT NULL, &lt;br /&gt;
	 PR_DESCONTO  DECIMAL(18, 6) NOT NULL,&lt;br /&gt;
     [data_insert] [datetime] NOT NULL,&lt;br /&gt;
	 [data_update] [datetime] NULL,&lt;br /&gt;
	 [data_delete] [datetime] NULL,&lt;br /&gt;
PRIMARY KEY NONCLUSTERED &lt;br /&gt;
(&lt;br /&gt;
	[id] ASC&lt;br /&gt;
)WITH (PAD_INDEX = OFF, STATISTICS_NORECOMPUTE = OFF, IGNORE_DUP_KEY = OFF, ALLOW_ROW_LOCKS = ON, ALLOW_PAGE_LOCKS = ON) ON [PRIMARY]&lt;br /&gt;
) ON [PRIMARY]&lt;br /&gt;
&lt;br /&gt;
/* Adicionar Index */&lt;br /&gt;
CREATE CLUSTERED INDEX PK_DESCONTO_LOTE_OV_TP ON DESCONTO_LOTE_OV_TP_001 (CD_LOTE ASC, CD_ORG_VENDA ASC, CD_TAB_PRECO ASC)&lt;br /&gt;
&lt;br /&gt;
/* Adicionar constraint */&lt;br /&gt;
ALTER TABLE [dbo].[DESCONTO_LOTE_OV_TP_001] ADD  CONSTRAINT [DF_DATA_INSERCAO_DESCONTO]  DEFAULT (getdate()) FOR [data_insert]&lt;br /&gt;
&lt;br /&gt;
/* Criar trigger na tabela nova adicionando os campos necessários */&lt;br /&gt;
CREATE TRIGGER [dbo].[TR_TJ_UPDATE_DESCONTO_LOTE_OV_TP]&lt;br /&gt;
ON [dbo].[DESCONTO_LOTE_OV_TP_001]&lt;br /&gt;
instead OF UPDATE&lt;br /&gt;
AS&lt;br /&gt;
  BEGIN&lt;br /&gt;
      SET nocount ON;&lt;br /&gt;
&lt;br /&gt;
      UPDATE t&lt;br /&gt;
      SET    t.data_update = case when s.data_delete is null then  Getdate() else t.data_update end ,&lt;br /&gt;
             T.CD_LOTE = S.CD_LOTE,&lt;br /&gt;
			 T.CD_ORG_VENDA = S.CD_ORG_VENDA,&lt;br /&gt;
			 T.CD_TAB_PRECO = S.CD_TAB_PRECO,&lt;br /&gt;
			 T.PR_DESCONTO = S.PR_DESCONTO,&lt;br /&gt;
             t.data_delete = s.data_delete&lt;br /&gt;
      FROM   DESCONTO_LOTE_OV_TP_001 t&lt;br /&gt;
             INNER JOIN inserted s&lt;br /&gt;
                     ON ( t.id = s.id )&lt;br /&gt;
&lt;br /&gt;
  END&lt;br /&gt;
&lt;br /&gt;
/* Criar a view TJ */&lt;br /&gt;
CREATE VIEW [dbo].[DESCONTO_LOTE_OV_TP_TJ]&lt;br /&gt;
AS&lt;br /&gt;
  SELECT id,&lt;br /&gt;
         CD_LOTE, CD_ORG_VENDA, CD_TAB_PRECO, PR_DESCONTO&lt;br /&gt;
  FROM   DESCONTO_LOTE_OV_TP_001&lt;br /&gt;
  WHERE  data_delete IS NULL&lt;br /&gt;
&lt;br /&gt;
/* Criar Trigger da view */&lt;br /&gt;
CREATE TRIGGER [dbo].[TR_TJ_DELETE_DESCONTO_LOTE_OV_TP]&lt;br /&gt;
ON [dbo].[DESCONTO_LOTE_OV_TP_TJ]&lt;br /&gt;
instead OF DELETE&lt;br /&gt;
AS&lt;br /&gt;
  BEGIN&lt;br /&gt;
      SET nocount ON;&lt;br /&gt;
&lt;br /&gt;
      UPDATE t&lt;br /&gt;
      SET    data_delete = Getdate()&lt;br /&gt;
      FROM   deleted s&lt;br /&gt;
             INNER JOIN DESCONTO_LOTE_OV_TP_001 t&lt;br /&gt;
                     ON s.id = t.id&lt;br /&gt;
&lt;br /&gt;
  END&lt;br /&gt;
&lt;br /&gt;
/* Criar a view */&lt;br /&gt;
CREATE VIEW [dbo].[DESCONTO_LOTE_OV_TP]&lt;br /&gt;
AS&lt;br /&gt;
  SELECT CD_LOTE, CD_ORG_VENDA, CD_TAB_PRECO, PR_DESCONTO&lt;br /&gt;
  FROM   DESCONTO_LOTE_OV_TP_tj&lt;br /&gt;
&lt;br /&gt;
/* Criar a função de navegação */&lt;br /&gt;
CREATE FUNCTION fn_REGISTRO_SYNC_DESCONTO_LOTE_OV_TP(@ID_VENDEDOR  INT,&lt;br /&gt;
                                                           @DT_LAST_SINC DATETIME)&lt;br /&gt;
RETURNS TABLE&lt;br /&gt;
AS&lt;br /&gt;
    RETURN&lt;br /&gt;
      (SELECT	DLOT.id,&lt;br /&gt;
				DLOT.CD_LOTE,&lt;br /&gt;
				DLOT.CD_ORG_VENDA,&lt;br /&gt;
				DLOT.CD_TAB_PRECO,&lt;br /&gt;
				DLOT.PR_DESCONTO,&lt;br /&gt;
				DLOT.DATA_DELETE&lt;br /&gt;
        FROM   DESCONTO_LOTE_OV_TP_001 DLOT&lt;br /&gt;
		WHERE  &lt;br /&gt;
			(&lt;br /&gt;
				( &lt;br /&gt;
					( &lt;br /&gt;
						( DLOT.DATA_INSERT &amp;gt;= @DT_LAST_SINC&lt;br /&gt;
							OR DLOT.DATA_UPDATE &amp;gt;= @DT_LAST_SINC &lt;br /&gt;
						)&lt;br /&gt;
						AND DLOT.DATA_DELETE IS NULL &lt;br /&gt;
					)&lt;br /&gt;
					OR ( DLOT.DATA_DELETE &amp;gt;= @DT_LAST_SINC&lt;br /&gt;
							AND DLOT.DATA_INSERT &amp;lt; @DT_LAST_SINC&lt;br /&gt;
							AND NOT EXISTS(SELECT 1&lt;br /&gt;
											FROM   DESCONTO_LOTE_OV_TP_001 T&lt;br /&gt;
											WHERE  DLOT.CD_LOTE = T.CD_LOTE&lt;br /&gt;
											AND DLOT.CD_ORG_VENDA = T.CD_ORG_VENDA&lt;br /&gt;
											AND DLOT.CD_TAB_PRECO = T.CD_TAB_PRECO&lt;br /&gt;
												AND T.DATA_DELETE IS NULL&lt;br /&gt;
											)&lt;br /&gt;
					)&lt;br /&gt;
					OR ( &lt;br /&gt;
						@DT_LAST_SINC IS NULL&lt;br /&gt;
						AND DLOT.DATA_DELETE IS NULL&lt;br /&gt;
					)&lt;br /&gt;
				) &lt;br /&gt;
			)&lt;br /&gt;
		)&lt;br /&gt;
&lt;br /&gt;
/* Adicionando a função na tabela */&lt;br /&gt;
INSERT INTO TAMOJUNTO_TABELA_FUNCAO (NM_TABLE, NM_FN, FL_ATIVA) VALUES ('DESCONTO_LOTE_OV_TP', 'fn_REGISTRO_SYNC_DESCONTO_LOTE_OV_TP', 1)&lt;br /&gt;
&amp;lt;/pre&amp;gt;&lt;br /&gt;
&lt;br /&gt;
* Consulta para retornar os 20 processos que estão consumindo mais recursos de cpu no momento&lt;br /&gt;
&amp;lt;pre&amp;gt;&lt;br /&gt;
&lt;br /&gt;
SELECT TOP 20&lt;br /&gt;
GETDATE() AS 'Collection Date',&lt;br /&gt;
qs.execution_count AS 'Execution Count',&lt;br /&gt;
SUBSTRING(qt.text,qs.statement_start_offset/2 +1,&lt;br /&gt;
(CASE WHEN qs.statement_end_offset = -1&lt;br /&gt;
THEN LEN(CONVERT(NVARCHAR(MAX), qt.text)) * 2&lt;br /&gt;
ELSE qs.statement_end_offset END -qs.statement_start_offset)/2&lt;br /&gt;
) AS 'Query Text',&lt;br /&gt;
DB_NAME(qt.dbid) AS 'DB Name',&lt;br /&gt;
qs.total_worker_time AS 'Total CPU Time',&lt;br /&gt;
qs.total_worker_time/qs.execution_count AS 'Avg CPU Time (ms)',&lt;br /&gt;
qs.total_physical_reads AS 'Total Physical Reads',&lt;br /&gt;
qs.total_physical_reads/qs.execution_count AS 'Avg Physical Reads',&lt;br /&gt;
qs.total_logical_reads AS 'Total Logical Reads',&lt;br /&gt;
qs.total_logical_reads/qs.execution_count AS 'Avg Logical Reads',&lt;br /&gt;
qs.total_logical_writes AS 'Total Logical Writes',&lt;br /&gt;
qs.total_logical_writes/qs.execution_count AS 'Avg Logical Writes',&lt;br /&gt;
qs.total_elapsed_time AS 'Total Duration',&lt;br /&gt;
qs.total_elapsed_time/qs.execution_count AS 'Avg Duration (ms)',&lt;br /&gt;
qp.query_plan AS 'Plan'&lt;br /&gt;
FROM sys.dm_exec_query_stats AS qs&lt;br /&gt;
CROSS APPLY sys.dm_exec_sql_text(qs.sql_handle) AS qt&lt;br /&gt;
CROSS APPLY sys.dm_exec_query_plan(qs.plan_handle) AS qp&lt;br /&gt;
WHERE&lt;br /&gt;
qs.execution_count &amp;gt; 50 OR&lt;br /&gt;
qs.total_worker_time/qs.execution_count &amp;gt; 100 OR&lt;br /&gt;
qs.total_physical_reads/qs.execution_count &amp;gt; 1000 OR&lt;br /&gt;
qs.total_logical_reads/qs.execution_count &amp;gt; 1000 OR&lt;br /&gt;
qs.total_logical_writes/qs.execution_count &amp;gt; 1000 OR&lt;br /&gt;
qs.total_elapsed_time/qs.execution_count &amp;gt; 1000&lt;br /&gt;
ORDER BY&lt;br /&gt;
qs.execution_count DESC,&lt;br /&gt;
qs.total_elapsed_time/qs.execution_count DESC,&lt;br /&gt;
qs.total_worker_time/qs.execution_count DESC,&lt;br /&gt;
qs.total_physical_reads/qs.execution_count DESC,&lt;br /&gt;
qs.total_logical_reads/qs.execution_count DESC,&lt;br /&gt;
qs.total_logical_writes/qs.execution_count DESC&lt;br /&gt;
GO&lt;br /&gt;
&lt;br /&gt;
&amp;lt;/pre&amp;gt;&lt;br /&gt;
&lt;br /&gt;
* Consulta para ver se uma trigger está habilitada&lt;br /&gt;
&lt;br /&gt;
&amp;lt;pre&amp;gt;&lt;br /&gt;
&lt;br /&gt;
select  ObjectProperty(Object_id(Name),'ExecIsTriggerDisabled') STATUS from sys.sysobjects where name = 'LOG_ALTERACAO_DELETE_PRODUTO_ESTOQUE'&lt;br /&gt;
&lt;br /&gt;
&amp;lt;/pre&amp;gt;&lt;br /&gt;
&lt;br /&gt;
* Checar se um campo existe em uma tabela&lt;br /&gt;
&lt;br /&gt;
&amp;lt;pre&amp;gt;&lt;br /&gt;
&lt;br /&gt;
SELECT T.name AS Tabela, C.name AS Coluna&lt;br /&gt;
FROM sys.sysobjects    AS T (NOLOCK) &lt;br /&gt;
INNER JOIN sys.all_columns AS C (NOLOCK) ON T.id = C.object_id AND T.XTYPE = 'U' &lt;br /&gt;
WHERE C.NAME LIKE '%CAMPO%'&lt;br /&gt;
ORDER BY T.name ASC&lt;br /&gt;
&lt;br /&gt;
&amp;lt;/pre&amp;gt;&lt;br /&gt;
&lt;br /&gt;
* Alterar os paths de dados de importação da modelo para o nome da empresa cadastrada&lt;br /&gt;
&amp;lt;pre&amp;gt;&lt;br /&gt;
USE bd_ssm_jptripas&lt;br /&gt;
&lt;br /&gt;
DECLARE @empresa varchar(50);&lt;br /&gt;
SET @empresa = 'jptripas';&lt;br /&gt;
&lt;br /&gt;
UPDATE CONFIGURACAO SET DS_VALOR = 'C:\Sistema\SSM\publico\'+@empresa+'\exportacao' WHERE DS_CHAVE='DS_PATH_ARQS_EXPORTACAO'&lt;br /&gt;
UPDATE CONFIGURACAO SET DS_VALOR = 'C:\Sistema\SSM\publico\'+@empresa+'\exportacao\backup' WHERE DS_CHAVE='DS_PATH_ARQS_EXPORTACAO_BKP'&lt;br /&gt;
UPDATE CONFIGURACAO SET DS_VALOR = 'C:\Sistema\SSM\publico\'+@empresa+'\importacao' WHERE DS_CHAVE='DS_PATH_ARQS_IMPORTACAO'&lt;br /&gt;
UPDATE CONFIGURACAO SET DS_VALOR = 'C:\Sistema\SSM\publico\'+@empresa+'\describer' WHERE DS_CHAVE='DS_PATH_DESCRIBER'&lt;br /&gt;
UPDATE CONFIGURACAO SET DS_VALOR = 'C:\Sistema\SSM\publico\'+@empresa+'\versao' WHERE DS_CHAVE='DS_PATH_DIRS_VERSOES'&lt;br /&gt;
&lt;br /&gt;
UPDATE CONFIGURACOES SET DS_PATH_ARQS_IMPORTACAO = 'C:\Sistema\SSM\publico\'+@empresa+'\importacao' WHERE CD_CONFIGURACAO=1&lt;br /&gt;
UPDATE CONFIGURACOES SET DS_PATH_ARQS_EXPORTACAO = 'C:\Sistema\SSM\publico\'+@empresa+'\exportacao' WHERE CD_CONFIGURACAO=1&lt;br /&gt;
UPDATE CONFIGURACOES SET DS_PATH_ARQS_EXPORTACAO_BKP= 'C:\Sistema\SSM\publico\'+@empresa+'\importacao' WHERE CD_CONFIGURACAO=1&lt;br /&gt;
UPDATE CONFIGURACOES SET DS_PATH_DESCRIBER = 'C:\Sistema\SSM\publico\'+@empresa+'\describer' WHERE CD_CONFIGURACAO=1&lt;br /&gt;
UPDATE CONFIGURACOES SET DS_PATH_DIRS_VERSOES = 'C:\Sistema\SSM\publico\'+@empresa+'\versao' WHERE CD_CONFIGURACAO=1&lt;br /&gt;
&amp;lt;/pre&amp;gt;&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
* Script para análise de que se existe a tabela no tamojunto para inserir&lt;br /&gt;
&amp;lt;pre&amp;gt;&lt;br /&gt;
select ' USE ' + name + '; IF(((SELECT COUNT(*) FROM tamojunto_tabela_funcao WHERE NM_TABLE = ''CLIENTE'') = 0) AND (EXISTS (SELECT TOP 1 1 FROM   sys.objects WHERE  NAME = ''CLIENTE_001''))) BEGIN INSERT INTO tamojunto_tabela_funcao VALUES (''CLIENTE'', ''fn_REGISTRO_SYNC_CLIENTE'', 1) END' from sys.databases&lt;br /&gt;
where  &lt;br /&gt;
	name like 'bd_ssm_%' &lt;br /&gt;
	and state_desc = 'online' &lt;br /&gt;
	and name not like '%prontaentrega%' &lt;br /&gt;
	and name not like '%adm%'  &lt;br /&gt;
	and name not like '%protheus%'&lt;br /&gt;
	and name not like '%login%' &lt;br /&gt;
order by name asc;&lt;br /&gt;
&amp;lt;/pre&amp;gt;&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
* Script para contar quantas licenças uma empresa tem.&lt;br /&gt;
&amp;lt;pre&amp;gt;&lt;br /&gt;
DECLARE @VisaoLicencasUsuariosPorEmpresa TABLE ( &lt;br /&gt;
  NM_EMPRESA VARCHAR(50),&lt;br /&gt;
  NR_LICENCAS INT,&lt;br /&gt;
  NR_LICENCAS_PORTAL INT,&lt;br /&gt;
  NR_USUARIOS_SOMENTE_PORTAL INT,&lt;br /&gt;
  NR_USUARIOS_SOMENTE_MOBILE INT,&lt;br /&gt;
  NR_USUARIOS_PORTAL_MOBILE INT,&lt;br /&gt;
  NR_USUARIOS_PORTAL_MOBILE_UNICO INT,&lt;br /&gt;
  NR_USUARIOS_TOTAL INT)&lt;br /&gt;
&lt;br /&gt;
DECLARE @NrLicencas INT, @NrLicencasPortal INT, @NmEmpresa VARCHAR(50), &lt;br /&gt;
@NrUsuariosSomentePortal INT, @NrUsuariosSomenteMobile INT, @NrUsuariosPortalMobile INT, @NrUsuariosPortalMobileUnico INT;&lt;br /&gt;
SELECT @NmEmpresa = 'makita',   @NrLicencas = (SELECT TOP 1 ISNULL(ES.NR_LICENCAS, 0) FROM bd_ssm_adm..EMPRESA_BD EB INNER JOIN bd_ssm_adm..EMPRESA_SISTEMA ES ON EB.CD_EMPRESA = ES.CD_EMPRESA WHERE EB.DS_DATABASE = 'bd_ssm_makita'),   @NrLicencasPortal = (SELECT TOP 1 CAST(ISNULL(ES.NR_LICENCAS_PORTAL, 0) AS VARCHAR(10)) FROM bd_ssm_adm..EMPRESA_BD EB INNER JOIN bd_ssm_adm..EMPRESA_SISTEMA ES ON EB.CD_EMPRESA = ES.CD_EMPRESA WHERE EB.DS_DATABASE = 'bd_ssm_makita'),    @NrUsuariosSomenteMobile = (SELECT ISNULL(COUNT(*), 0) FROM bd_ssm_makita..DADOS_VENDEDOR WHERE ID_PALM IS NOT NULL AND CD_USUARIO_SEGURANCA IS NULL),   @NrUsuariosSomentePortal = (SELECT ISNULL(COUNT(*), 0) FROM bd_ssm_makita..TUSUARIO WHERE (ID_USER_SOFTSITE &amp;lt;&amp;gt; 'S' OR ID_USER_SOFTSITE IS NULL) AND CD_USUARIO NOT IN (SELECT DISTINCT CD_USUARIO_SEGURANCA FROM bd_ssm_makita..DADOS_VENDEDOR WHERE CD_USUARIO_SEGURANCA IS NOT NULL)),   @NrUsuariosPortalMobile = (SELECT ISNULL(COUNT(*), 0) FROM bd_ssm_makita..TUSUARIO T INNER JOIN bd_ssm_makita..DADOS_VENDEDOR DV ON T.CD_USUARIO = DV.CD_USUARIO_SEGURANCA WHERE (ID_USER_SOFTSITE &amp;lt;&amp;gt; 'S' OR ID_USER_SOFTSITE IS NULL) AND ID_PALM IS NOT NULL),   @NrUsuariosPortalMobileUnico = (SELECT ISNULL(COUNT(DISTINCT CD_USUARIO_SEGURANCA), 0) FROM bd_ssm_makita..DADOS_VENDEDOR WHERE CD_USUARIO_SEGURANCA IS NOT NULL AND ID_PALM IS NOT NULL);   &lt;br /&gt;
INSERT INTO @VisaoLicencasUsuariosPorEmpresa VALUES (@NmEmpresa, @NrLicencas, @NrLicencasPortal, @NrUsuariosSomentePortal, @NrUsuariosSomenteMobile, @NrUsuariosPortalMobile, @NrUsuariosPortalMobileUnico, (@NrUsuariosPortalMobile + @NrUsuariosSomenteMobile + @NrUsuariosSomentePortal));&lt;br /&gt;
SELECT * FROM @VisaoLicencasUsuariosPorEmpresa;&lt;br /&gt;
&amp;lt;/pre&amp;gt;&lt;br /&gt;
&lt;br /&gt;
* Código que deve ser executado quando se restaurar uma base de produção em homologação.&lt;br /&gt;
&amp;lt;pre&amp;gt;&lt;br /&gt;
UPDATE CONFIGURACAO SET DS_VALOR = 'http://homologacao.geosalesmobile.com/super/supervisor/gerencial/getRelatorioGerencial/' WHERE DS_CHAVE = 'DS_URL_REL_GERENCIAL'&lt;br /&gt;
UPDATE CONFIGURACAO SET DS_VALOR = 'http://homologacao.geosalesmobile.com/super/services/WebService' WHERE DS_CHAVE = 'DS_URL_SERVICE'&lt;br /&gt;
UPDATE CONFIGURACAO SET DS_VALOR = 'http://sync.geosalesmobile.com:8184/ssmservices' WHERE DS_CHAVE = 'GPS_BASE_URL'&lt;br /&gt;
UPDATE CONFIGURACAO SET DS_VALOR = 'http://sync.geosalesmobile.com:8184/ssmservices' WHERE DS_CHAVE = 'URL_WEBSERVICE'&lt;br /&gt;
&amp;lt;/pre&amp;gt;&lt;/div&gt;</summary>
		<author><name>Raphael</name></author>
	</entry>
	<entry>
		<id>http://wiki.geosales.com.br:8000/index.php?title=Funcionalidade/Cota_de_produto&amp;diff=2351</id>
		<title>Funcionalidade/Cota de produto</title>
		<link rel="alternate" type="text/html" href="http://wiki.geosales.com.br:8000/index.php?title=Funcionalidade/Cota_de_produto&amp;diff=2351"/>
		<updated>2017-01-27T16:37:56Z</updated>

		<summary type="html">&lt;p&gt;Raphael: &lt;/p&gt;
&lt;hr /&gt;
&lt;div&gt;Determina quantos produtos essa vendedor poderá vender em determinado intervalo de tempo.&lt;br /&gt;
&lt;br /&gt;
Entre outras coisas, a cota serve para:&lt;br /&gt;
* pulverização das vendas de certo produto&lt;br /&gt;
* controlar (e garantir) estoque de vendas&lt;br /&gt;
&lt;br /&gt;
=Cota por vendedor=&lt;br /&gt;
&lt;br /&gt;
Os dados se encontram na tabela '''COTA_PRODUTO'''. É mandatório que se determine na cota o produto ('''CD_PRODUTO'''), o vendedor ('''CD_VENDEDOR'''), a quantia de produtos a serem vendidas ('''QT_COTA''') e os dias de começo ('''DT_INI''') e fim ('''DT_FIM''') da cota.&lt;br /&gt;
&lt;br /&gt;
Todo pedido realizado dentro do prazo da cota, esse pedido servirá para totalizar a quantidade usada da cota. Caso a inserção (ou atualização) de um item em um pedido cause uma totalização com uma quantia maior do que a prevista na cota do vendedor, o sistema impedirá essa ação.&lt;br /&gt;
&lt;br /&gt;
O saldo de uma cota é calculado como a quantia de produtos menos a quantia já usada.&lt;br /&gt;
&lt;br /&gt;
==Cota por vendedor e cliente==&lt;br /&gt;
&lt;br /&gt;
Funciona de modo idêntico à [[#Cota por vendedor|Cota por vendedor]], porém só são usados para a totalização as vendas utilizadas para um cliente específico. Para identificar que uma cota pertence a essa variação, a coluna '''CD_CLIENTE''' deve estar preenchida.&lt;br /&gt;
&lt;br /&gt;
=Misturando cotas=&lt;br /&gt;
&lt;br /&gt;
O totalizador de uma cota é sempre definido dinamicamente, então um mesmo vendedor pode ter quantas cotas for preciso, ortogonalmente. Isso significa que a [[#Dominância de cotas|cota dominante]] é a que será levada em consideração para o impedimento.&lt;br /&gt;
&lt;br /&gt;
Por exemplo, caso o vendedor possua uma cota geral de 500 produtos (com 200 de saldo) e uma cota por cliente de 200 (com saldo de 100), ele só poderá vender para esse cliente 100 produtos. Após essa venda, o saldo da cota geral será de 100, enquanto que o saldo para esse cliente específico será de 0.&lt;br /&gt;
&lt;br /&gt;
==Dominância de cotas==&lt;br /&gt;
&lt;br /&gt;
Todas as cotas que atendam os requisitos do pedido sendo tirado são levadas em consideração. A cota que irá impedir, a cota que irá dominar, será aquela com o menor saldo restante.&lt;br /&gt;
&lt;br /&gt;
=Configuração=&lt;br /&gt;
&lt;br /&gt;
Para ativação dessa funcionalidade faz-se necessário o cadastro da configuração ID_UTILIZA_COTA_PRODUTO.&lt;br /&gt;
Essa configuração é booleana então os valores aceitáveis são &amp;quot;S&amp;quot; ou &amp;quot;N&amp;quot;, com &amp;quot;N&amp;quot; valor default.&lt;br /&gt;
&lt;br /&gt;
[[Category:Funcionalidade]]&lt;/div&gt;</summary>
		<author><name>Raphael</name></author>
	</entry>
	<entry>
		<id>http://wiki.geosales.com.br:8000/index.php?title=Funcionalidade/Cota_de_produto&amp;diff=2347</id>
		<title>Funcionalidade/Cota de produto</title>
		<link rel="alternate" type="text/html" href="http://wiki.geosales.com.br:8000/index.php?title=Funcionalidade/Cota_de_produto&amp;diff=2347"/>
		<updated>2017-01-27T14:13:13Z</updated>

		<summary type="html">&lt;p&gt;Raphael: &lt;/p&gt;
&lt;hr /&gt;
&lt;div&gt;Determina quantos produtos essa vendedor poderá vender em determinado intervalo de tempo.&lt;br /&gt;
&lt;br /&gt;
Entre outras coisas, a cota serve para:&lt;br /&gt;
* pulverização das vendas de certo produto&lt;br /&gt;
* controlar (e garantir) estoque de vendas&lt;br /&gt;
&lt;br /&gt;
=Cota por vendedor=&lt;br /&gt;
&lt;br /&gt;
Os dados se encontram na tabela '''COTA_PRODUTO'''. É mandatório que se determine na cota o produto ('''CD_PRODUTO'''), o vendedor ('''CD_VENDEDOR'''), a quantia de produtos a serem vendidas ('''QT_COTA''') e os dias de começo ('''DT_INI''') e fim ('''DT_FIM''') da cota.&lt;br /&gt;
&lt;br /&gt;
Todo pedido realizado dentro do prazo da cota, esse pedido servirá para totalizar a quantidade usada da cota. Caso a inserção (ou atualização) de um item em um pedido cause uma totalização com uma quantia maior do que a prevista na cota do vendedor, o sistema impedirá essa ação.&lt;br /&gt;
&lt;br /&gt;
O saldo de uma cota é calculado como a quantia de produtos menos a quantia já usada.&lt;br /&gt;
&lt;br /&gt;
==Cota por vendedor e cliente==&lt;br /&gt;
&lt;br /&gt;
Funciona de modo idêntico à [[#Cota por vendedor|Cota por vendedor]], porém só são usados para a totalização as vendas utilizadas para um cliente específico. Para identificar que uma cota pertence a essa variação, a coluna '''CD_CLIENTE''' deve estar preenchida.&lt;br /&gt;
&lt;br /&gt;
=Misturando cotas=&lt;br /&gt;
&lt;br /&gt;
O totalizador de uma cota é sempre definido dinamicamente, então um mesmo vendedor pode ter quantas cotas for preciso, ortogonalmente. Isso significa que a [[#Dominância de cotas|cota dominante]] é a que será levada em consideração para o impedimento.&lt;br /&gt;
&lt;br /&gt;
Por exemplo, caso o vendedor possua uma cota geral de 500 produtos (com 200 de saldo) e uma cota por cliente de 200 (com saldo de 100), ele só poderá vender para esse cliente 100 produtos. Após essa venda, o saldo da cota geral será de 100, enquanto que o saldo para esse cliente específico será de 0.&lt;br /&gt;
&lt;br /&gt;
==Dominância de cotas==&lt;br /&gt;
&lt;br /&gt;
Todas as cotas que atendam os requisitos do pedido sendo tirado são levadas em consideração. A cota que irá impedir, a cota que irá dominar, será aquela com o menor saldo restante.&lt;br /&gt;
&lt;br /&gt;
==Configuração==&lt;br /&gt;
&lt;br /&gt;
Para ativação dessa funcionalidade faz-se necessário o cadastro da configuração ID_UTILIZA_COTA_PRODUTO.&lt;br /&gt;
Essa configuração é booleana então os valores aceitáveis são &amp;quot;S&amp;quot; ou &amp;quot;N&amp;quot;, com &amp;quot;N&amp;quot; valor default.&lt;br /&gt;
&lt;br /&gt;
[[Category:Funcionalidade]]&lt;/div&gt;</summary>
		<author><name>Raphael</name></author>
	</entry>
	<entry>
		<id>http://wiki.geosales.com.br:8000/index.php?title=Projeto/Produto&amp;diff=1181</id>
		<title>Projeto/Produto</title>
		<link rel="alternate" type="text/html" href="http://wiki.geosales.com.br:8000/index.php?title=Projeto/Produto&amp;diff=1181"/>
		<updated>2016-12-20T18:22:55Z</updated>

		<summary type="html">&lt;p&gt;Raphael: &lt;/p&gt;
&lt;hr /&gt;
&lt;div&gt;* [[Validade de sincronismo de acordo com fuso horário do vendedor]]&lt;br /&gt;
* [[Regras valor mínimo]]&lt;br /&gt;
* [[Data de Entrega]]&lt;br /&gt;
* [[Data de Entrega Automática]]&lt;br /&gt;
* [[Configurações]]&lt;br /&gt;
* [[Funcionalidade/Limite de crédito|Limite de crédito]]&lt;/div&gt;</summary>
		<author><name>Raphael</name></author>
	</entry>
</feed>