Pour quelles raisons et dans quelles situations utiliseriez-vous la fonction "Take Offline" / ALTER DATABASE dbName SET OFFLINE
.
Quelles tâches pouvez-vous effectuer avec une base de données hors ligne? Quelles tâches pouvez-vous effectuer uniquement avec une base de données hors ligne?
sql-server
Greg B
la source
la source
Dans les environnements de développement / de transfert, il est parfois utile de mettre une base de données hors ligne pour vous assurer que vous vous connectez à la bonne instance de la base de données dans l'application et que vous n'avez pas de chaîne de connexion jacked quelque part.
Cela dit, dans cette situation, c'est une bien meilleure idée d'avoir des noms de base de données différents pour les différents environnements et un processus de construction qui configurera automatiquement vos chaînes de connexion ...
De même, j'aime mettre les bases de données hors ligne pendant un certain temps avant de les mettre hors service au hasard (pas si vrai) que, pour une raison quelconque, elles doivent revenir en ligne. J'ai été mordu plusieurs fois par des développeurs qui ont des hooks que je ne connais pas dans l'une de mes bases de données quand je veux m'en débarrasser. Le mettre hors ligne est beaucoup moins drastique et prend moins de temps que le supprimer et le restaurer si nécessaire.
Une autre chose serait une sauvegarde d'urgence. J'ai dû faire ça avant. Parfois, un bug méchant est trouvé dans votre application qui, même s'il n'est pas malveillant, corrompra toujours les données de votre base de données. Mettre la base de données hors ligne est un moyen rapide d'arrêter le saignement jusqu'à ce que le bug soit identifié. Vous pouvez ensuite le remettre en ligne pour évaluer les dommages dans la base de données.
la source
Bien que certaines des réponses ici puissent vous donner quelques idées sur ce que vous pouvez faire avec une base de données dont l'accès est limité, peu de choses peuvent réellement être faites avec une base de données hors ligne. Vous ne pouvez pas mettre à jour, mettre à niveau, ajouter ou supprimer des données, etc.
la source
Ma raison primordiale, celle que je dois vendre aux DBA plus souvent que je ne voudrais énumérer ...
"Le SAN doit être réparé ... et non, je ne peux pas simplement remplacer à chaud un lecteur, le fond de panier / les contrôleurs sont en faute."
Les instances de base de données se comportent très mal lorsque leurs disques disparaissent.
Ainsi, j'arrête les instances SQL avant de mettre le SAN hors ligne, puis les ramène une à la fois afin qu'elles ne contestent pas les ressources - la première instance prend toutes les ressources du cluster et devient le nœud Active DB, les instances suivantes s'exécutent comme nœuds passifs.
la source
Il y a plusieurs raisons pour lesquelles vous auriez besoin de faire cela ..
À titre d'exemple,
Le point le plus important ..
(dans certaines bases de données, vous créez simplement un verrou sur toutes les tables)
la source