sp_defaultdb

sp_defaultdb是微軟的SQL server中的一個資料庫函式,其主要功能是更改指定用戶名登錄的默認資料庫。

語法
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角色,以便用戶更改他們自己登錄的默認資料庫。只有syadminsecurityadmin固定伺服器角色的成員可以為其它登錄執行sp_defaultdb
示例
下面的示例將pubs設定為用戶Victoria的默認資料庫。
EXEC sp_defaultdb 'Victoria', 'pubs'

相關詞條

熱門詞條

聯絡我們