sp_defaultdb (Transact-SQL)

适用于SQL Server

更改 SQL Server 登录名的默认数据库。

重要

在 SQL Server的未来版本中将删除此功能。 请避免在新的开发工作中使用该功能,并着手修改当前还在使用该功能的应用程序。 请改用 ALTER LOGIN

Transact-SQL 语法约定

语法

sp_defaultdb
    [ @loginame = ] N'loginame'
    , [ @defdb = ] N'defdb'
[ ; ]

参数

[ @loginame = ] N'loginame'

登录名。 @loginame为 sysname,无默认值。 @loginame可以是现有的 SQL Server 登录名或 Windows 用户或组。 如果 SQL Server 中不存在 Windows 用户或组的登录名,则会自动添加该登录名。

[ @defdb = ] N'defdb'

新默认数据库的名称。 @defdb为 sysname,没有默认值。 @defdb 必须已存在。

返回代码值

0(成功)或 1(失败)。

注解

sp_defaultdb 调用 ALTER LOGIN,支持其他选项。 有关更改默认数据库的信息,请参阅 ALTER LOGIN

sp_defaultdb 无法在用户定义的事务中执行。

权限

需要 ALTER ANY LOGIN 权限。

示例

以下示例设置为 AdventureWorks2022 SQL Server 登录 Victoria的默认数据库。

EXEC sp_defaultdb 'Victoria', 'AdventureWorks2022';