我正在使用登录名为sa
的SQL Server身份验证(默认)
执行查询时
select session_user
我以用户身份获得dbo
。我想改变这个,我怎么能用SQL查询呢?还有什么是SQL中的模式?
答案 0 :(得分:1)
Sql server有2个不同的概念
当您的登录被授予数据库访问权限时,您实际上是在创建映射到登录名的数据库用户。 sa
是系统管理员帐户,并映射到系统数据库上的dbo(数据库所有者用户)。当您使用具有create database权限的用户登录并创建新数据库时,此登录将自动映射到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
数据库用户。
架构是一个安全项,可用于对数据库对象进行分组。每个数据库用户都分配了“默认架构”。
答案 1 :(得分:0)
Schema是一种对数据库中的对象进行分类的方法。如果您有多个应用程序共享一个数据库,并且存在一些所有应用程序访问的通用数据集,那么它将非常有用。
DBO是数据库所有者。您已创建数据库,并且您是数据库所有者。