Mon SQL Server 2005 ne restaure pas une sauvegarde en raison de connexions actives. Comment puis-je le forcer?
sql-server
sql-server-2005
backup
restore
disconnect
Jader Dias
la source
la source
Réponses:
SQL Server Management Studio 2005
Lorsque vous cliquez avec le bouton droit de la souris sur une base de données et que vous cliquez
Tasks
puis cliquez surDetach Database
, une boîte de dialogue avec les connexions actives apparaît.En cliquant sur le lien hypertexte sous "Messages", vous pouvez supprimer les connexions actives.
Vous pouvez ensuite supprimer ces connexions sans détacher la base de données.
Plus d'informations ici .
SQL Server Management Studio 2008
L'interface a changé pour SQL Server Management studio 2008, voici les étapes (via: Tim Leung )
la source
Vous souhaitez définir votre base de données en mode mono-utilisateur, effectuer la restauration, puis la remettre en mode multi-utilisateur:
Référence: Pinal Dave ( http://blog.SQLAuthority.com )
Référence officielle: https://msdn.microsoft.com/en-us/library/ms345598.aspx
la source
ROLLBACK IMMEDIATE
ouROLLBACK AFTER 60
. La seule façon d'enregistrer ces données est d'effectuer une autre sauvegarde après la restauration. Mais vous restaurez à partir d'une sauvegarde différente. Alors, quel est l'intérêt d'attendre? Est-ce que je manque quelque chose?Ce code a fonctionné pour moi, il tue toutes les connexions existantes d'une base de données. Tout ce que vous avez à faire est de changer la ligne Set @dbname = 'databaseName' pour qu'elle ait le nom de votre base de données.
après cela, j'ai pu le restaurer
la source
Essaye ça:
la source
Le redémarrage du serveur SQL déconnectera les utilisateurs. Le moyen le plus simple que j'ai trouvé - bon aussi si vous voulez mettre le serveur hors ligne.
Mais pour une raison très étrange, l'option 'Take Offline' ne le fait pas de manière fiable et peut bloquer ou perturber la console de gestion. Redémarrage puis mise hors ligne des travaux
Parfois, c'est une option - si, par exemple, vous avez arrêté un serveur Web qui est la source des connexions.
la source
J'ai rencontré ce problème en automatisant un processus de restauration dans SQL Server 2008. Mon approche (réussie) était un mélange de deux des réponses fournies.
Tout d'abord, je traverse toutes les connexions de ladite base de données et les tue.
Ensuite, j'ai défini la base de données sur un mode single_user
Ensuite, je lance la restauration ...
Tuez à nouveau les connexions
Et redéfinissez la base de données sur multi_user.
De cette façon, je m'assure qu'aucune connexion ne bloque la base de données avant de passer en mode unique, car le premier se fige s'il y en a.
la source
Aucun de ceux-ci ne fonctionnait pour moi, ne pouvait pas supprimer ou déconnecter les utilisateurs actuels. Impossible de voir également les connexions actives à la base de données. Le redémarrage de SQL Server (clic droit et sélectionnez Redémarrer) m'a permis de le faire.
la source
Pour ajouter aux conseils déjà donnés, si vous disposez d'une application Web exécutée via IIS qui utilise la base de données, vous devrez peut-être également arrêter (et non recycler) le pool d'applications de l'application pendant la restauration, puis redémarrer. L'arrêt du pool d'applications tue les connexions http actives et n'en permet plus, ce qui pourrait autrement permettre de déclencher des processus qui se connectent et verrouillent ainsi la base de données. Il s'agit d'un problème connu, par exemple avec le système de gestion de contenu Umbraco lors de la restauration de sa base de données
la source
Aucune de ces réponses n'a fonctionné pour moi. Ma base de données n'a montré aucune connexion active utilisant Activity Monitor ou sp_who. J'ai finalement dû:
Ce n'est pas la solution la plus élégante mais cela fonctionne et cela ne nécessite pas de redémarrer SQL Server (ce n'est pas une option pour moi, car le serveur DB hébergeait un tas d'autres bases de données)
la source
Je préfère faire comme ça,
modifier la base de données définie hors ligne avec restauration immédiate
puis restaurez votre base de données. après ça,
modifier l'ensemble de la base de données en ligne avec restauration immédiate
la source