Чому моє дзеркало бази даних руйнується після зміни налаштувань групи файлів з RESTRICTED_USER на MULTI_USER?


9

Моє середовище є наступним: VMWare 5.5 сервер, що життєздатний, домен MS Windows Server 2008R2 Enterprise та SQL Server 2008 R2 Enterprise . Централізоване сховище з волоконно-канальним з'єднанням.

У мене є перегородки SQL Server DB. У мене є 2 file groups: один із живими даними (FG1) , другий з історичними даними (HDG) .

Друга група файлів - read-only. Щомісяця я роблю рух по розділах - я додаю нові дані (з попереднього місяця) до історичних даних. Цей процес відбувається автоматично .

Ми перенесли нашу базу даних на новий сервер. Спочатку я повинен був зробити процес вручну . Під час цієї операції моє дзеркало розбивається (після операції 3 - див. Потік процесу нижче) із наступною помилкою:

НА ПРИНЦИПАЛЬНИЙ СЕРВЕР:

ROW 0 в 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.

РЯД 1 в ЛОГІ:

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.

РЯД 2 в ЛОГІ:

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.

ЗАБЕЗПЕЧЕННЯ: Я виконував цю операцію на старому сервері багато разів автоматично, і я ніколи не відчуваю такої помилки.

НА ДЕРЖАВНИЙ СЕРВЕР:

РЯД 1 в ЛОГІ:

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.

РЯД 2 в ЛОГІ:

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.

МОЙ ПРОЦЕС СЛОВО:

1. Я роблю кілька резервних копій бази даних (повна, файлова група та резервні копії TLog).

2. Я встановив БД RESTRICTED_USER(щоб дозволити видалити прапор групи історичних файлів лише для читання за сценарієм).

2а. Я видаляю READ-ONLYпрапор моєї групи історичних файлів.

3. Я встановив БД, щоб MULTI_USERдозволити нормальну роботу нашого програмного забезпечення.

4. Я оновлюю розділи, щоб дані переміщувалися в історичну групу файлів.

5. Я повторюю кроки 2 , 2a та 3 у тому, щоб я могла встановити історичну групу файлів ЧИТАЙТЕ ТОЛЬКО знову.

6. Знову роблю резервні копії.

Хтось має ідею, чому я отримую цю помилку?

EDIT: Ми отримуємо одне і те ж питання під час різної фази процедури. Це єдина ситуація, в якій розбивається дзеркало, тому я гадаю, що проблема всередині процедури, але я не можу зрозуміти, чому!


Error: 823, Severity: 24видається апаратна проблема. Перевірте свої диски, щоб побачити, чи не погано вони. Запустіть checkdb на базах даних, щоб переконатися, що вони чисті.
Кін Шах

Я не впевнений @Kin. У нас є абсолютно нові оптичні спеціалізовані сховища IBM. Він працює приблизно від 3 місяців. І це був єдиний раз, коли ми отримували таку помилку. Насправді є близько 10 рядків з цією помилкою, але всі вони траплялися за той період часу. Знищуємо дзеркало і створюємо його заново. Ми видалимо дзеркало. Тож ми видаляємо її вручну.
Богдан Богданов

Помилка 823 with sev 24- проблема з обладнанням. Ви робите резервні копії на рівні файлів замість резервного копіювання рідного сервера sql або на сервері працює якесь антивірусне програмне забезпечення? Вам слід поставити сигнали агента sql, щоб повідомити вас про помилку 823 - цей скрипт вам допоможе . Крім того, 823 - це жахлива помилка - це говорить про те, що операція вводу / виводу не вдалася на рівні ОС, а підсистема вводу / виводу спричиняє корупцію - сервер sql не робив сторінку checsum
Кін Шах

Ми робимо обидва типи резервного копіювання, @Kin. Ми також повинні VmWare replicationa remote host. Те, що я помітив, поки не написав відповідь вам, - це те, що ми не можемо знищити дзеркало нормальним способом. Файл був заблокований, і нам потрібно stop SQL serviceперенести файли db в інший каталог. З цього моменту все добре (я перевіряю журнали, використовуючи sys.xp_readerrorlog). Інша думка - якщо в той самий момент відбудеться реплікація VmWare, але я не впевнений, як це вплине на процес (про це я мало знаю VmWare).
Богдан Богданов

We do both type of backupsце може бути проблемою. Знімки VM не повинні використовуватися як альтернатива рідним резервним копіям сервера sql.
Кін Шах

Відповіді:


0

Ми знайшли проблему. Це помилка в SQL Server. Коли ми встановимо, READ_WRITEкоманда не передається належним чином у mirrorБД. Коли запуск сценарію змінюється partitionsна дзеркальному сервері, сталася помилка. Після цього синхронізація руйнується і БД на дзеркалі блокується (у suspendedстані).

Ми вирішуємо цю проблему, оновивши SQL Server до останньої версії (початковою версією було wiout SP).

Використовуючи наш веб-сайт, ви визнаєте, що прочитали та зрозуміли наші Політику щодо файлів cookie та Політику конфіденційності.
Licensed under cc by-sa 3.0 with attribution required.