你的问题估计没权限
如何改user default database:安全性——〉登陆——〉默认设置

解决方案 »

  1.   

    sp_defaultdb
    更改登录的默认数据库。语法
    sp_defaultdb [ @loginame = ] 'login' ,
        [ @defdb = ] 'database'参数
    [@loginame =] 'login'是登录名。login 的数据类型为 sysname,没有默认值。login 可以是现有 Microsoft® SQL Server™ 登录或者是 Microsoft Windows NT® 用户或组。如果 SQL Server 上没有 Windows NT 用户或组,系统会自动添加。[@defdb =] 'database'新的默认数据库的名称。database 的数据类型为sysname,没有默认值。database 必须已经存在。返回代码值
    0(成功)或 1(失败)注释
    当客户端连接 SQL Server 时,如果没有显式使用 USE 语句,则为其登录定义的默认数据库将成为当前数据库。可以在 sp_addlogin 添加登录时定义默认数据库。当执行 sp_addlogin 时,如果没有指定数据库,则 master 数据库将成为默认数据库。执行 sp_defaultdb 后,当用户下次登录时登录将连接到新数据库。但 sp_defaultdb 不能自动将数据库访问权授予登录。数据库所有者 (dbo) 必须通过 sp_grantdbaccess 将数据库访问权授予登录,或者该登录必须是一个在数据库中指定的 guest 用户。推荐使用 sp_defaultdb 更改所有登录(而不是 sysadmin 固定数据库角色成员)的默认数据库。这将防止用户不经意间使用或创建 master 数据库中的对象。在用户定义的事务中不能执行 sp_defaultdb。
      

  2.   

    请问是Database Access页面中打上钩吗?
      

  3.   

    能用sa访问 这个user的default database吗?
      

  4.   

    To shuiniu: 可以.
    问题是这样的,我的数据库是从另一台服务器上load来的。
    现在我在security中想选登陆用户的database access的数据库为load过来的话,
    报错:user "XXX" already exists.
    我想进入数据库删除该用户的话他又报错:
    The Selected User cannot be dropped because the user owners objects!请高手指教了,至少如何删除这个用户?
      

  5.   

    参考!
    sp_changeobjectowner
    sp_changedbowner