• 相关软件
    >sp_defaultdb 创建者:webmaster 更新时间:2006-02-16 15:51

    更改登录的默认数据库。



    语法


    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



    权限


    执行权限默认授予 public 角色,以便用户更改他们自己登录的默认数据库。只有 syadmin securityadmin 固定服务器角色的成员可以为其它登录执行 sp_defaultdb



    示例


    下面的示例将 pubs 设置为用户 Victoria 的默认数据库。



    EXEC sp_defaultdb 'Victoria', 'pubs'
    相关文章
    本页查看次数: