Existe-t-il un moyen simple de déclencher le basculement automatique d'une seule base de données en miroir?

8

J'ai 3 bases de données en miroir sur une seule instance de sqlserver2008-R2 en haute sécurité avec configuration de basculement automatique. Existe-t-il un moyen de déclencher le basculement automatique d'une seule base de données?

Je veux simuler où la base de données est réellement inaccessible et pas simplement appuyer sur le bouton «Basculement» de SSMS. Je peux arrêter le point final sur le primaire mais cela rendrait les 3 bases de données inaccessibles car elles utilisent le même point final.

Comment désactiver seulement 1 dB?

dat_girl
la source

Réponses:

3

Si votre mise en miroir est configurée correctement pour une sécurité élevée / un basculement automatique, alors je serais porté à penser que vous pouvez simplement mettre la base de données principale hors ligne avec ceci:

alter database YourDb set offline
with rollback immediate
go

Je crois qu'en mettant la base de données hors ligne, vous aurez un basculement automatique sans affecter les deux autres bases de données que vous ne voulez pas basculer.

Thomas Stringer
la source
1
c'est la solution que j'espérais fonctionner mais j'obtiens un msg 1468, la base de données est impliquée dans la mise en miroir, l'instruction alter a échoué.
dat_girl
@dat_girl pouvez-vous d'abord essayer de le définir en tant qu'utilisateur unique avec restauration immédiate, puis essayer l'instruction ci-dessus?
Thomas Stringer
Cela n'a pas fonctionné non plus @shark, même erreur. Je pense que je devrais arrêter la mise en miroir avant de pouvoir apporter des modifications à la base de données.
dat_girl
2

Pour que la mise en miroir soit logique, vous aurez besoin d'au moins une deuxième instance de SQL-Server: une pour le "principal" et une pour le "miroir".

Comment installer une autre instance, voir: Configuration d'instance .

Pour que le basculement automatique prenne effet, vous aurez également besoin d'une troisième instance (le "témoin" ), dont le but est de surveiller les états du principal et du miroir (connexion) ("... le témoin ne sert pas la base de données. le basculement est le seul rôle du témoin ").

Pour configurer l'ensemble du miroir avec basculement, voir: Basculement automatique et mise en miroir de bases de données synchrones (mode haute sécurité) .

Une fois les étapes terminées, vous pouvez tester votre configuration en arrêtant l'un des services SQL-Server (principal ou miroir). La base de données en miroir est alors disponible.

Je suggère fortement de ne pas exécuter les instances sur le même serveur réel, car cela ne vous protégera pas de toute catastrophe matérielle!

MjSt
la source
Merci @vorax, mais j'ai déjà une configuration de mise en miroir et cela fonctionne bien. Je ne veux pas non plus arrêter le service car cela ferait tomber toutes les bases de données sur l'instance. Je veux juste arrêter 1.
dat_girl
0

Hmm, alter database whateverdb set partner failoverdevrait le faire, mais cela peut prendre tout le serveur avec lui, je n'en ai pas un à portée de main que je puisse expérimenter, et les documents semblent ennuyeusement utiliser le serveur et la base de données de manière interchangeable.

Gaius
la source