• 微信
    咨询
    微信在线咨询 服务时间:9:00-18:00
    纵横数据官方微信 使用微信扫一扫
    马上在线沟通
  • 业务
    咨询

    QQ在线咨询 服务时间:9:00-18:00

    选择下列产品马上在线沟通

    纵横售前-老古
    QQ:519082853 售前电话:18950029581
    纵横售前-江夏
    QQ:576791973 售前电话:19906048602
    纵横售前-小李
    QQ:3494196421 售前电话:18965140883
    纵横售前-小智
    QQ:2732502176 售前电话:17750597339
    纵横售前-燕子
    QQ:609863413 售前电话:17750597993
    纵横值班售后
    QQ:407474592 售后电话:400-1886560
    纵横财务
    QQ:568149701 售后电话:18965139141

    售前咨询热线:

    400-188-6560

    业务姚经理:18950029581

  • 关注

    关于纵横数据 更多优惠活动等您来拿!
    纵横数据官方微信 扫一扫关注官方微信
  • 关闭
  • 顶部
  • 您所在的位置 : 首页 > 新闻公告 > 分离后附加数据库

    分离后附加数据库

    分离后附加数据库和直接关闭附加数据库的不同
    大家知道sp_attach_db和sp_detach_db可以用来附加和分离数据库。但是不知道大家发现没有,不使用sp_detach_db分离数据库,直接关闭数据库服务,然后用sp_attach_db就可以直接将数据文件附加。现在就有两个问题
    1、为什么不用分离也可以直接附加。
    2、用sp_detach_db分离后附加和直接附加有什么不同。
    解:
    分离和附加数据库时最重要的是保持数据的一致性。其中一点是切断数据库使用户不能再操作数据库,这是肯定的,但最重要的是:数据库运行中肯定会有一些脏页,使用sp_detach_db可以保证所有脏页都被写入了磁盘。而直接关闭数据库则不能保证这一点。
    这就导致了分离后附加和直接关闭后附加的不同。
    由于使用sp_detach_db分离保证了脏页全部写入了磁盘,所以附加时,即使没有可用的日志文件,也可以成功附加。
    测试时mssql返回的信息(先分离后附加):
    Device activation error. The physical file name'
    d:\sqlserverdatabase\MSSQL\data\sqlbpa_log.LDF'
    may be incorrect.New log file '
    D:\sqlserverdatabase\MSSQL\Data\sqlbpa_log.LDF'
    was created.
    以上是使用sp_detach_db分离后,特意删除了日志文件后附加的结果。很明显mssql没有找到日志文件后,重新创建了日志文件。
    而直接关闭数据库后附加数据文件就必须保证数据文件和日志文件都可用。如果没有日志文件,将无法成功附加,因为不能保证数据的一致性。
    也就是说用sp_detach_db会更安全一些

    最新推荐


    微信公众帐号
    关注我们的微信