Warning: file_get_contents(/data/phpspider/zhask/data//catemap/4/oop/2.json): failed to open stream: No such file or directory in /data/phpspider/zhask/libs/function.php on line 167

Warning: Invalid argument supplied for foreach() in /data/phpspider/zhask/libs/tag.function.php on line 1116

Notice: Undefined index: in /data/phpspider/zhask/libs/function.php on line 180

Warning: array_chunk() expects parameter 1 to be array, null given in /data/phpspider/zhask/libs/function.php on line 181
Sql server 事务日志还原:无法更新数据库中的系统对象,因为它是只读的_Sql Server_Sql Server 2012 - Fatal编程技术网

Sql server 事务日志还原:无法更新数据库中的系统对象,因为它是只读的

Sql server 事务日志还原:无法更新数据库中的系统对象,因为它是只读的,sql-server,sql-server-2012,Sql Server,Sql Server 2012,我想建立一个大型ERP生产数据库的secundary副本,作为只读数据库用于报告目的。已配置生产数据库上的常规备份作业:每晚进行一次完全备份,每15分钟进行一次常规事务日志备份 我正在恢复完整备份,然后应用事务日志备份(使用备用选项)。事务日志恢复成功,但我总是在最后收到一条消息,系统对象无法更新: Processed 7 pages for database ..., file ... on file 1. System objects could not be updated in dat

我想建立一个大型ERP生产数据库的secundary副本,作为只读数据库用于报告目的。已配置生产数据库上的常规备份作业:每晚进行一次完全备份,每15分钟进行一次常规事务日志备份

我正在恢复完整备份,然后应用事务日志备份(使用备用选项)。事务日志恢复成功,但我总是在最后收到一条消息,系统对象无法更新:

Processed 7 pages for database ..., file ... on file 1. 
System objects could not be updated in database ... because it is read-only. 
System objects could not be updated in database ... because it is read-only. 
RESTORE LOG successfully processed 7 pages in 0.029 seconds (1.633 MB/sec).
看来恢复是成功的。但是,有关系统对象的警告(错误?)令人困惑。这是我应该注意的事情吗?错误的原因是什么?我在Microsoft支持论坛上找不到任何类似的问题


更新:SQL Server版本为11.0.7469.6(2012,包含所有service Pack和修补程序)

如果您不介意,我将建议您解决方案(可能有解决方案)

第一步。将完整备份还原到新数据库,并确保备份成功(通过访问某些对象)

第二步。一次恢复事务备份2(一些计数,比如说3或一些数字),并使数据库处于恢复状态,然后查询在步骤1中完成的相同对象

第三步。重复此过程,直到成功恢复所有备份


同时检查以下各项,可能会起作用。

两台服务器是否具有相同的版本(最多CU)?不适用于CU。生产服务器(进行备份的地方)的版本为11.0.5676,新服务器(进行恢复的地方)的版本为11.0.7469.6。我的猜测正好相反,如果主服务器更为更新,它还试图升级系统对象,至少是版本