Diferena de fuso/timezone:

update servico_prestado set data_emis = DATEADD('HOUR', 11, data_emis) where extract(hour from data_emis) = 1;
update servico_prestado set data_emis = DATEADD('HOUR', 10, data_emis) where extract(hour from data_emis) = 2;
update servico_prestado set data_emis = DATEADD('HOUR', 12, data_emis) where extract(hour from data_emis) = 0;

update servico_prestado set data_comp = DATEADD('HOUR', 11, data_comp) where extract(hour from data_comp) = 1;
update servico_prestado set data_comp = DATEADD('HOUR', 10, data_comp) where extract(hour from data_comp) = 2;
update servico_prestado set data_comp = DATEADD('HOUR', 12, data_comp) where extract(hour from data_comp) = 0;

update servico_tomado set data_emis = DATEADD('HOUR', 11, data_emis) where extract(hour from data_emis) = 1;
update servico_tomado set data_emis = DATEADD('HOUR', 10, data_emis) where extract(hour from data_emis) = 2;
update servico_tomado set data_emis = DATEADD('HOUR', 12, data_emis) where extract(hour from data_emis) = 0;

update servico_tomado set data_rece = DATEADD('HOUR', 11, data_rece) where extract(hour from data_rece) = 1;
update servico_tomado set data_rece = DATEADD('HOUR', 10, data_rece) where extract(hour from data_rece) = 2;
update servico_tomado set data_rece = DATEADD('HOUR', 12, data_rece) where extract(hour from data_rece) = 0;

update servico_tomado set data_comp = DATEADD('HOUR', 11, data_comp) where extract(hour from data_comp) = 1;
update servico_tomado set data_comp = DATEADD('HOUR', 10, data_comp) where extract(hour from data_comp) = 2;
update servico_tomado set data_comp = DATEADD('HOUR', 12, data_comp) where extract(hour from data_comp) = 0;



1 - Cliente/Fornecedor sem endereo (Enviar para contribuinte o CNPJ e Nome para alterar o endereo manualmente):
	select * from cliente_fornecedor where idn_ender not in (select idn_ender from endereco)        
Correo:
	update cliente_fornecedor set idn_ender = 0 where idn_cliente in (select idn_cliente from cliente_fornecedor where idn_ender not in (select idn_ender from endereco))

2 - Servio Tomado sem Prestador (Enviar para contribuinte o Declarante, data de emisso, nmero e valor do documento para alterar o prestador manualmente):
	select * from servico_tomado where idn_cliente not in (select idn_cliente from cliente_fornecedor)
Correo:
	update servico_tomado set idn_cliente = 0 where idn_cliente not in (select idn_cliente from cliente_fornecedor)

3 - Servio Prestado sem Tomador (Enviar para contribuinte o Declarante, data de emisso, nmero e valor do documento para alterar o tomador manualmente):
	select * from servico_prestado where idn_cliente not in (select idn_cliente from cliente_fornecedor)
Correo:
	update servico_prestado set idn_cliente = 0 where idn_cliente not in (select idn_cliente from cliente_fornecedor)

4 - Declarante sem Empresa:
	select * from declarante where idn_empr not in (select idn_empr from empresa)
Correo:
	Para esse caso  preciso verificar em um banco ntegro se existe empresa com a IM do declarante, por exempolo:
		select * from empresa where insc_muni = '04937380019'
	Caso exista deve fazer um export do resultado em forma de insert e alterar o valor do idn_empr para o mesmo cdigo utilizado no banco defeituoso e processar o insert como exemplo:
		INSERT INTO empresa (IDN_EMPR, INSC_MUNI, CNPJ, CPF, DATA_INCLU, NOME_EMPR, IDN_SITU_ESP, TIP_SITU_PESS, IND_SCDD_LIBL, IND_SIMP_NACI, IND_INCE_CULT, IND_SUBS_TRIBU, IND_AUTH_NFSE, IND_IMUNE, NOME_FANT, DATA_ATU) VALUES (253413, '04937380019', '18473431000130', null, '2014-07-03 00:00:00', 'MASCHINENBAU SOLUCOES EM TI LTDA - ME', 0, '1', 2, 2, 2, 1, 2, 2, '', '2014-07-03 00:00:00');
	Nos casos em que no  encontrada a IM na tabela empresa do banco ntegro  necessrio abrir a DES e incluir manualmente o declarante, ser buscado os dados atravs do webservice e depois de gravar o declarante pode ser feito o passo anterior de buscar na tabela empresa e exportar o sql de insert para executar no banco defeituoso.

5 - Deduo sem servio prestado (esse caso ainda no ocorreu e se ocorrer no  possvel dar informaes ao contribuinte para correo manual):
	select * from deducao where idn_serv_prest not in (select idn_serv_prest from servico_prestado)
Correo (Basta apagar o registro da tabela deduo pois no tem como identificar o servio prestado que era vinculado):
	delete from deducao where idn_dedu in (select idn_dedu from deducao where idn_serv_prest not in (select idn_serv_prest from servico_prestado))

6 - Deduo sem nota de deduo ( preciso informar ao contribuinte o Declarante, data de emisso, nmero de valor do servio prestado para ser refeita a deduo):
	select d.insc_muni, d.nome_declarante, sp.idn_serv_prest, sp.data_emis, sp.num_ini, ded.idn_dedu, ded.idn_nota_dedu, ded.data_dedu, ded.valor_dedu 
	from deducao ded join servico_prestado sp on sp.idn_serv_prest = ded.idn_serv_prest 
	join declarante d on sp.idn_declarante = d.idn_declarante 
	where ded.idn_nota_dedu not in (select idn_nota_dedu from nota_deducao)
