总是进入默认的数据库
怎么才能一启动就进入自己的数据库
[此贴子已经被作者于2005-3-28 19:04:43编辑过]
转帖SQL SERVER 联机丛书: 1.
更改登录的默认数据库。
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'