Sqlserver
 sql >> Base de Dados >  >> RDS >> Sqlserver

Observe uma tabela de novos registros no banco de dados sql


Seguem minhas propostas:

  1. Se você conseguir adicionar uma tabela duplicada ao banco de dados, aqui está uma solução. Você tem sua tabela1 e tabela2 (Cópia de tabela1 ). Ao inserir novos registros em table1 , você pode compará-los com registros existentes em sua tabela2 e assim encontrar novos registros. Depois de comparar, você deve adicionar todos os novos registros à tabela2 . Isso é algum tipo de sincronização. Isso pode ser feito via proc armazenado ou programaticamente.

  2. Você não precisa de outras tabelas. Você pode armazenar todos os seus dados no cache do seu aplicativo e verificar com algum período de tempo (por exemplo, 5 segundos) se existem novos eventos que não existem no seu cache. Se eles não existirem - notifique-os em seu log ou em outro lugar e adicione-os ao cache. Mas se houver muitos registros, o tempo de processamento será muito maior + consumo de memória.

  3. Se você puder alterar o db, poderá adicionar algo como a coluna 'isNew' à sua tabela. Quando um novo dado vem do site, a coluna será 'true', seu programa pode rastrear isso e, após o processamento, definir esse sinalizador como false para cada registro. (Se o site não pode definir este sinalizador, você pode usar SQL TRIGGER AFTER INSERT para definir o valor do sinalizador como verdadeiro. O site nem pode saber sobre esse recurso se for um site de terceiros ou se você não quiser alterar nada lá)

  4. Aqui está o artigo sobre o rastreamento de alterações do EF:http://blogs.msdn.com/b/adonet/archive/2009/06/10/poco-in-the-entity-framework-part-3-change-tracking-with- poco.aspx

Mas o problema é que você deve verificar toda a tabela em busca de alterações via EF que afetarão o desempenho do seu aplicativo.

Aqui estão informações úteis sobre o controle de alterações do SQL Server e os conceitos de implementação:http://www.mssqltips.com/sqlservertip/1819/using-change-tracking-in-sql-server-2008/http://msdn.microsoft. com/en-us/library/bb933994.aspx