Correo (exluir a deduo):
	delete from deducao where idn_dedu in (select idn_dedu from deducao where idn_nota_dedu not in (select idn_nota_dedu from nota_deducao))

7 - Duplicidade em notas de deduo (perda de PK)
	select * from nota_deducao where idn_nota_dedu in (select idn_nota_dedu from nota_deducao group by idn_nota_dedu having count (idn_nota_dedu) > 1) order by idn_nota_dedu
	Transformar o resultado do select em inserts e remover a duplicidade, depois fazer a excluso abaixo para inserir somente 1 vez cadas registro em seguida
	delete from nota_deducao where idn_nota_dedu in (select idn_nota_dedu from nota_deducao group by idn_nota_dedu having count (idn_nota_dedu) > 1)

8 - Duplicidade em notas emitidas (perda de PK)
	select * from servico_prestado where idn_serv_prest in (select idn_serv_prest from servico_prestado group by idn_serv_prest having count (idn_serv_prest) > 1) order by idn_serv_prest
	Transformar o resultado do select em inserts e remover a duplicidade, depois fazer a excluso abaixo para inserir somente 1 vez cadas registro em seguida
	delete from servico_prestado where idn_serv_prest in (select idn_serv_prest from servico_prestado group by idn_serv_prest having count (idn_serv_prest) > 1)

9 - Duplicidade em notas recebidas (perda de PK)
	select * from servico_tomado where idn_serv_toma in (select idn_serv_toma from servico_tomado group by idn_serv_toma having count (idn_serv_toma) > 1) order by idn_serv_toma
	Transformar o resultado do select em inserts e remover a duplicidade, depois fazer a excluso abaixo para inserir somente 1 vez cadas registro em seguida
	delete from servico_tomado where idn_serv_toma in (select idn_serv_toma from servico_tomado group by idn_serv_toma having count (idn_serv_toma) > 1)

10 - Duplicidade Cliente Fornecedor (perda de PK)
--	select * from cliente_fornecedor where idn_cliente in (select idn_cliente from cliente_fornecedor group by idn_cliente having count (idn_cliente) > 1) order by idn_cliente
	select * from cliente_fornecedor group by idn_cliente having count (idn_cliente) > 1
	Transformar o resultado do select em inserts e remover a duplicidade, depois fazer a excluso abaixo para inserir somente 1 vez cadas registro em seguida
	delete from cliente_fornecedor where idn_cliente in (select idn_cliente from cliente_fornecedor group by idn_cliente having count (idn_cliente) > 1)

10 - Duplicidade Endereo (perda de PK)
	select * from endereco group by idn_ender having count (idn_ender) > 1
	Transformar o resultado do select em inserts e remover a duplicidade, depois fazer a excluso abaixo para inserir somente 1 vez cadas registro em seguida
	delete from endereco where idn_ender in (select idn_ender from endereco group by idn_ender having count (idn_ender) > 1)

11 - Duplicidade Empresa
	select * from empresa group by idn_empr, data_atu having count (idn_empr) > 1
	Transformar o resultado do select em inserts e remover a duplicidade, depois fazer a excluso abaixo para inserir somente 1 vez cadas registro em seguida
	delete from empresa where idn_empr in (select * from empresa group by idn_empr, data_atu having count (idn_empr) > 1)

AIDF

	select * from aidf where idn_aidf in (select idn_aidf from aidf group by idn_aidf having count (idn_aidf) > 1) order by idn_aidf
	delete from aidf where idn_aidf in (select idn_aidf from aidf where idn_aidf in (select idn_aidf from aidf group by idn_aidf having count (idn_aidf) > 1) order by idn_aidf)

Atividade_Declarante

	select * from atividade_declarante where idn_ativ_decl in (select idn_ativ_decl from atividade_declarante group by idn_ativ_decl having count (idn_ativ_decl) > 1) order by idn_ativ_decl
	delete from atividade_declarante where idn_ativ_decl in (select idn_ativ_decl from atividade_declarante where idn_ativ_decl in (select idn_ativ_decl from atividade_declarante group by idn_ativ_decl having count (idn_ativ_decl) > 1) order by idn_ativ_decl)

Data_Envio
	select * from data_envio where idn_data_envio in (select idn_data_envio from data_envio group by idn_data_envio having count (idn_data_envio) > 1) order by idn_data_envio
	delete from data_envio where idn_data_envio in (select idn_data_envio from data_envio where idn_data_envio in (select idn_data_envio from data_envio group by idn_data_envio having count (idn_data_envio) > 1) order by idn_data_envio)

Declarante
	select * from declarante where idn_declarante in (select idn_declarante from declarante group by idn_declarante having count (idn_declarante) > 1) order by idn_declarante
	delete from declarante where idn_declarante in (select idn_declarante from declarante where idn_declarante in (select idn_declarante from declarante group by idn_declarante having count (idn_declarante) > 1) order by idn_declarante)

Reduo no tamanho do BD:
delete from empresa where idn_empr not in (select idn_empr from declarante union select idn_empr from cliente_fornecedor where idn_empr is not null union select idn_empr from empresa_atividade union select idn_empr from aidf)