Processo de Restore de Banco Modelo

De GeoSales
Revisão de 20h44min de 3 de janeiro de 2017 por Anderson (discussão | contribs)
(dif) ← Edição anterior | Revisão atual (dif) | Versão posterior → (dif)
Ir para navegação Ir para pesquisar
  • Processo de criação de base de clientes a partir de uma base modelo em homologação

Script para criação da empresa:

-- CADASTRO DE EMPRESA NA BASE DE SEGURANÇA 
USE bd_ssm_adm

DECLARE @nmCurtoEmpresa VARCHAR,
@dsDatabase VARCHAR, 
@nrLicencas VARCHAR, 
@cdEmpresa INT, 
@cdEmpresaExists INT, 
@cdSistema INT, 
@host VARCHAR, 
@idRealizaImportacao INT

SELECT @host = 'mummra', 
@nmCurtoEmpresa = 'plastilit', 
@dsDatabase = 'bd_ssm_plastilit', 
@cdEmpresa = (SELECT Max(Isnull(cd_empresa, 0)) + 1 
FROM EMPRESA), 
@cdSistema = 1, 
@idRealizaImportacao = 0, 
@nrLicencas = '10'

IF EXISTS (SELECT 1 
FROM EMPRESA 
WHERE nc_empresa = @nmCurtoEmpresa) 
BEGIN 
SET @cdEmpresaExists = (SELECT cd_empresa 
FROM EMPRESA 
WHERE nc_empresa = @nmCurtoEmpresa)

DELETE FROM EMPRESA_SISTEMA 
      WHERE  cd_empresa = @cdEmpresaExists
DELETE FROM EMPRESA_BD 
      WHERE  cd_empresa = @cdEmpresaExists
DELETE FROM EMPRESA 
      WHERE  cd_empresa = @cdEmpresaExists
PRINT 'Empresa ' + @nmCurtoEmpresa + ' removida do sistema ;-(' 
  END
IF NOT EXISTS (SELECT 1 
FROM EMPRESA 
WHERE nc_empresa = @nmCurtoEmpresa) 
BEGIN 
INSERT INTO EMPRESA 
(cd_empresa, 
nm_empresa, 
nc_empresa) 
SELECT @cdEmpresa, 
@nmCurtoEmpresa, 
@nmCurtoEmpresa

INSERT INTO EMPRESA_BD 
                  (id_empresabd, 
                   cd_empresa, 
                   cd_sistema, 
                   ds_autocommit, 
                   ds_driverclass, 
                   ds_pingquery, 
                   nr_maxcount, 
                   nr_mincount, 
                   ds_url, 
                   ds_user, 
                   ds_password, 
                   ds_server, 
                   ds_database, 
                   nr_intervalo_despejo, 
                   nr_min_tempo_idle_antes_despejo) 
      SELECT TOP 1 @cdEmpresa, 
                   @cdEmpresa, 
                   @cdSistema, 
                   ds_autocommit, 
                   ds_driverclass, 
                   ds_pingquery, 
                   nr_maxcount, 
                   nr_mincount, 
                   'jdbc:jtds:sqlserver://' + @host + '/' 
                   + @dsDatabase, 
                   ds_user, 
                   ds_password, 
                   @host, 
                   @dsDatabase, 
                   nr_intervalo_despejo, 
                   nr_min_tempo_idle_antes_despejo 
      FROM   EMPRESA_BD
INSERT INTO EMPRESA_SYNC_BD 
                  (CD_EMPRESA_SYNC_BD, 
                   cd_empresa, 
                   DS_AUTOCOMMIT, 
                   DS_DRIVERCLASS,  
                   ds_pingquery, 
                   nr_maxcount, 
                   nr_mincount, 
                   ds_url, 
                   ds_user, 
                   ds_password, 
                   ds_server, 
                   ds_database, 
                   nr_intervalo_despejo, 
                   nr_min_tempo_idle_antes_despejo) 
      SELECT TOP 1 @cdEmpresa, 
                   @cdEmpresa, 
                   ds_autocommit, 
                   ds_driverclass, 
                   ds_pingquery, 
                   nr_maxcount, 
                   nr_mincount, 
                    'jdbc:jtds:sqlserver://'+ @host '/' @dsDatabase ,
                   ds_user, 
                   ds_password, 
                   @host, 
                   @dsDatabase, 
                   nr_intervalo_despejo, 
                   nr_min_tempo_idle_antes_despejo
