EXEC MSDB..SP_CHANGE_PRIMARY_ROLE
@DB_NAME='TEST3',
@BACKUP_LOG=1,
@TERMINATE=0,
@FINAL_STATE=3,
@ACCESS_LEVEL=1
GO
--------------------------------------------
EXEC MSDB..SP_CHANGE_SECONDARY_ROLE
@DB_NAME='TEST3',
@DO_LOAD=1,
@FORCE_LOAD=1,
@FINAL_STATE=3,
@ACCESS_LEVEL=1,
@TERMINATE=1,
@STOPAT=NULL
GO
--------------------------------------------
EXEC MSDB..SP_CHANGE_MONITOR_ROLE
@PRIMARY_SERVER='TESTSERVER',
@SECONDARY_SERVER='NETSERVER',
@DATABASE='TEST3',
@NEW_SOURCE='\\NETSERVER\DATASHIPPING\'GO注:原主服务器和监视服务器是同一台服务器依次执行上面的语句后,原主服务器的数据库变为只读了,但备用服务器的数据库也还是只读,不可以修改的状态,应该怎么处理呢?
@DB_NAME='TEST3',
@BACKUP_LOG=1,
@TERMINATE=0,
@FINAL_STATE=3,
@ACCESS_LEVEL=1
GO
--------------------------------------------
EXEC MSDB..SP_CHANGE_SECONDARY_ROLE
@DB_NAME='TEST3',
@DO_LOAD=1,
@FORCE_LOAD=1,
@FINAL_STATE=3,
@ACCESS_LEVEL=1,
@TERMINATE=1,
@STOPAT=NULL
GO
--------------------------------------------
EXEC MSDB..SP_CHANGE_MONITOR_ROLE
@PRIMARY_SERVER='TESTSERVER',
@SECONDARY_SERVER='NETSERVER',
@DATABASE='TEST3',
@NEW_SOURCE='\\NETSERVER\DATASHIPPING\'GO注:原主服务器和监视服务器是同一台服务器依次执行上面的语句后,原主服务器的数据库变为只读了,但备用服务器的数据库也还是只读,不可以修改的状态,应该怎么处理呢?
--假设备用库是: dbname
--如果你现在要把备服务器作为主服务器,可以在原来的辅助服务器上先这样:
restore database dbname with recovery
将主库做最后一次log backup
然后将其set offline在辅助服务器上启动 copy的job
然后再启动restore的job,完成后,将备库recovery后,做生产用。
恢复数据,如果是一个100G的数据库,是不是需要比较长的时间?
看像我看错了
如果状态是只读,只需alter database dbname set multi_user
如果状态是还原中,才需要 restore database dbname with recovery 这个只是改变状态,100G的话,一般情况下不会超过1分钟
alter database dbname set multi_user 后仍然是只读!