J'ai configuré deux serveurs Windows Server 2008, qui exécutent tous deux SQL Server 2008 R2. L'un est utilisé comme base de données primaire, l'autre comme basculement miroir (deux bases de données de sites Web + ASPState pour les sessions). Tout fonctionne parfaitement jusqu'à ce que l'une des bases de données devienne la principale après que le serveur sur lequel elle fonctionne ait été redémarré. J'obtiens cette erreur :
Invalid object name 'tempdb.dbo.ASPStateTempSessions'.
Je suis capable de résoudre ce problème en exécutant la procédure stockée ASPState_Startup
(qui exécute ASPState.dbo.CreateTempTables
), mais seulement si la BD est dans l'état "principal". Lorsqu'un serveur est redémarré, il revient toujours avec les bases de données dans un état "miroir/restauration", ce qui signifie que je ne peux pas exécuter ce SP au démarrage.
Avez-vous des suggestions sur la façon dont je peux contourner ce problème ?
0 votes
Il me semble qu'il y a un problème avec la mise en miroir. Plutôt que de mettre en place une solution de contournement, vous êtes-vous demandé pourquoi vous obtenez l'erreur en premier lieu ? Essayez dba.stackexchange.com
1 votes
La mise en miroir fonctionne bien ; c'est un choix délibéré car tempdb n'est pas et ne peut pas être mis en miroir. Ça ne peut pas faire de mal de le mettre sur dba.se.