我對數據庫很陌生,並且在MSSQL中的關鍵字SYSTEM_USER和USER之間混淆。這些定義表示他們在當前上下文中返回用戶名。但是我運行的實例返回USER的'dbo'和系統用戶的'sa'。SQL Server中SYSTEM_USER和USER有什麼區別?
有人可以強調兩者之間的確切區別嗎?
我對數據庫很陌生,並且在MSSQL中的關鍵字SYSTEM_USER和USER之間混淆。這些定義表示他們在當前上下文中返回用戶名。但是我運行的實例返回USER的'dbo'和系統用戶的'sa'。SQL Server中SYSTEM_USER和USER有什麼區別?
有人可以強調兩者之間的確切區別嗎?
SYSTEM_USER返回當前系統用戶名。
USER返回數據庫用戶名。
根據difference between SYSTEM_USER and USER:
如果當前用戶登錄使用 Windows身份驗證的Microsoft®SQL SERVERT到,SYSTEM_USER返回Windows 2000或 Windows NT 4.0的登錄標識名
例如,DOMAIN \ user_login_name。
然而,如果當前用戶是使用SQL 服務器驗證SQL服務器登錄,SYSTEM_USER返回SQL Server登錄 標識名,
例如,SA爲用戶登錄爲SA