Mon environnement est le suivant: VMWare 5.5 serveur revitalisé MS Windows Server 2008R2 Enterprise domaine et SQL Server 2008 R2 Enterprise . Stockage centralisé avec connexion Fibre Channel.
J'ai des partitions dans mon SQL Server DB
. J'en ai 2 file groups
: un avec des données en direct (FG1) , le second avec des données historiques (HDG) .
Le deuxième groupe de fichiers est read-only
. Chaque mois, je fais des mouvements dans les partitions - j'ajoute de nouvelles données (du mois précédent) aux données historiques. Ce processus est automatique .
Nous avons déplacé notre base de données vers un nouveau serveur. Au départ, je devais faire le processus manuellement . Pendant cette opération, mon miroir tombe en panne (après l'opération 3 - voir le déroulement du processus ci-dessous) avec l'erreur suivante:
SUR PRINCIPAL SERVER:
ROW 0 dans LOG:
Date 15.6.2015 20:54:11
Log SQL Server (Current - 16.6.2015 07:55:00)
Source spid84
Message
Setting database option MULTI_USER to ON for database MYDB.
RANG 1 dans le LOG:
Date 15.6.2015 20:54:11
Log SQL Server (Current - 16.6.2015 07:55:00)
Source spid18s
Message
Error: 1453, Severity: 16, State: 1.
RANG 2 dans LOG:
Date 15.6.2015 20:54:11
Log SQL Server (Current - 16.6.2015 07:55:00)
Source spid18s
Message
'TCP://10.201.27.154:5022', the remote mirroring partner for database 'MYDB', encountered error 823, status 3, severity 24. Database mirroring has been suspended. Resolve the error on the remote server and resume mirroring, or remove mirroring and re-establish the mirror server instance.
REMARQUE: J'ai exécuté cette opération sur l'ancien serveur plusieurs fois automatiquement et je n'ai jamais rencontré une telle erreur.
SUR LE SERVEUR DE MIROIR:
RANG 1 dans le LOG:
Date 15.6.2015 20:54:11
Log SQL Server (Archive #3 - 15.6.2015 21:33:00)
Source spid17s
Message
Error: 823, Severity: 24, State: 3.
RANG 2 dans LOG:
Date 15.6.2015 20:54:11
Log SQL Server (Archive #3 - 15.6.2015 21:33:00)
Source spid17s
Message
The operating system returned error 5(Access is denied.) to SQL Server during a write at offset 0000000000000000 in file 'e:\Databases\MYDB_HISTRICAL.ndf'. Additional messages in the SQL Server error log and system event log may provide more detail. This is a severe system-level error condition that threatens database integrity and must be corrected immediately. Complete a full database consistency check (DBCC CHECKDB). This error can be caused by many factors; for more information, see SQL Server Books Online.
MON PROCESSUS SUIT:
1. Je fais plusieurs sauvegardes de la base de données (sauvegardes complètes, groupe de fichiers et TLog).
2. J'ai défini DB sur RESTRICTED_USER
(pour permettre la suppression en lecture seule de l'indicateur de groupe de fichiers historique par script).
2a. Je supprime l' READ-ONLY
indicateur de mon groupe de fichiers historiques.
3. J'ai configuré DB pour MULTI_USER
permettre le fonctionnement normal de notre logiciel.
4. Je mets à jour les partitions afin que les données soient déplacées vers le groupe de fichiers historiques.
5. Je répète les étapes 2 , 2a et 3 afin de pouvoir définir à nouveau le groupe de fichiers historiques en lecture seule.
6. Je refais des sauvegardes.
Quelqu'un sait-il pourquoi je reçois cette erreur?
EDIT: Nous recevons le même problème lors des différentes phases de la procédure. C'est la seule situation dans laquelle le miroir tombe en panne, donc je suppose que le problème est à l'intérieur de la procédure, mais je ne peux pas comprendre pourquoi!
823 with sev 24
est un problème matériel. Effectuez-vous des sauvegardes de niveau fichier au lieu de sauvegardes natives du serveur SQL ou un logiciel antivirus est-il en cours d'exécution sur le serveur? Vous devriez mettre des alertes d'agent sql pour vous alerter lorsqu'une erreur 823 se produit - ce script vous aidera . En outre, 823 est une erreur désagréable à obtenir - il indique qu'une opération d'E / S a échoué au niveau du système d'exploitation et que le sous-système d'E / S provoque la corruption - le serveur SQL n'a pas fait de checsum de page
VmWare replication
un remote host
. Ce que j'ai remarqué jusqu'à ce que je vous écrive, c'est que nous ne pouvons pas détruire le miroir de manière normale. Le fichier a été verrouillé et nous devons stop SQL service
déplacer les fichiers db dans un autre répertoire. À partir de ce moment, tout va bien (je vérifie les journaux en utilisant sys.xp_readerrorlog
). Une autre pensée est de savoir si une réplication VmWare a lieu à ce moment-là, mais je ne sais pas comment cela affectera le processus (je sais peu de choses VmWare
).
We do both type of backups
cela pourrait être un problème. Les instantanés de machine virtuelle ne doivent pas être utilisés comme alternative aux sauvegardes natives du serveur SQL.
Error: 823, Severity: 24
semble un problème matériel. Vérifiez vos disques pour voir s'ils ont mal tourné. Exécutez checkdb sur les bases de données pour vous assurer qu'elles sont propres.