J'ai récemment restauré une base de données dans la même instance à partir de laquelle elle a été sauvegardée (SQL Server 2008 R2 Enterprise) et j'ai constaté que je ne pouvais pas accéder aux propriétés de la base de données.
J'ai fait ce qui suit:
- Vérifié que le propriétaire de la base de données a été défini correctement à l'aide de
sp_helpdb
. - Changé le propriétaire de la base de données en
sa
. Pas une solution. - Changé le propriétaire de la base de données à mon
sysadmin
utilisateur. Pas une solution. - Émis
DBCC updateusage
contre la base de données affectée. Pas une solution. - Exécuter
DBCC CheckDB
sur une copie restaurée vers une autre instance. Aucune corruption trouvée. La copie restaurée (à partir du même fichier de sauvegarde) n'a généré aucune erreur lors de l'accès à la fenêtre des propriétés de la base de données.
Quelqu'un peut-il aider?
Le message d'erreur que j'obtiens en essayant d'afficher les propriétés est:
Impossible d'afficher la boîte de dialogue demandée. (SqlMgmt) La
taille de la propriété n'est pas disponible pour la base de données '[DBNAME]'.
Cette propriété peut ne pas exister pour cet objet ou peut ne pas être récupérable en raison de droits d'accès insuffisants. (Microsoft.SqlServer.Smo)
Je suis sysadmin
sur cette instance.
Mise à jour: comme suggéré, j'ai créé un nouvel utilisateur, je l'ai fait administrateur système et j'ai changé le propriétaire de la base de données. Pas une solution malheureusement. Je vais voir si une trace de profileur donne quelque chose d'utile.
Mise à jour: Aaron - la base de données d'origine a été renommée et mise hors ligne, mais se trouve toujours sur cette instance. La sauvegarde de cette base de données a ensuite été restaurée en utilisant le nom d'origine. Les noms de fichier des nouveaux fichiers de base de données sont différents de l'original car ils vivent dans le même dossier que le mdf / ldf d'origine. La base de données restaurée gère actuellement nos applications critiques comme d'habitude.
Réponses:
J'ai résolu ce problème en redémarrant le service SQL Server, malheureusement / heureusement.
Mon idée initiale était de détacher / attacher la base de données. Non pas que je pensais que cela résoudrait le problème, je viens de le lire dans un forum quelque part. Cela n'a eu aucun effet.
Je n'ai malheureusement pas fait ce que PJ Mahoney a suggéré concernant l'exécution d'une trace. J'espère revoir ce problème afin que je puisse savoir si une trace révèle quelque chose. Merci pour la suggestion.
Au moins, répondre à ma propre question signifie que je n'ai pas besoin de voir une autre suggestion pour changer le propriétaire de la base de données; P
Merci
la source
J'ai eu cette même erreur lors de la tentative de modification des propriétés de croissance de fichier du fichier journal d'une base de données de production. J'ai essayé d'utiliser SSMS et j'ai eu la même erreur:
J'ai plutôt utilisé T-SQL pour modifier le fichier journal de la base de données.
Une fois la commande terminée, j'ai pu ouvrir les propriétés de la base de données dans SSMS. J'espère que cela fonctionne pour les autres.
la source
Cela peut se produire sur des bases de données très occupées ou même si la base de données n'est pas occupée en général, mais pour le moment, elle exécute une instruction qui modifie rapidement la taille du fichier journal. Par exemple, si vous essayez de supprimer un très grand nombre de lignes (millions) d'une table, le moteur devra se connecter à chaque ligne à des fins de restauration, ce qui forcera le fichier journal à se développer rapidement. Pendant que cela est en cours, si vous essayez d'ouvrir les propriétés de la base de données dans SSMS, vous verrez le message d'erreur "la taille de la propriété n'est pas disponible .."
Une autre façon de le reproduire est la suivante: prenez une très grande base de données (plus de 100 millions de lignes) et exécutez une instruction ALTER TABLE dessus (par exemple, convertissez une colonne char en varchar). Voyez votre fichier journal exploser en centaines de mégaoctets ou même en gigaoctets par seconde. Encore une fois, pendant que cela se produit, votre SSMS ne sera pas en mesure de vous donner la taille de la base de données car elle change trop rapidement pour être précise.
Inutile de dire que s'il vous plaît, n'essayez pas cela sur des serveurs en direct. :)
la source
Je viens de découvrir cela et d'une trace, apparemment cela a été bloqué par une opération INDEX REBUILD qui était en cours d'exécution
Mon erreur spécifique était
Il doit avoir une valeur de délai d'attente très faible, mais vous pouvez peut-être vérifier si quelque chose est bloqué lorsque vous essayez d'accéder aux propriétés
la source
Je reçois ce message d'erreur lors du déploiement d'une solution d'outils de base de données SQL Server sur la base de données (sur SQL Server 2008 R2). Une fois le déploiement terminé, l'erreur a disparu. C'est un peu désagréable car la base de données n'est pas en mode mono-utilisateur ou en lecture seule (ou non) ou quoi que ce soit d'autre indiquant la raison.
la source