我想修改sysdatabases 里面的信息,sqlserver已经用单用户模式启动了
但是用ssms登录时却登录不了,提示:"服务器处于单用户模式。目前只有一位管理员能够连接。"
我用的是sa帐号,但也连接不了。服务器名前加"Admin:"也不行,直接找不到服务器。目的就是想修改sysdatebases的信息,sql版本是2008 R2,请问现在应该怎么解决?
谢谢

解决方案 »

  1.   

    用windows登录方式的管理员帐号登陆试试
      

  2.   

    把单用户模式关闭,或者用windows身份登录。
      

  3.   

    多谢楼上2位
    但是windows帐号登录也不行,
    现在目的就是想修改系统表,网上搜到的资料是要设置成单用户模式才可以
      

  4.   

    当初这个问题我也搞了好久才明白..
    仔细看SQL Server Management Studio中,
    不是点击[连接]下的[Database Engine],
    正确是点击[新建查询],就在[连接]偏上一点的位置那.
      

  5.   

    再次试了下,windows帐号可以了,之前试了不行。
    但是登录后无法打开系统表和视图,提示“未指定的错误”
    新建查询也不行,也是提示:"服务器处于单用户模式。目前只有一位管理员能够连接。"
      

  6.   


    这样可以连接上了,但是还是修改不了系统表(视图),请问你当年有修改成功系统表吗,数据库版本是sql2008 R2另外说多次,登录单用户模式的目的是为了修改系统表(视图)
    请问正常模式下怎么修改系统表呢?谢谢
      

  7.   

    用的sql语句是
    sp_configure 'allow update',1
    go
    reconfigure with override
    go
    use master
    go
    update sysdatabases set crdate=dateadd(day,2,crdate) where name ='SBO-COMMON'
    go
    sp_configure 'allow update',0
    go
    reconfigure with override
    go提示:不允许对系统目录进行即席更新。
      

  8.   

    刚查了一下, sysdatabases是视图(xtype=V),不是系统表(xtype=S),
    无法修改的,即使设置了allow update选项.
    select name,id,xtype from sysobjects 
    where name='sysdatabases'name             id          xtype
    -------------- -----------   -----
    sysdatabases     -202        V 
      

  9.   

    另: 该视图在SQL2000时还是系统表,可以被修改的(先allow update).
      

  10.   

    有个折中的办法,不知是偷梁换柱还是暗渡陈仓.--获取sysdatabases对应的代码.
    sp_helptext 'sysdatabases'--粘贴出来,修改其中第32行, 原为 crdate = d.create_date,  
    --修改为如下,你懂的.
    crdate = case when d.name<>'[数据库名]' then d.create_date 
                  when d.name='[数据库名]' then dateadd(day,2,d.create_date) end,--然后依据此代码新建一个自定义视图.