web-dev-qa-db-fra.com

Désactivation de la journalisation sur certaines tables

J'utilise SQL Server 2005. J'ai deux tables contenant des informations globales. Les informations sont constamment mises à jour, générant près de 5 Go de données de journal par jour. (C'est plus grand que toute la base de données!) J'aimerais désactiver la journalisation sur ces tables, car le retour du roulement n'est pas vraiment nécessaire. Je voudrais cependant continuer à vous connecter aux autres tables de la base de données.

Est-il possible de désactiver la journalisation sur certaines tables de la base de données? Sinon, puis-je placer les deux tables dans le même schéma, puis désactiver la journalisation sur le schéma? Est la seule option pour déplacer les deux tables dans une base de données distincte et désactiver la journalisation là-bas?

Mettre à jour: Je suppose que je vais expliquer pourquoi je n'ai vraiment pas besoin de connecter l'activité sur ces tables.

Les deux tables sont remplies de données GPS, elles deviennent donc assez grandes. La première table consiste à capturer des emplacements bruts à partir de six Android Tables sur le terrain. De nouvelles données de chacun des tablettes se situent toutes les 5 à 10 secondes. Ces informations sont ensuite agrégées en tant que localisation, localisation de l'emplacement. . L'objectif est de finalement avoir les plus courts temps de déplacement entre tous les endroits, sur la base de données de conduite réelles. Les données ne sont que pour une petite ville, et seulement exactes à quatre décimales, il est donc gérable. Toutefois, car de nouvelles données brutes viennent Dans, il y a des temps de déplacement plus lents qui doivent être mis à jour et de nouveaux qui doivent être insérés.

Une fois que les données brutes sont agrégées, elle est purgée. Nous ne retournons pas en arrière pour plus de temps de trajet plus longtemps, c'est pourquoi la raison pour laquelle Rouler n'a pas beaucoup d'importance dans ces tables.

9
dangowans

Non, il n'ya aucun moyen de prévenir la journalisation dans SQL Server quel que soit le schéma, la table ou le niveau de la base de données.

Cette opération de fait que chaque transaction effectue des modifications ou des modifications de la base de données SQL Server est enregistrée, à l'exception des transactions connexes de la version de la version impliquant TEMPDB lorsque l'isolement d'instantané est utilisé. (La journalisation dans le journal des transactions garantit que la transaction peut être rémunérée (pour certaines opérations que vous pouvez réduire la journalisation (il est appelé des opérations minimalement enregistrées) en modifiant le modèle de récupération en vrac enregistré --- Vous pouvez en apprendre davantage à ce sujet dans SQL Server Books en ligne - ici

3
SQL Learner

La réponse est, comme toujours, cela dépend.
[.____] quand vous avez dit:

J'ai deux tables contenant des informations agrégées. L'information est constamment mise à jour

Quel genre d'agrégation est-ce?
[.____] Essayez d'utiliser une vue à la place, pas besoin de mettre à jour, et d'aucune journalisation.

Si ce n'est pas une option, essayez d'utiliser des transactions plus courtes et de sauvegarder le journal entre eux.

L'utilisation d'une base de données différente désigne les frais de données de sécurité, etc. Et aura son propre journal de transaction (même avec un modèle de récupération simple, le journal est écrit, SQL Server tronque simplement le journal automatiquement, mais ne publie pas l'espace disque), donc je ne recommanderais donc pas cette option .

0
Roi Gavish