2008-11-07 4 views
4

Ce morceau de T-SQL est dépréciée en 2005:Alternative à BACKUP LOG AVEC TRUNCATE_ONLY

BACKUP LOG [DB_NAME] WITH TRUNCATE_ONLY 

Je ne ai pas besoin de garder une copie de sauvegarde du journal pour mon db - mais je ne veux pas le morceau de code pour cesser de fonctionner si nous portons à SQL2008 ou des versions successives à l'avenir.

Vive

Répondre

6

Basculez le mode de récupération de base de données sur SIMPLE, puis utilisez DBCC SHRINKFILE. Ensuite, restaurez votre mode de récupération d'origine. Si votre fichier LOG ne rétrécit pas, vous pouvez avoir des transactions non validées. Pour plus de détails, voir l'article de Tibor Karaszi au shrinking.

+0

y at-il un autre moyen de réduire le journal (sans utiliser le T-SQL obsolète ci-dessus) sans passer en mode simple? – JohnIdol

+0

Si vous n'êtes pas en mode simple, vous devriez sauvegarder le journal. En regardant BOL pour 2008, il me semble que cette commande a été dépréciée pour forcer les gens à sauvegarder le journal car la seule méthode que j'ai trouvé pour tronquer le journal était de faire une sauvegarde si vous n'êtes pas en mode simple. – HLGEM

+0

Y a-t-il une fonctionnalité que je perdrais si je passais en mode simple? – JohnIdol

1

Si vous modifiez le modèle de récupération de la base de données simple, je pense qu'il va cesser de vous forcer à sauvegarder/tronquer le journal.

+0

et vous perdrez également la restauration à un point dans le temps. vous ne devriez le faire que si vous savez ce que le passage au mode 'simple' signifie –

1

Modifiez votre base de données pour utiliser le modèle de récupération simple. Cela signifie que vous n'avez pas de récupération à un point dans le temps (vous ne l'aurez pas de toute façon si vous tronquez votre journal), mais le fichier journal est automatiquement cyclé et ne deviendra pas trop volumineux.

Un fichier journal est obligatoire et vous n'avez d'autre choix que de le conserver. Ce que vous ne voulez pas, c'est qu'il devienne hors de contrôle et qu'il remplisse votre disque.

+0

Je voulais dire que je n'ai pas besoin de garder une sauvegarde du journal – JohnIdol

0

Comme Andy Jones a répondu, le fichier journal est obligatoire. Ce n'est pas simplement un journal des événements pour vous, mais une partie essentielle de la façon dont la base de données gère les annulations de transactions ainsi que les validations de mémoire.

+0

Je voulais dire que je n'ai pas besoin de garder une sauvegarde du journal – JohnIdol