问题描述
我尝试将辅助数据库加入AlwaysOn可用性组,并出现错误“数据库“ my_database”数据库处于单用户模式,这与参与数据库镜像或可用性组不兼容。请将数据库设置为multi-用户模式,然后重试该操作。”我无法从网络上找到解决方案。
我能够使用精确的sql命令将其他数据库加入该AG。其他AG也可以正常工作。该数据库只是一个有问题的数据库。我用向导创建了AG,然后选择了“跳过初始数据同步”。还尝试了具有“自动播种”和“完整数据库和日志备份”同步选项的向导,但是所有操作都以相同的错误结尾。还尝试使用架构脚本创建此数据库,并且能够将空的辅助数据库无问题地连接到AG。
该数据库最初来自sql Server 2008,恢复模型非常简单。大小450GB。该AG中的第二个数据库来自同一服务器,并且辅助节点没有问题。非常感谢您的帮助。在所有步骤下面。
主要:
-将生产备份还原到主要
USE [master]
RESTORE DATABASE [my_database] FROM disK = N'\\my_server\backup\my_database_prod.bak' WITH FILE = 1,MOVE N'my_database_Data' TO N'F:\MSsql15.MSsqlSERVER\MSsql\Data\my_database_data.MDF',MOVE N'my_database_data2' TO N'F:\MSsql15.MSsqlSERVER\MSsql\Data\my_database_data2.ndf',MOVE N'my_database_Index_Data' TO N'F:\MSsql15.MSsqlSERVER\MSsql\Data\my_database_index1.ndf',MOVE N'my_database_Index_Data2' TO N'F:\MSsql15.MSsqlSERVER\MSsql\Data\my_database_index2.ndf',MOVE N'my_database_Log' TO N'G:\MSsql15.MSsqlSERVER\MSsql\Data\my_database_Log.LDF',MOVE N'my_database_Logdata2' TO N'G:\MSsql15.MSsqlSERVER\MSsql\Data\my_database_Logdata2.ldf',NOUNLOAD,STATS = 5
-更改选项
USE [master] ;
ALTER DATABASE [my_database] SET RECOVERY FULL ;
ALTER DATABASE [my_database] SET COMPATIBILITY_LEVEL = 150
-从主数据库创建初始备份
BACKUP DATABASE [my_database] TO disK = N'\\my_server\backup\my_database_first_full.bak'
WITH NOFORMAT,NOINIT,NAME = N'my_database-Full Database Backup',SKIP,COMPRESSION,STATS = 10
-备份日志
BACKUP LOG my_database
TO disK = '\\my_server\backup\my_database_trn_00001.trn'
WITH STATS
中学:
-从主服务器还原备份
USE [master]
RESTORE DATABASE [my_database]
FROM disK = N'\\my_server\backup\my_database_first_full.bak' WITH FILE = 1,norecovery,STATS = 5
-从主服务器还原日志
restore log [my_database] from disk='\\my_server\backup\my_database_trn_00001.trn' with norecovery
-将数据库加入AG
alter database [my_database] set HADR availability group= AG_PRD1
错误:
Msg 1488,第16级,状态2,第27行 数据库“ my_database”数据库处于单用户模式,该模式与参与数据库镜像或可用性组不兼容。将数据库设置为多用户模式,然后重试该操作。
解决方法
暂无找到可以解决该程序问题的有效方法,小编努力寻找整理中!
如果你已经找到好的解决方法,欢迎将解决方案带上本链接一起发送给小编。
小编邮箱:dio#foxmail.com (将#修改为@)