2012-05-16 6 views
1

Notre produit contient plusieurs tables qui contiennent des informations de sécurité d'application personnalisées. Ces tables info sécurité peuvent dans certains cas contenir un nombre considérable de lignes (13 millions dans un cas) les tables sont là pour accélérer les requêtes et peuvent potentiellement être reconstruites à partir de zéro, mais cela est coûteux en termes de temps/puissance de traitement, etcExclure la table de Database Logging

La façon dont l'application a été conçue, il est plus efficace (pendant l'exécution du programme) de supprimer les enregistrements pour une section de sécurité, puis d'insérer les nouveaux enregistrements plutôt que d'identifier ceux à conserver/mettre à jour. Là.

Malheureusement, ce processus peut générer une grande quantité de journaux de transactions lorsque le modèle de récupération de base de données est défini sur full.

Est-il possible dans SQL 2005+ d'avoir une table qui n'est pas enregistrée (mode de récupération simple) dans une base de données qui a un modèle de récupération de full?

Nous pouvons reconstruire les tables securityinfo lorsque l'application/base de données Web démarre pour la première fois en cas de récupération. L'alternative serait d'avoir une base de données parallèle avec un modèle de récupération simple soit la meilleure solution.

Vive Tim

+1

Pourquoi les downvotes? C'est une question de réponse et de programmation. – Quassnoi

Répondre

1

Pour autant que je peux dire, les modèles de récupération ne peuvent être définies par base de données, probablement parce que le journal des transactions est pour toute la DB. Ou comme BOL puts it:

Un modèle de récupération est une propriété de base de données qui contrôle la façon dont les transactions sont enregistrées, si le journal des transactions nécessite (et permet) la sauvegarde, et quels types d'opérations de restauration sont disponibles.

(L'emphase est la mienne). Donc, votre meilleur pari ici est de déplacer cette table particulière vers une autre base de données, ou peut-être regarder dans les DBs/caches en mémoire puisque la table ressemble à un cache qui peut facilement être reconstruit à partir d'une source de données autorisée.