Pourquoi SQL Server dit "Starting Up Database" dans le journal des événements, deux fois par seconde?
J'ai un Serveur SQL server [2012 Express with Advanced Services] de la base de données, avec pas beaucoup en elle. Je suis du développement d'une application à l'aide de EF Premier Code, et depuis mon modèle est toujours dans un état de flux, la base de données est de vous faire larguer et re-créé plusieurs fois par jour.
Ce matin, mon application n'a pas pu se connecter à la base de données la première fois que j'ai couru. Après enquête, il semble que la base de données est "en Attente de Récupération".
À la recherche dans le journal des événements, je peux voir que SQL Server a enregistré:
Partir d'une base de données (dans ma base de données)
...environ deux fois par seconde tout au long de la nuit. (Le journal des événements rempli, donc je ne peux pas voir au-delà de hier soir).
Ces "informations", les entrées de journal d'arrêt à environ 6h ce matin, et sont immédiatement suivis par une "erreur" d'entrée de journal disant:
La mémoire est insuffisante dans le pool de ressources "internes" pour exécuter cette requête
Ce que le diable est arrivé à ma base de données?
Remarque: il est possible que j'ai quitté mon application web s'exécutant en mode "debug" pour la nuit - même, sans que personne de "conduite" je ne peux pas imaginer qu'il y aura beaucoup de base de données de trafic, le cas échéant.
Il est également intéressant de mentionner que j'ai un catalogue de texte intégral dans la base de données (même si comme je l'ai dit, il n'y a guère de tout contenu réel dans la base de données à l'heure actuelle).
Je dois dire que, ce qui est inquiétant, je pas être heureux si c'était le cas de ma base de données de production!
source d'informationauteur Gary McGill
Vous devez vous connecter pour publier un commentaire.
Avec AUTO_CLOSE SUR la base de données sera fermé dès qu'il n'y a pas de connexions, et de ré-ouvrir (exécuter la récupération, quoique à un rythme rapide une) à chaque fois qu'une connexion est établie. Si vous avez été voir le message parce que toutes les 2 secondes de votre application de se connecter à la base de données. Vous avez probablement toujours eu ce problème et de ne jamais remarqué avant. Maintenant que votre base de données s'est écrasé, vous étudié le journal et a découvert ce problème. Tout est bon que vous savez maintenant et sera susceptible de le réparer, ce n'est pas l'adresse que vous réel problème, à savoir la disponibilité de la base de données.
Alors maintenant, vous avez une base de données qui ne sortira pas de la récupération, que faites-vous? Vous restaurer à partir de votre dernière sauvegarde et d'appliquer votre plan de reprise après sinistre. Vraiment, c'est tout là est à lui. Et il n'y a pas d'alternative.
Si vous voulez comprendre pourquoi le crash qui s'est passé (il peut être d'environ 1 myriades de raisons...), alors vous avez besoin de contacter CSS (Support technique). Ils ont les moyens de vous guider à travers une enquête.
Si vous vouliez désactiver ce message dans le journal des événements.
Juste goto SQL Server Management Studio,
C'est Tout 🙂
J'ai eu un problème similaire avec une base de données sql express coincé dans la récupération. Après avoir enquêté sur le journal, il est apparu que la base de données a été le démarrage de chaque couple de minutes. L'exécution du script
a révélé que la fermeture automatique est activée.
Il semble donc que la base de données est toujours en phase de récupération, mais effectivement en ligne pour une brève seconde avant de se déconnecter à nouveau, car il n'y a pas de connexions clientes.
J'ai résolu ce problème avec le script suivant.