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'

相關詞條

熱門詞條

聯絡我們