6
votes

SQL Server: Rollback sans commencer la transaction

Y a-t-il une manière dont nous pouvons retourner à l'état précédent de la transaction à l'aide de la restauration sans Commencer la transaction ? XXX

Message:

la demande de transaction de restauration n'a pas de transaction de début correspondante.

Toute entrée serait d'une grande aide.

Merci !!!


1 commentaires

Tout a une règle. Quand vous n'avez pas eu le bus, comment voulez-vous descendre?


3 Réponses :


3
votes

Vous devez avoir une transaction commencer avant de pouvoir utiliser la commande Rollback . Vous ne pouvez pas revenir à l'état précédent.


3 commentaires

Oui, mais SQL Server prend en charge toute forme de restauration sans commencer la transaction.


Pourriez-vous fournir et exemple ou un lien vers l'oracle soutient cela?


Je pense que Oracle par défaut avec une transaction. SQL Server Par défaut ne doit pas avoir de transaction. Vous devez explicitement définir la transaction.



4
votes

Lorsque SQL Server Erreur vous dit - non, vous ne pouvez pas. Et beaucoup de gens seraient curieux, pourquoi voudriez-vous cela en premier lieu.

Garder à l'esprit SQL Server a une transaction implicite - c'est-à-dire pour DML que vous émettez sans explicitement TRAN Tran, SQL Server démarrera et terminer une transaction pour vous derrière l'écran.

Un usage commun de restauration est pour la manipulation des erreurs. Si quelque part au milieu de la transaction, vous vous rendez compte que vous ne pouvez pas continuer en raison de la mauvaise entrée de l'utilisateur ou d'une autre raison - une action raisonnable est de rentabiliser pour revenir au point de départ

La pire chose qui puisse arriver est de laisser votre état de données "quelque part au milieu".


0 commentaires

6
votes

Pour développer sur Gerrytans Répondez lorsque vous définissez explicitement implicit_transactions sur, vous pouvez utiliser un retour. Voir le MSDN DOCO en rapport avec cela. Notez que ce n'est pas la valeur par défaut Mode de transaction Autocommit .

Cela me permet d'exécuter une déclaration comme; xxx


0 commentaires