Поделиться через


sp_defaultdb (Transact-SQL)

Изменяет базу данных по умолчанию для имени входа Microsoft SQL Server.

Важное примечаниеВажно!

В будущей версии Microsoft SQL Server эта возможность будет удалена. Избегайте использования этой возможности в новых разработках и запланируйте изменение существующих приложений, в которых она применяется. Используйте вместо этого инструкцию ALTER LOGIN.

Значок ссылки на разделСинтаксические обозначения в Transact-SQL

Синтаксис

sp_defaultdb [ @loginame = ] 'login' , [ @defdb = ] 'database'

Аргументы

  • [ @loginame = ] 'login'
    Имя входа. Аргумент login имеет тип sysname и не имеет значения по умолчанию. Аргумент login может быть существующим именем входа SQL Server, пользователем или группой Windows. Если имя входа для пользователя или группы Windows не существует в SQL Server, оно добавляется автоматически.

  • [ @defdb = ] 'database'
    Это имя новой базы данных по умолчанию. Аргумент database имеет тип sysname и не имеет значения по умолчанию. База данных с именем database должна существовать.

Значения кода возврата

0 (успешное завершение) или 1 (неуспешное завершение).

Замечания

Процедура sp_defaultdb вызывает инструкцию ALTER LOGIN. Эта инструкция поддерживает дополнительные параметры. Дополнительные сведения об изменении базы данных по умолчанию см. в разделе ALTER LOGIN (Transact-SQL).

Хранимая процедура sp_defaultdb не может быть выполнена в пользовательской транзакции.

Разрешения

Требуется разрешение ALTER ANY LOGIN.

Примеры

В следующем примере база данных AdventureWorks2008R2 устанавливается в качестве базы данных по умолчанию для имени входа SQL ServerVictoria.

EXEC sp_defaultdb 'Victoria', 'AdventureWorks2008R2'