热门标签 | HotTags
当前位置:  开发笔记 > 数据库 > 正文

[SqlServer]

关于SqlServerLogin,User,Schema这几个概念通常比较容易混淆,说不清具体的差别。在这里我梳理一下以作为记录,方便自己查阅,也方便感兴趣的朋友查阅,希望对大家有所帮助。1.LoginLogin的官方解释是:数据库引擎登录名。(msdn.microsoft.com

关于SqlServer Login,User,Schema这几个概念通常比较容易混淆,说不清具体的差别。在这里我梳理一下以作为记录,方便自己查阅,也方便感兴趣的朋友查阅,希望对大家有所帮助。 1.Login Login的官方解释是: 数据库引擎登录名。 (http://msdn.microsoft.com/

关于SqlServer Login,User,Schema这几个概念通常比较容易混淆,说不清具体的差别。在这里我梳理一下以作为记录,方便自己查阅,也方便感兴趣的朋友查阅,希望对大家有所帮助。

1.Login

Login的官方解释是:数据库引擎登录名。http://msdn.microsoft.com/zh-cn/library/ms189751.aspx)Login 是服务器(Server)级别的概念,也就是说如果你有一个Login的账号和密码,你就能登录到这台Server的数据库引擎。登录数据库引擎意味着什么呢?意味着你可以查看master,msdb,tempdb数据库,但是无法查看model数据库,对于用户创建的数据库,对不起,没有任何操作权限。

那么我们如何才能操作数据库呢?我们需要User.

创建Login的语句如下:

--Create Login
--Windows Authentication
create login [ReportLogin] from windows with default_database = [master],default_language = [us_english]
--SQL Server Authentication
create login [ReportLogin] with password = N'123456',default_database = [master],default_language = [us_english]

2.User

User属于数据库对象,不属于Server对象,因此我们如果想创建一个User,首先必须进入到想创建User的数据库中(use该数据库),然后创建User

创建User的语句如下:

--Create User
use DBDemo;
create user [ReportUser] for login [ReportLogin] with default_schema = ReportSchema
一个User对应一个Login,一个Login可以有多个User。对于同一个Login,我们针对一个数据库只能创建一个User。如果我们再次创建账户就会得到一个错误。

注意到我们创建User的时候我们指定了一个默认的Schema,这个又是什么呢?

3.Schema

Schema翻译成中文是架构。数据库架构是为了方便对数据库对象进行管理,就像我们自己的文件夹目录会分为学习资料,音乐视频,公司资料三个schema一样,数据库默认的schema是dbo。数据库对象的管理方式是:User->Schema->Object.这个非常类似仓库的管理方式,每个提货的人跟货物类型先关联起来,减少了直接针对货物编码的索引,大大简化了操作过程。

4.Role

角色这个概念是为了降低管理成本,简化管理的工作量而出现的。如果要针对1000个用户给定权限,需要勾选1000次,这个非常繁琐,那么我们只需要将这些人加入到某个角色,让这个角色的人都具有某个权限即可。

一些常见角色

Server Roles:

bulkadmin

dbcreator

diskadmin

processadmin

public ---- 每个新建login的默认Server Role

securityadmin

serveradmin

setupadmin

sysadmin

Database Roles:

db_accessadmin

db_backupopeator

db_datareader

db_datawriter

db_ddladmin

db_denydatareader

db_denydatawriter

db_owner

db_securityadmin

public




推荐阅读
author-avatar
香烟迷住双眼
这个家伙很懒,什么也没留下!
PHP1.CN | 中国最专业的PHP中文社区 | DevBox开发工具箱 | json解析格式化 |PHP资讯 | PHP教程 | 数据库技术 | 服务器技术 | 前端开发技术 | PHP框架 | 开发工具 | 在线工具
Copyright © 1998 - 2020 PHP1.CN. All Rights Reserved | 京公网安备 11010802041100号 | 京ICP备19059560号-4 | PHP1.CN 第一PHP社区 版权所有