我使用SQL Server驗證的登錄名sa
(默認)查詢更改數據庫用戶在SQL Server 2008
當我執行查詢
select session_user
我得到dbo
爲用戶。我想改變這一點,我怎樣才能做到這一點使用SQL查詢?什麼是SQL中的模式?
我使用SQL Server驗證的登錄名sa
(默認)查詢更改數據庫用戶在SQL Server 2008
當我執行查詢
select session_user
我得到dbo
爲用戶。我想改變這一點,我怎樣才能做到這一點使用SQL查詢?什麼是SQL中的模式?
模式是一種對數據庫中的對象進行分類的方法。如果您有多個應用程序共享一個數據庫,並且有一些所有應用程序訪問的公用數據集,那麼這可能很有用。
DBO是一個數據庫所有者。您已創建數據庫,並且您是數據庫所有者。
SQL Server有2個不同的概念
給權當您的登錄被授予數據庫訪問實際上是創建映射到登錄名的數據庫用戶。 sa
是系統管理員帳戶,並映射到系統數據庫上的dbo(數據庫所有者用戶)。當您以創建數據庫權限的用戶登錄並創建新數據庫時,此登錄名將自動映射到dbo
用戶。
如果您想稍後更改此設置,則需要將dbo
用戶映射到新的登錄名。之後,您可以將sa
帳戶映射到另一個數據庫用戶。
use master
create login xxx with password = 'yyy', check_policy = off
use <yourdatabase>
exec sp_changedbowner 'xxx'
create user 'newuser' from login 'sa'
這樣的sa
登錄會從現在開始被映射到newuser
數據庫用戶。
模式是一個可以用來分組數據庫對象的安全項目。每個數據庫用戶都分配了一個「默認模式」。