对于辅助数据库的读取访问,是不是只能使用SA帐户?
----不是,所有源端的帐号都可使用.我采用stand by模式,每天工作时段进行日志传送,非工作时段不安排计划。
可不可以另外添加一个作业,每天非工作时段就把辅助数据库置为可读写状态,然后再下一次日志传送前把该数据库再置为只读状态而不影响日志传送?--不可以.

解决方案 »

  1.   

    需要做什么设置吗?我配置完成之后,使用SA可以访问辅助数据库,但是其它帐户无法访问,我确认是使用该数据库本身的账户访问的,且该账户在主数据库具有Owner权限。
      

  2.   


    其它帐号要同要辅助服务器上建才可以,在建时,要同步该帐号的sid.
      

  3.   

    多谢perfectaction 。这个账号在辅助数据库所在实例也存在,对其它数据库拥有权限,两个实例中都包含这个账号名称,但是SID可能不同,大概是这个原因造成的访问失败吧,这样的话就没有办法同步了吧?我修改辅助服务器所在实例安全登录的SID?另外请教下:如果我对一个数据库配置了Logshipping,然后又使用维护计划不断地对该数据库进行完全备份+差异备份+日志备份的策略,会对日志传送产生影响吗?
      

  4.   

    如:
    select 'sp_addlogin ''' + name + ''',@passwd = ''' + ''',@sid= ' , sid 
    from master.dbo.syslogins 
    where name in( 'username')
    go
    /*
    (无列名) sid
    sp_addlogin 'username',@passwd = '',@sid=0xA312CD63E9F16F40958FB97B7ADCD6FE
    */
    然后在辅助库上建帐号:
    sp_addlogin 'username',@passwd = '与主服务器相同的密码',@sid=0xA312CD63E9F16F40958FB97B7ADCD6FE
      

  5.   


    1.对,可以修改辅助服务器所在实例安全登录的SID
    2.做了logshipping,不要再通过其它方式做日志备份,但可以全备+差异备份.
      

  6.   

    谢谢perfectaction 。 我之前配置了Logshipping工作正常,过了一阵子就会在辅助实例上恢复失败,所以就怀疑是维护计划备份了日志,导致Logshipping目录中的日志备份文件节点ID不连续了吧。
      

  7.   


    应该是的,如果在其它地方配置了日志备份,就需要手工到辅助数据库上去还原此日志,才能使logshipping继续运行。
      

  8.   

    再请教一下,如果要修改安全登录的SID,我是不是需要修改Master数据库下的sys.syslogins和该实例下所有存在该账号的数据库中的sys.sql_logins?
    还有没有其它地方需要修改?
      

  9.   


    2005应该不让修改吧,我都是删除后重建帐号时指定sid的。
      

  10.   

    我刚才查了一下,辅助数据库中该账户的SID跟Master数据库中的SID是一样的,跟源库中的SID不同,但是备用库还是不能访问。
    我之前对辅助数据库做了一次完全备份的恢复,然后删除了辅助数据库中已有的这个账户,然后再实例的安全登录中对该账户添加了对辅助数据库的访问权限,
    之后使用这个完全备份对辅助数据库又做了一次恢复(with norecovery),接着开启了日志传送作业。
      

  11.   

    sql 2005确实不允许修改系统表。
      

  12.   


    这个sid需要跟源login帐号的sid相同才能访问。
      

  13.   

    多谢perfectaction 。我重建了登陆,现在可以了。