FROM   EMPRESA_SYNC_BD
INSERT INTO EMPRESA_SISTEMA 
                  (id_empresasistema, 
                   cd_empresa, 
                   nr_licencas, 
                   nr_serial, 
                   id_realiza_importacao, 
                   id_datacenter, 
                   id_ativo, 
                   id_manutencao, 
                   ds_url_sistema, 
                   id_sistemaversao, 
                   nr_licencas_portal, 
                   nr_licencas_trade, 
                   nr_licencas_supervisor) 
      SELECT TOP 1 @cdEmpresa, 
                   @cdEmpresa, 
                   @nrLicencas, 
                   nr_serial, 
                   @idRealizaImportacao, 
                   id_datacenter, 
                   id_ativo, 
                   id_manutencao, 
                   ds_url_sistema, 
                   id_sistemaversao, 
                   nr_licencas_portal, 
                   nr_licencas_trade, 
                   nr_licencas_supervisor 
      FROM   EMPRESA_SISTEMA
PRINT 'Empresa ' + @nmCurtoEmpresa + ' cadastrada com sucesso. =D' 
  END 
ELSE 
  BEGIN 
      PRINT 'Empresa ' + @nmCurtoEmpresa + ' ja cadastrada. ;(' 
  END

Adição de mais configurações para permitir a importação via txt. Setagem da importação como falha para que o import possa ser executado novamente com os dados corretos.

use bd_ssm_plastilit;

select * from configuracao
WHERE DS_CHAVE = 'DS_PATH_DIRS_VERSOES';

update configuracao set DS_VALOR = 'C:\Sistema\SSM\publico\plastilit\versao'
WHERE DS_CHAVE = 'DS_PATH_DIRS_VERSOES'
update configuracao set DS_VALOR = 'C:\Sistema\SSM\publico\plastilit\describer'
WHERE DS_CHAVE = 'DS_PATH_DESCRIBER'
update configuracao set DS_VALOR = 'C:\Sistema\SSM\publico\plastilit\importacao'
WHERE DS_CHAVE = 'DS_PATH_ARQS_IMPORTACAO'
update configuracao set DS_VALOR = 'C:\Sistema\SSM\publico\plastilit\exportacao\backup'
WHERE DS_CHAVE = 'DS_PATH_ARQS_EXPORTACAO_BKP'
update configuracao set DS_VALOR = 'C:\Sistema\SSM\publico\plastilit\exportacao\backup'
WHERE DS_CHAVE = 'DS_PATH_ARQS_EXPORTACAO'

SELECT * FROM AGENDAMENTO_IMPORTACAO;

UPDATE AGENDAMENTO_IMPORTACAO SET DS_SITUACAO = 'F'
WHERE DS_SITUACAO = 'E'

Também foi ajustado esse ponto para realizar importação

use bd_ssm_adm;
select * from empresa
where CD_EMPRESA = 695;
select * from EMPRESA_SISTEMA
where CD_EMPRESA = 695;
/*
UPDATE EMPRESA_SISTEMA SET ID_REALIZA_IMPORTACAO = 1
where CD_EMPRESA = 695;

use bd_ssm_plastilit
select * from CONFIGURACOES

update CONFIGURACOES set DS_PATH_ARQS_EXPORTACAO = 'C:\Sistema\SSM\publico\plastilit\exportacao'
where CD_CONFIGURACAO = 1
update CONFIGURACOES set DS_PATH_ARQS_IMPORTACAO = 'C:\Sistema\SSM\publico\plastilit\importacao'
where CD_CONFIGURACAO = 1
update CONFIGURACOES set DS_PATH_DIRS_VERSOES = 'C:\Sistema\SSM\publico\plastilit\versao'
where CD_CONFIGURACAO = 1

SELECT * FROM AGENDAMENTO_IMPORTACAO;

UPDATE AGENDAMENTO_IMPORTACAO SET DS_SITUACAO = 'F'
WHERE DS_SITUACAO = 'E'