SQL Server 2012中的user和login
来源:互联网 发布:邪典电影 知乎 编辑:程序博客网 时间:2024/05/18 03:12
SQL Server中既有user的概念,又有login的概念,两者很容易混淆。特别是对熟悉Oracle的用户迷惑性更大。在Oracle中我们只需要一个语句create user test identified by test;就完成了用户创建,然后做一些必要的授权如grant dba,resource,connect to test;我们就可以用test这个用户来访问和控制数据库了。但是在SQL Server里没有这么简单,首先必须先创建一个数据库,然后还需要新建一个login,还要在新建的数据库中创建一个供login使用的user,最后给这个user授权,如此这般我们才能用这个login连接并访问数据库。
通过上面介绍可以看出login的主要工作就是用来登录数据库服务器,可以说是数据库服务器的通行证,没有login外界就无法和SQL Server服务器取得任何联系。但是使用login登上服务器之后我们没有任何访问和使用数据库的权限。对数据库服务器上的所有数据库来说这次的login只是一个guest访问,仅仅是过来看看,做不了任何实质性的工作。
做不了任何工作的login对我们来说是没有任何作用的,那么如何让login工作起来呢?这时我们的user就拍上用场了。如果login想要访问某个数据库,首先需要管理员(sa)在这个数据库底下为其新建一个user,然后给这个user授权,这样login登陆时就可以使用这个user来访问这个数据库了。如果这个login还想访问其他的数据库,同样的需要管理员在想要访问的数据库底下为其新建并授权用户。
说到这有的同学就要问了,为啥SQL Server要搞的这么复杂,直接让给login授权访问数据库不就可以了,为啥还要搞一个user,再通过user访问数据库?我觉得主要目的将服务器登录控制和数据库访问控制分离开。这样一来,login的修改不会影响数据中user对数据库的访问权限,数据库中user访问权限的改变同样不会对login的登录带来影响。
下面是一个SQL Server数据库的使用场景,
1, 使用sa用户或者windows用户登录服务器
2, 创建一个database 命名为db1,创建一个login账户log1,为log1在db1里创建一个user db_user,为db_user创建一个defualt schema,授权db_user建表和建视图的权限。
use mastercreate database db1;create login log1 with password='log1',check_policy=off;gouse db1create user db_user for login log1;gocreate schema db_schema authorization db_user;goalter user db_user with default_schema=db_schema;grant create table,create view to db_user;go
3, 这样我们就可以用log1登陆服务器操作数据库db1了。断开sa用户,用log1连上服务器并执行下面的sql
create table test_table(id int,name varchar(255));
这样我们就default schema “db_schema”下面创建了一个test_table的表了。
- SQL Server 2012中的user和login
- Sql Server 2005中的架构(Schema)、用户(User)、角色(Role)和登录(Login)(一)
- Sql Server 2005中的架构(Schema)、用户(User)、角色(Role)和登录(Login)(二)
- Sql Server 2005中的架构(Schema)、用户(User)、角色(Role)和登录(Login)(三)
- Sql Server 2005中的架构(Schema)、用户(User)、角色(Role)和登录(Login)(三)
- Sql Server 2005中的架构(Schema)、用户(User)、角色(Role)和登录(Login)(二)
- Sql Server 2005中的架构(Schema)、用户(User)、角色(Role)和登录(Login)(一)
- Sql Server 2005中的架构(Schema)、用户(User)、登录(Login)和角色(Role)(一)
- Sql Server 2005中的架构(Schema)、用户(User)、登录(Login)和角色(Role)(二)
- Sql Server 2005中的架构(Schema)、用户(User)、角色(Role)和登录(Login)(三)
- Sql Server 2005中的架构(Schema)、用户(User)、登录(Login)和角色(Role)
- Sql Server 2005中的架构(Schema)、用户(User)、登录(Login)和角色(Role)
- Sql Server 2005中的架构(Schema)、用户(User)、登录(Login)和角色(Role)(一)
- Sql Server 2005中的架构(Schema)、用户(User)、登录(Login)和角色(Role)(二)
- Sql Server 2005中的架构(Schema)、用户(User)、登录(Login)和角色(Role)
- Sql Server 2005中的架构(Schema)、用户(User)、登录(Login)和角色(Role)
- Sql Server 中的Login,Schema,User,Role之间的关系
- Sql Server 中的Login,Schema,User,Role之间的关系
- vmei day 03 教你集成环信移动客服
- jsp和servlet的之间的关系
- DBN(深度置信网络)解析
- 关注这几点能让网站快速获取排名
- hibernate 之 session操作
- SQL Server 2012中的user和login
- 优化长尾词跟挖掘长尾词的方法分享
- usb的挂载
- PHP-redis中文文档
- CAD快捷键
- 关于Python闭包的理解
- 安装Ruby 报错 Error running 'requirements_osx_brew_update_system ruby-2.3.1
- Item24 Distinguish universal references from rvalues reference
- 企业站点首页位置没有了,都是哪些方面的原因