查询以更改sql server 2008中的数据库用户

时间:2011-03-07 10:49:20

标签: sql sql-server sql-server-2008

我正在使用登录名为sa的SQL Server身份验证(默认)

执行查询时

select session_user

我以用户身份获得dbo。我想改变这个,我怎么能用SQL查询呢?还有什么是SQL中的模式?

2 个答案:

答案 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是数据库所有者。您已创建数据库,并且您是数据库所有者。