zoukankan      html  css  js  c++  java
  • sql server 用户创建与权限管理

                        版权声明:本文为博主原创文章,可以转载,但必须以链接形式声明出处。                        https://blog.csdn.net/zhang123456456/article/details/82490672                    </div>
                                                    <link rel="stylesheet" href="https://csdnimg.cn/release/phoenix/template/css/ck_htmledit_views-cd6c485e8b.css">
                                        <link rel="stylesheet" href="https://csdnimg.cn/release/phoenix/template/css/ck_htmledit_views-cd6c485e8b.css">
                <div class="htmledit_views" id="content_views">
                                            <p>要想成功访问 SQL Server 数据库中的数据, 我们需要两个方面的授权:一、获得准许连接 SQL Server 服务器的权利; 二、获得访问特定数据库中数据的权利(select, update, delete, create table ...)。 假设,我们准备建立一个 username 数据库帐户,用来管理数据库 mydb。</p>
    


    一、 windows身份验证

    1. 控制面板 > 用户管理 > 创建用户

    2. sql server登录名创建

    CREATE LOGIN [WIN-5UAU8F9CP3Fandy] FROM WINDOWS WITH DEFAULT_DATABASE=[master]
    GO

    3. 数据库权限授权

    二、 sql server身份验证

    1. 首先在 SQL Server 服务器级别,创建登陆帐户(create login)

    create login username with password='sqlstudy', default_database=mydb

    登陆帐户名为:“username”,登陆密码:“sqlstudy”,默认连接到的数据库:“mydb”。 这时候,username 帐户就可以连接到 SQL Server 服务器上了。但是此时还不能 访问数据库中的对象(严格的说,此时 username 帐户默认是 guest 数据库用户身份, 可以访问 guest 能够访问的数据库对象)。

    要使 username 帐户能够在 mydb 数据库中访问自己需要的对象, 需要在数据库 mydb 中建立一个“数据库用户”,赋予这个“数据库用户” 某些访问权限,并且把登陆帐户“username” 和这个“数据库用户” 映射起来。 习惯上,“数据库用户” 的名字和 “登陆帐户”的名字相同,即:“username”。 创建“数据库用户”和建立映射关系只需要一步即可完成:

    2. 创建数据库用户(create user):

    create user username for login username with default_schema=dbo

    并指定数据库用户“username” 的默认 schema 是“dbo”。这意味着 用户“username” 在执行“select * from t”,实际上执行的是 “select * from dbo.t”。

    3. 通过加入数据库角色,赋予数据库用户“username”权限:

    exec sp_addrolemember 'db_owner', 'username'

    此时,username 就可以全权管理数据库 mydb 中的对象了。
    如果想让 SQL Server 登陆帐户“username”访问多个数据库,比如 mydb2。 可以让 sa 执行下面的语句:
    use mydb2 go create user username for login username with default_schema=dbo go exec sp_addrolemember 'db_owner', 'username'go
    此时,username 就可以有两个数据库 mydb, mydb2 的管理权限了!

    4. 禁用、启用登陆帐户:

    alter login username disable
    alter login username enable

    5. 登陆帐户改名:

    alter login username with name=username_tom

    提示:在 SQL Server 2005 中也可以给 sa 改名。 《SQL Server 2005 安全性增强:给超级用户 sa 改名》

    6. 登陆帐户改密码:

    alter login username with password='sqlstudy.com'

    7. 数据库用户改名:

    alter user username with name=username_tom

    8. 更改数据库用户 defult_schema:

    alter user username with default_schema=sales

    9. 删除数据库用户:

    drop user username

    10. 删除 SQL Server登陆帐户:

    drop login username

  • 相关阅读:
    LeetCode120 Triangle
    LeetCode119 Pascal's Triangle II
    LeetCode118 Pascal's Triangle
    LeetCode115 Distinct Subsequences
    LeetCode114 Flatten Binary Tree to Linked List
    LeetCode113 Path Sum II
    LeetCode112 Path Sum
    LeetCode111 Minimum Depth of Binary Tree
    Windows下搭建PHP开发环境-WEB服务器
    如何发布可用于azure的镜像文件
  • 原文地址:https://www.cnblogs.com/owenzh/p/11195580.html
Copyright © 2011-2022 走看看