我使用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
数据库用户。
模式是一个可以用来分组数据库对象的安全项目。每个数据库用户都分配了一个“默认模式”。