Option «tronquer le journal au point de contrôle» dans SQL Server

11

Longue histoire, mais nos consultants à long terme (anciens employés) ont écrit un script personnalisé il y a des années (environ 2006) pour s'interfacer avec Tivoli Storage Manager et il semble rechercher une option de base de données SQL Server nommée truncate log on checkpoint. Leur affirmation est qu'elle empêche les scripts de fonctionner et d'effectuer des sauvegardes sur l'instance qui est SQL 2012.

Je pense que c'est BS complet car je ne peux pas trouver une telle option via sp_configureet les sauvegardes fonctionnent partout sauf une instance. Cependant, je voudrais supprimer une mine terrestre, si c'est ce que c'est, et supprimer d'autres éléments obsolètes. Je les fais vérifier auprès du vendeur, mais je n'ai pas un haut degré de confiance dans tout ce qu'ils disent.

Les recherches que j'ai faites ont renvoyé un peu plus qu'il ne s'agissait peut-être d'une option pour SQL 2000 ou d'une option Sybase. Une autre affirmation était qu'il est appelé / utilisé implicitement sur les versions ultérieures (2008 et plus) lorsque le modèle de récupération est SIMPLEet il n'y a pas d'option explicite pour l'activer ou le désactiver.

Étant donné que la TRUNCATE LOGcommande est obsolète en raison de la façon dont les journaux de transactions fonctionnent de nos jours, je pense que ce n'est même pas une option qui peut même être interrogée à ce stade.

Comme je n'ai aucune instance de SQL Server 2000, j'espérais que quelqu'un se souviendrait de cela ou pourrait le vérifier sur celui qu'il avait autour. Je leur ai dit que je ne pouvais rien recommander. J'espérais aussi que quelqu'un puisse confirmer que c'est obsolète.

user3885315
la source

Réponses:

9

Vous pouvez toujours voir (au moins dans SQL Server 2008R2) à l' trunc. log on chkpt.aide sp_dboption, et vous pouvez également définir l'option de base de données

entrez la description de l'image ici

entrez la description de l'image ici

Dans SQL Server 2012 et versions ultérieures, vous obtiendrez une belle erreur

Msg 2812, niveau 16, état 62, ligne 1 Impossible de trouver la procédure stockée 'sp_dboption'.

Il est là pour la compatibilité descendante SEULEMENT. Dans SQL Server 2000 et versions ultérieures, SQL Server a un concept de modèle de récupération qui définit la façon dont la troncature du journal est respectée. .

Si vous souhaitez en savoir plus sur la gestion des journaux de transactions, reportez-vous à la rubrique Escalier vers la gestion des journaux de transactions

Comme note latérale, SybaseASE même dans la version plus récente Sybase 15.7 a cette option (En fait, il a dupliqué trunc log on chkptet trunc. log on chkpt.le dernier est celui que SQL Server a obtenu dans SQL 7.0 via SQL Server 2008R2 - vu dans sp_dboption):

entrez la description de l'image ici

entrez la description de l'image ici

Kin Shah
la source
C'est à peu près ce que je pensais. Je n'ai pas vu sp_dboption en 2012, donc je suppose qu'il a été supprimé. J'ai trouvé le SP en 2008 et en effet l'option est présente en 2008. Je serai heureux de croire que cela ne peut pas être changé. Je ne veux pas le changer même s'il n'était pas obsolète. Merci d'avoir confirmé et d'avoir si bien expliqué les concepts.
user3885315