Сервер з відмовою має статус (дзеркало, відключено, у відновленні), а основний сервер має статус (головний, відключений).
Який процес підключення цих серверів?
Сервер з відмовою має статус (дзеркало, відключено, у відновленні), а основний сервер має статус (головний, відключений).
Який процес підключення цих серверів?
Відповіді:
Іноді перезапуск кінцевої точки дзеркального відображення на головному сервері вирішить це.
Для цього використовуйте наступний T-SQL.
ALTER ENDPOINT Endpoint_Name STATE = STOPPED
ALTER ENDPOINT Endpoint_Name STATE = STARTED
Щоб отримати назву кінцевої точки.
SELECT * FROM sys.endpoints
WHERE type = 4
Дивіться KB 2490051 для отримання більш детальної інформації.
По-перше, спробуйте змусити їх з’єднатися з цією командою T-SQL для основної:
ALTER DATABASE AdventureWorks2012 SET PARTNER RESUME;
Якщо це не вдається, у вас виникає проблема зв’язку між головним і дзеркалом, і саме з цього починається задоволення. Це може бути що завгодно - від підключення IP до безпеки на дзеркальних кінцевих точках до різних методів шифрування. Я рекомендую книгу Роберта Девіса Pro SQL Server 2008 Mirroring, якщо вам потрібно заглибитися у вирішення проблем.
У нашому випадку ми використовуємо автентифікацію сертифікатів для підключення дзеркальних кінцевих точок, а проблема була через те, що один із сертифікатів, якими користуються кінцеві точки дзеркального відображення, закінчився.
Ви можете перевірити дату закінчення терміну дії сертифіката, який бере участь в аутентифікації кінцевих точок, виконавши
SELECT * FROM sys.certificates
Якщо це так, вам потрібно буде створити нові сертифікати на те, що термін дії закінчився, і робити це ALTER ENDPOINT
після імпортування.
Я вирішив цю проблему наступними кроками, перезапуск кінцевої точки лише на ПОЧАТКУ не допоміг
НА ПЕРВИНЕНО:
SELECT * FROM sys.endpoints WHERE type = 4
ALTER ENDPOINT Mirroring STATE = STOPPED
ALTER ENDPOINT Mirroring STATE = STARTED
НА ОЧІРКУ:
SELECT * FROM sys.endpoints WHERE type = 4
ALTER ENDPOINT Mirroring STATE = STOPPED
ALTER ENDPOINT Mirroring STATE = STARTED
Повернутися до ПОЧАТОК:
ALTER DATABASE PACXDSite SET PARTNER RESUME;
Справа:
Коли ви запустите команду нижче на головному сервері:
alter database 'Database_Name' set partner off
Після запуску вище команди ваша БД переходить у [mirror, disconnected]
стан на дзеркальному сервері.
Роздільна здатність:
Крок 1: Запустіть нижче запит на дзеркало
exec sp_resetstatus 'Database_Name'
Крок 2: Після запуску команди нижче ваша БД буде доступна.
restore database 'Database_Name' with recovery
Примітка. Для відновлення потрібно буде деякий час.
Якщо "RESUME PARTNER" не працює
ALTER DATABASE AdventureWorks2016 SET PARTNER RESUME;
Я б зламав дзеркало для цієї бази даних і перенастроював її.
- КРОК 1 ПРО ПРИНЦИП, розбийте дзеркало для бази даних
ALTER DATABASE AdventureWorks2016 SET PARTNER OFF;
- КРОК 2 НА Дзеркало, розбийте дзеркало бази даних
ALTER DATABASE AdventureWorks2016 SET PARTNER OFF;
- КРОК 3 ПРО Дзеркало
RESTORE LAST FULL BACKUP DATABASE WITH NO RECOVERY
RESTORE TRAN BACKUP DATABASE WITH NO RECOVERY
- КРОК 4 ПРО Дзеркало
ALTER DATABASE AdventureWorks2016 SET PARTNER = 'TCP://PRINCIPAL.MyDomain.COM:5022';
- КРОК 5 ПРО ПРИНЦИП
ALTER DATABASE AdventureWorks2016 SET PARTNER = 'TCP://MIRROR.MyDomain.COM:5022';
- КРОК 6 ПРО ПРИНЦИПАЛЬНИЙ, якщо СВІДОК вже налаштований
ALTER DATABASE AdventureWorks2016 SET WITNESS = 'TCP://WITNESS.MyDomain.COM:5022';
Варто зазначити, що все вищезазначене можна робити в робочий час, оскільки основна база даних завжди буде в Інтернеті та доступна.