• SQL SERVER孤立帐号的处理


    Step1:查询

    Use KSHR_F23
    Go
    exec sp_change_users_login @Action='Report'
    Go
    

     


    Step2:处理

    Use KSHR_F23
    Go
    exec sp_change_users_login @Action='update_one',@UserNamePattern='TEKS_HR_Admin',@LoginName='TEKS_HR_Admin';
    Go
    

     Sql Server 孤立用户 是我们经常遇到的事情,今天详细的梳理了下,希望能帮到你当把用户数据库从一台 Sql Server 使用备份和恢复的方式迁移到另一台服务器。数据库恢复以后,原先用户定义的一些其他数据库用户,就无法在新服务器上继续使用了。尤其对一些Sql Ser 帐号,这些就是孤立用户。
          Sql Server 的用户安全管理分两层,整个 Sql Server 服务器一层,每个数据库一层。一个用户,在每一层上都有帐号,在两个层面上都会分配不同的权利。在服务器层的帐号,交登录帐号(Login),可以设置它 管理整个 Sql Server 服务器,开启跟踪,修改 Sql Server 安全配置,备份所有数据库等。在数据库一层,叫数据库用户(DataBase User),可以设置它对这个特定的数据库有读写、修改表结构、存储过程定义等权限。
          服务器层面的安全,是设置在服务器的登陆账号上的。所有登录帐号的信息,可以查询 master 数据库里面的 sys.server_principals 这张视图。
    数据库层面有“数据库用户”这个概念。每个数据库内部对象的安全性,例如表格的读写,是否讷讷感运行或修改存储过程等,都赋予在数据库用户上,保存在这个数据库内部。可以通过查询 sys.database_principals 了解用户信息。
          Sql Server 登录帐号必须要和某个数据库用户相对应后,才能被数据库接纳。这个对应,就是要使得用户数据库  sys.database_principals 里面 SID 和 master 数据库 sys.server_principals 里的 SID 匹配起来。一个登录账户和数据库用户的名字可以不一样,但是 SID 必须一样。
           当用户数据库恢复到新的服务器上后,master 数据库 sys.server_principals 里并没有这个帐号。但是用户数据库里还有 这个数据库用户。于是这个用户被“孤立”了。
    解决办法:
    1. 备份时,要把系统数据库一并备份了,再恢复的时间,也把数据库恢复了
    2. 通过 sp_change_users_login 来更改用户
    如要检测孤立用户:

    User<Database_Name>;
    Go;
    sp_change_users_login @Action='Report';
    Go;

    恢复孤立用户:

    User<Database_Name>;
    Go;
    sp_change_users_login @Action='update_one',@UserNamePattern='<database_user>',@LoginName='<login_name>';
    Go;

          需要说明的是,sp_change_users_login 只能重新链接 Sql 登录帐号。对于数据库用户所对应的是 Windows 登录帐号,如果SID 不同,说明域也发生了变化,是不能通过这种方式连接在一起的。通过 "孤立用户" 的处理可以看出来:
    1. Sql Server 的安全分两层,分别为:Server 和 DataBase
    2. 备份和恢复数据库是很重要的

    http://blog.csdn.net/chengweipeng123/article/details/6846482

  • 相关阅读:
    Bert whole mask为什么效果比mask字效果更好?
    开放领域关系抽取文献综述
    乱序语言模型XLNET的理解
    开源知识图谱介绍
    CRF条件随机场基础理解(一)
    Knowledge-Augmented Language Model and its Application to Unsupervised Named-Entity Recognition(Facebook AI 2019) 文献综述
    BERT+知识图谱: K-BERT Enabling Language Representation with Knowledge Graph 文献理解
    中文新词发现相关算法调研
    win10 + 独显 + Anaconda3 + tensorflow_gpu1.13 安装教程(跑bert模型)
    HTML页面仿iphone数字角标
  • 原文地址:https://www.cnblogs.com/songrun/p/3161981.html
Copyright © 2020-2023  润新知