SQL Server 2016 _ не может запустить зеркало
После обновления SQL Server 2014 до SQL Server 2016 (обе версии Enterprise) я не могу запустить зеркальное отображение.
Это нормально работает на SQL Server 2014.
После того как я восстановлю (WITH NORECOVERY)
зеркальная база данных с полным и журналом резервного копирования первичной базы данных, которую я обычно запускаю configure setup
,
После нажмите на Start mirror
Я получаю эту ошибку:
База данных "DatabaseName" не может быть открыта. Это в середине восстановления. (Microsoft SQL Server, ошибка:927)
4 ответа
Проблема с SQL 2016 GUI. Работал с командами TSQL.
Зеркальный сервер:
ИСПОЛЬЗУЙТЕ МАСТЕР; GO ALTER DATABASE SET PARTNER = 'TCP://PrincipalServer:5022' GO
Главный сервер:
ИСПОЛЬЗУЙТЕ МАСТЕР;
ALTER DATABASE SET PARTNER = 'TCP: // MirrorServer: 5022' GO
Перед выполнением этих команд необходимо выполнить полное восстановление и запись резервной копии на диск без восстановления.
У меня такая же проблема. Оказывается, некоторые люди говорили, что это проблема с графическим интерфейсом. Я запустил следующие TSQL для решения проблемы:
- На зеркальном сервере выполните следующий TSQL:
USE MASTER;
GO
ALTER DATABASE <Database_Name> SET PARTNER = 'TCP://<Principal Server>:5022'
GO
- На основном сервере выполните следующий TSQL:
USE MASTER;
GO
ALTER DATABASE <Database_Name> SET PARTNER = 'TCP://<Principal Server>:5023';
GO
ALTER DATABASE <Database_Name> SET WITNESS = 'TCP://<Principal Server>:5024';
GO
Надеюсь, поможет.
Это похоже на ошибку в SSMS после создания полных резервных копий и резервных копий журналов и их восстановления в NORECOVERY
в режиме зеркального экземпляра попробуйте выполнить следующие команды:
В экземпляре Mirror:
ALTER DATABASE <Database Name>
SET PARTNER =
'TCP://<Your Principal Server>.<Domain>:<Mirroring Port>'
GO
В основном экземпляре:
ALTER DATABASE <Database Name>
SET PARTNER =
'TCP://<Your Mirror Server>.<Domain>:<Mirroring Port>'
GO
После выполнения этих команд ваше зеркалирование должно быть запущено. Чтобы проверить, все ли настроено, вы можете проверить вывод этого запроса:
SELECT mirroring_state_desc
FROM sys.database_mirroring
Where database_id = DB_ID('dbTest')
Вы можете узнать больше о различных значениях состояний зеркалирования здесь: https://docs.microsoft.com/en-us/sql/database-engine/database-mirroring/mirroring-states-sql-server?view=sql-server-ver15
У меня было то же сообщение об ошибке (и я использовал SSMS 2016 GUI), но проблема была решена путем обеспечения того, чтобы все три экземпляра (основной, зеркальный и свидетель) работали под одной и той же (windows) учетной записью службы.
Ожидается, что с NORECOVERY вы все равно добавите дополнительные резервные копии журналов или, если это на самом деле окончательное полное резервное копирование, тогда используйте WITH RECOVERY.
См.: https://technet.microsoft.com/en-us/library/ms191455(v=sql.105).aspx (Понимание того, как восстановление и восстановление резервных копий работают в SQL Server)