2010-04-12 5 views
0

Comment supprimer des traces de fichiers marqués comme OFFLINE ou DEFUNCT dans Microsoft SQL Server 2008?Suppression de fichiers hors ligne/supprimés dans SQL Server 2008

J'ai joué avec une configuration où je crée une base de données avec 3 groupes de fichiers qui sont: Primary, FileGroupData et FileGroupIndex. L'index clusterisé utilise FileGroupData et un index non cluster est défini pour utiliser FileGroupIndex. Pour simuler une panne de disque, j'ai arrêté le serveur SQL et supprimé manuellement les fichiers dans le groupe de fichiers d'index. Pour démarrer la base de données, je marquerai les fichiers "OFFLINE", mais après cela, je ne peux pas supprimer les fichiers d'index, qui sont maintenant hors ligne.

Je n'ai pas de sauvegarde des fichiers car ce ne sont que des index, mais cela implique que je ne peux pas restaurer les fichiers et que leur statut est "ONLINE".

Comment recommanderiez-vous de supprimer les fichiers et le groupe de fichiers tels qu'ils apparaissent dans le studio de gestion sous les fichiers/groupes de fichiers. Le studio de gestion n'est pas en mesure de les supprimer.

Pour autant que je peux dire ce qui est différent de la question affichée dans: How do I remove offline Files from a SQL Server 2005 database

/Philip

Répondre

0

Avez-vous essayé DROP DATABASE MyBollixedDB?

Fondamentalement, l'entrée existe toujours dans sys.databases. Vous ne pouvez pas éditer ceci, bien sûr, alors simpyl DROP la DB. Vous ne pouvez pas faire d'autre opération dessus parce que c'est hors ligne (et complètement incohérent)

+0

Merci pour l'entrée. J'espérais éviter de laisser tomber la base de données. Seuls les fichiers utilisés par un index non cluster sont hors ligne et cet index peut facilement être reconstruit. /Philip – user314768

+0

@philox: non, il est corrompu. Vous savez peut-être quel est le problème, mais SQL Server ne distingue pas ces subtilités lorsqu'un fichier entier est manquant. – gbn

+0

@gbn: Vous pourriez avoir raison. Cependant, il peut être quelque peu conscient car il peut être partiellement disponible et interdire les requêtes qui utilisent un index qui réside dans un groupe de fichiers OFFLINE/DEFUNCT. Si le groupe de fichiers était en ligne studio de gestion serait en mesure de le supprimer à droite? – user314768