Pourquoi mon miroir de base de données tombe en panne après avoir modifié les paramètres du groupe de fichiers de RESTRICTED_USER à MULTI_USER?


9

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-ONLYindicateur de mon groupe de fichiers historiques.

3. J'ai configuré DB pour MULTI_USERpermettre 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!


Error: 823, Severity: 24semble 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.
Kin Shah

Je ne suis pas sûr de @Kin. Nous avons un tout nouveau stockage IBM spécialisé en optique. Il fonctionne à partir d'environ 3 mois. Et ce fut la seule fois où nous recevons une telle erreur. En fait, il y a environ 10 lignes avec cette erreur, mais elles se sont toutes produites pendant cette période. Nous détruisons le miroir et le créons à nouveau. Nous avons un problème pour retirer le miroir. Nous le supprimons donc manuellement.
Bogdan Bogdanov

L'erreur 823 with sev 24est 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
Kin Shah

Nous faisons les deux types de sauvegardes, @Kin. Nous avons aussi VmWare replicationun 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 servicedé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).
Bogdan Bogdanov

We do both type of backupscela 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.
Kin Shah

Réponses:


0

Nous avons trouvé le problème. Il s'agit d'un bogue dans SQL Server. Lorsque nous définissons READ_WRITEla commande n'est pas transférée correctement dans la base de mirrordonnées. Lorsque le script démarre le changement partitionssur le serveur miroir, une erreur s'est produite. Après cela, la synchronisation est ruinée et la base de données sur le miroir est verrouillée (en suspendedétat).

Nous corrigeons le problème en mettant à jour SQL Server vers la dernière version (notre version initiale était sans SP).

En utilisant notre site, vous reconnaissez avoir lu et compris notre politique liée aux cookies et notre politique de confidentialité.
Licensed under cc by-sa 3.0 with attribution required.