| title | sp_defaultdb (Transact-SQL) | ||
|---|---|---|---|
| description | sp_defaultdb changes the default database for a SQL Server login. | ||
| author | markingmyname | ||
| ms.author | maghan | ||
| ms.reviewer | randolphwest | ||
| ms.date | 06/23/2025 | ||
| ms.service | sql | ||
| ms.subservice | system-objects | ||
| ms.topic | reference | ||
| f1_keywords |
|
||
| helpviewer_keywords |
|
||
| dev_langs |
|
[!INCLUDE SQL Server]
Changes the default database for a [!INCLUDE ssNoVersion] login.
Important
[!INCLUDE ssNoteDepFutureAvoid] Use ALTER LOGIN instead.
:::image type="icon" source="../../includes/media/topic-link-icon.svg" border="false"::: Transact-SQL syntax conventions
sp_defaultdb
[ @loginame = ] N'loginame'
, [ @defdb = ] N'defdb'
[ ; ]
The login name. @loginame is sysname, with no default. @loginame can be an existing [!INCLUDE ssNoVersion] login or a Windows user or group. If a login for the Windows user or group doesn't exist in [!INCLUDE ssNoVersion], it's automatically added.
The name of the new default database. @defdb is sysname, with no default. @defdb must already exist.
0 (success) or 1 (failure).
sp_defaultdb calls ALTER LOGIN, which supports extra options. For information about changing default database, see ALTER LOGIN.
sp_defaultdb can't be executed within a user-defined transaction.
Requires ALTER ANY LOGIN permission.
The following example sets [!INCLUDE sssampledbobject-md] as the default database for [!INCLUDE ssNoVersion] login Victoria.
EXECUTE sp_defaultdb 'Victoria', 'AdventureWorks2022';