none
SQL2012日志传送辅助数据库无法还原 RRS feed

  • 问题

  • 我有两台SQLServer,分别是SQLASQLB。我先在SQLA上对MT1Dev数据库做日志同步。它报如下错

    辅助数据库中显示数据库文件Arsystem.mdf.无法读写因为他正在被另一个数据库使用"MT1UAT_ARSystem"

    1、SQLA\SQLB分别把MT1UAT_ARSystem数据库脱机停用ALTER DATABASE [DBName] SET OFFLINE WITH ROLLBACK IMMEDIATE并把应用端服务停掉。

    2、用户访问模式改为single_user然后在配置日志传送 依然显示如上错误信息





    2015年2月6日 16:22

全部回复

  • Looks like you want to log shipping to another database on server sqlb, db should have same name on both servers.
    2015年2月6日 18:41
  • 我在同一个实列下,多个DB都做了日志传送并且成功了,只有这个DB"MT1UAT_ARSystem"做日志同步的时候,显示"无法读写因为他正在被另一个数据库使用".

    2015年2月7日 1:22
  • Because that data file is used by another db on sqlb, that why have to ensue  db involved in log shipping is identical on both servers.
    2015年2月7日 1:59
  • 你好,我的服务器环境是这样的,我有2台物理服务器,这2台服务器都安装了,SQL2012并在这2台服务器上配置日志同步。数据库所有的MDF LDF以及bak trn都放在存储上。

    PS你可以写中文的,这样我方便我理解,谢谢

    2015年2月7日 2:40
  • Sorry, unable to type Chinese here. Your issue is not version, db file location or so. The issue you got is that on sqla, file ARSystem_data.mdf is for db MT1UAT_ARSystem. While on sqlb, it's for db MultiTenant1_ARSystem.

    Anyway, I'll not use log shipping on sql2012. Mirroring is better choice, at lease for me.

     
    2015年2月7日 3:15
  • 数据库版本都是SQL2012 SP2. ARSytem_data MT1UAT_ARSystem MultiTenant1_ARSystem都在SQLA的文件夹上。SQLB的文件夹中只有ARSytem_data和MT1UAT_ARSystem。

    至于镜像是个不错的选择。但是我这里的环境有些复杂,他其实做了2个高可用的配置。一个是故障转移,一个是日志传送。而且日志传送有个stadby功能可以在辅助数控中查询数据。 

    2015年2月7日 3:27
  • Alwayson in sql2012 supports read only seconary. Ok, which db you got log shipping error? What are db name and file name of it on sqla? Have same names on sqlb?
    2015年2月7日 4:51
  • SQLA在做日志同步的时候会自动将DB同步到SQLB中的。

    MT1UAT_ARSystem数据库在SQLA和SQLB都有

    MT1DEV_ARSystem由于没有同步成功,所以只有SQLA有。SQLB中没有。

    2015年2月7日 5:25
  • So you got above error when set log shipping for MT1DEV_ARSystem? What are name and filename in sys.sysfils of that db? Did you just copy MT1UAT_ARSystem to MT1DEV_ARSystem on sqla?
    2015年2月7日 19:05
  • 看你的错误信息应该是在搭建logshipping的过程中报的错,你应该确保辅助库没有任何连接,否则会还原不上

    Love SQL

    2015年2月9日 3:08
  • 建议在辅助服务器上手动还原这个数据库,然后再搭建日志传送。

    手动还原时你可以指定不同的路径来存放同名的数据文件。

    2015年2月10日 1:51
  • 根据错误提示,检查一下不能覆盖的那个文件是否确实存在,如果在,是谁在用
    2015年2月11日 6:19
  • 我通过K盘的路径发现了一件奇怪的事情。

    SQLB 的uat数据库已经配置了日志传送,但是在根本找不到.mdf和ldf

    2015年2月12日 5:41
  • 我通过 exec sp_who2在SQLB上查看过,UAT数据库没有被任何服务器占用使用。

    我通过K盘的路径发现了一件奇怪的事情。

    SQLB 的uat数据库已经配置了日志传送,但是在根本找不到.mdf和ld

    2015年2月12日 5:44
  • Did you check all disks on sqlb server? What's default db file location in sql server properties?
    2015年2月12日 18:28
  • 应该检查文件是否存在,如果文件已经存在并且没有被使用的话,你可以手工删除它

    2015年2月13日 10:01