• 【SQL server速成之路】——身份验证及建立和管理用户账户


    在这里插入图片描述

    ??个人主页:
    往期专栏:【速成之路】jQuery
    【速成之路】Ajax
    【速成之路】SQL server
    ??系列专栏:【初学者】刷题学习Java
    ??推荐一款模拟面试,刷题神器??点击跳转到网站

    欢迎各位小伙伴们!强烈推荐一款刷题神器??点击跳转到网站
    ??这是一款专注于程序员的学习和成长的专业平台,有许多专业的IT面试题库,精选了多家知名企业的面试题,全方位提升你的IT技能,轻松面对各大企业面试。

    在这里插入图片描述

    SQL Server 2012的身份验证模式

    Sql server安全管理体现在如下几方面:
    对用户登录进行身份验证。当用户登录到数据库系统时,系统对该用户的账户和口令进行验证,包括确认用户的账户是否有效以及能否访问数据库系统。
    对用户进行的操作进行权限控制。当用户登录到数据库系统后,只能在允许的权限内对数据库中的数据进行操作。

    用户对某一数据库进行某种操作,必须满足以下3个条件:

    • 登录Sql server服务器时必须通过身份验证;
    • 必须是该数据库的用户,或者是某一角色的成员;
    • 必须有执行该操作的权限。

    SQL Server2012有两种身份认证模式:Windows验证模式和SQL Server验证模式。如图是这两种模式登录SQL server服务器的情况。
    在这里插入图片描述
    1.Windows验证模式

    以下是对于Windows验证模式登录的几点重要说明:

    (1)必须将Windows账户加入到SQL Server中,才能采用Windows账户登录SQL Server。
    (2)如果使用Windows账户登录到另一个网络的SQL Server,必须在Windows中设置彼此的托管权限。

    2.SQL Server验证模式

    在SQL Server验证模式下,SQL Server服务器要对登录的用户进行身份验证。当SQL Server在Windows操作系统上运行时,系统管理员设定登录验证模式的类型可为Windows验证模式和混合模式。当采用混合模式时,SQL Server系统既允许使用Windows登录账号登录,也允许使用SQL Server登录账号登录。

    建立和管理用户账户

    1.界面方式管理用户账户

    1.建立Windows验证模式的登录名

    (1)创建Windows的用户。以管理员身份登录到Windows ,打开“控制面板”,在管理账户中添加新的账户。
    在这里插入图片描述
    (2)将Windows账户加入到SQL Server中。以管理员身份登录到SQL Server Management Studio,在“对象资源管理器”中,展开“安全性”节点,并右击“登录名”项,选择“新建登录名”菜单项,如图所示。
    在这里插入图片描述
    打开“登录名-新建”窗口。如图所示,可以通过单击“常规”选项卡的“搜索”按钮,在“选择用户或组”对话框中选择相应的用户名或用户组添加到SQL Server 2012登录用户列表中。
    在这里插入图片描述

    2.建立SQL Server验证模式的登录名

    要建立SQL Server验证模式的登录名,首先应将验证模式设置为混合模式。

    (1)以系统管理员身份登录SQL Server Management Studio,在“对象资源管理器”中选择要登录的SQL Server服务器图标,右击鼠标,在弹出的快捷菜单中选择“属性”菜单项,打开“服务器属性”窗口。
    (2)在打开的“服务器属性”窗口中选择“安全性”选项卡。选择服务器身份验证为“SQL Server和Windows身份验证模式”,单击“确定”按钮,保存新的配置,重启SQL Server服务即可。
    在“对象资源管理器”窗口中单击“连接”,在下拉框中选择“数据库引擎”,弹出“连接到服务器”对话框。在该对话框中,“身份验证”选择“SQL Server身份验证”,“登录名”填写Jhon,输入密码,单击“连接”按钮,就能连接SQL Server了。
    在这里插入图片描述
    3.管理数据库用户
    界面方式创建数据库用户账户的步骤如下(以xsbook数据库为例):

    以系统管理员身份连接SQL Server,展开“数据库”→“xsbook”→“安全性”→选择“用户”,右击鼠标,选择“新建用户”菜单项,进入“数据库用户-新建”窗口。在“用户名”框中填写一个数据库用户名,“登录名”框中填写一个能够登录SQL Server的登录名。

    注意:一个登录名在本数据库中只能创建一个数据库用户。选择默认架构为dbo,如图所示,单击“确定”按钮完成创建。
    在这里插入图片描述

    在这里插入图片描述

    2.命令方式管理用户账户

    1.创建登录名
    在SQL Server 2012中,创建登录名可以使用CREATE LOGIN命令。语法格式:

    CREATE LOGIN <登录名>
    {  	WITH PASSWORD = 'password' [ HASHED ] [ MUST_CHANGE ]
    	[ ,  [ ,... ] ]     	          /*WITH子句用于创建SQL Server登录名*/
    	| FROM			         /*FROM子句用于创建Windows登录名*/
    	 ?     WINDOWS [ WITH  [ ,... ] ]
    }
    
    • 1
    • 2
    • 3
    • 4
    • 5
    • 6

    其中:

     ::=
         SID = sid
        | DEFAULT_DATABASE = database
        | DEFAULT_LANGUAGE = language
        | CHECK_EXPIRATION = { ON | OFF}
        | CHECK_POLICY = { ON | OFF}
        [ CREDENTIAL = credential_name ]
     ::=
         DEFAULT_DATABASE = database
        | DEFAULT_LANGUAGE = language
    
    • 1
    • 2
    • 3
    • 4
    • 5
    • 6
    • 7
    • 8
    • 9
    • 10

    说明:
    (1)创建Windows验证模式登录名。创建Windows登录名使用FROM子句,在FROM子句的语法格式中,WINDOWS关键字指定将登录名映射到Windows登录名,其中,为创建Windows登录名的选项,DEFAULT_DATABASE指定默认数据库,DEFAULT_LANGUAGE指定默认语言。

    【例1】 使用命令方式创建Windows登录名tao(假设Windows用户tao已经创建,本地计算机名为DAVID-PC),默认数据库设为xsbook。

    USE master
    GO
    CREATE LOGIN [DAVID-PC	ao]
    	FROM WINDOWS 
    	WITH DEFAULT_DATABASE= xsbook
    
    • 1
    • 2
    • 3
    • 4
    • 5

    (2)创建SQL Server验证模式登录名。创建SQL Server登录名使用WITH子句,其中:

    • PASSWORD:用于指定正在创建的登录名的密码,password为密码字符串。

    • :用于指定在创建SQL Server登录名时的一些选项。
      【例2】 创建SQL Server登录名sql_tao,密码为123456,默认数据库设为xsbook。

      CREATE LOGIN sql_tao
      WITH PASSWORD=‘123456’,
      DEFAULT_DATABASE=xsbook

    2.删除登录名
    删除登录名使用DROP LOGIN命令。语法格式:

    DROP LOGIN <登录名>
    
    • 1

    例如,删除Windows登录名tao。

    DROP LOGIN [DAVID-PC	ao]
    
    • 1

    删除SQL Server登录名sql_tao。

    DROP LOGIN sql_tao
    
    • 1

    3.创建数据库用户
    创建数据库用户使用CREATE USER命令。语法格式:

    CREATE USER <用户名>     
    [{ FOR | FROM } LOGIN <登录名>   |  WITHOUT LOGIN ] 
    [ WITH DEFAULT_SCHEMA = schema_name ]
    
    • 1
    • 2
    • 3

    说明:

    (1)FOR或FROM子句用于指定与用户名相关联的登录名。
    (2)LOGIN指定要创建数据库用户的SQL Server登录名,必须是服务器中有效的登录名。
    (3)WITHOUT LOGIN指定不将用户映射到现有登录名。
    (4)WITH DEFAULT_SCHEMA指定服务器为此数据库用户解析对象名称时将搜索的第一个架构,默认为dbo。

    【例3】 使用SQL Server登录名sql_tao(假设已经创建)在xsbook数据库中创建数据库用户tao,默认架构名使用dbo。

    USE xsbook
    GO
    CREATE USER tao
    	FOR LOGIN sql_tao
    	WITH DEFAULT_SCHEMA=dbo
    
    • 1
    • 2
    • 3
    • 4
    • 5

    4.删除数据库用户
    删除数据库用户使用DROP USER语句。语法格式:

    DROP USER <用户名>
    
    • 1

    【例4】 删除xsbook数据库的数据库用户tao。

    USE xsbook
    GO
    DROP USER tao
    
    • 1
    • 2
    • 3

    SQL的学习必须是有条理、有逻辑的由浅入深
    学习SQL,一定要理论+实践结合,不管你是刚入门的小白,还是曾经学过相关知识,或者有一定基础,想要继续提升能力,又或者面试前突击想刷刷真题,都可以去牛客网练习!
    在这里插入图片描述
    牛客网做为国内内容超级丰富的IT题库,尤其是他的SQL内容,从入门到大厂真题,完全覆盖了所有SQL学习者的必备内容
    从小白入门到某度、某音、某东的真实场景全部覆盖,只要想学习SQL,那一定不能错过牛客网!而且内容全部免费,赶紧刷起来!
    牛客网

    先自我介绍一下,小编13年上师交大毕业,曾经在小公司待过,去过华为OPPO等大厂,18年进入阿里,直到现在。深知大多数初中级java工程师,想要升技能,往往是需要自己摸索成长或是报班学习,但对于培训机构动则近万元的学费,着实压力不小。自己不成体系的自学效率很低又漫长,而且容易碰到天花板技术停止不前。因此我收集了一份《java开发全套学习资料》送给大家,初衷也很简单,就是希望帮助到想自学又不知道该从何学起的朋友,同时减轻大家的负担。添加下方名片,即可获取全套学习资料哦

  • 相关阅读:
    算法day15|10,226,101
    H5页面内嵌到微信小程序和APP,做分享操作
    Docker部署Tomcat及Web应用
    Python+unittest接口自动化测试
    Docker SpringBoot项目连接本地数据库
    springboot security 集成 cas 问题 No subject alternative names present
    Flink系列之Flink基础使用与核心概念
    LVGL库入门教程03-布局方式
    Maven | 依赖
    Android 判断当前线程是否是主线程的方法
  • 原文地址:https://blog.csdn.net/m0_67391121/article/details/126080684