sqlserver还原数据库后登录名消失问题(修复孤立的账户)

昨天晚上进行了数据库迁移,完成后发现与第三方软件做接口时提供的只读账户不见了。查了各种资料,终于找到了官方文档(链接放在文尾)。

首先可以用exec sp_change_users_login 'REPORT' 来查看有哪些未指定数据库实例的用户(即像我这样换了服务器后还原出来的数据库实例里边没有了以前创建的指定权限的登录名(被孤立的账户))

Report :列出当前数据库中未链接到任何登录名(我理解为数据库实例名)的用户和相应的安全标识符(SID)。用户,不用指定登录名和密码。

要用使用系统表的查询代替报表选项,请将sys.server_prinicpals中的条目与sys.database_principals中的条目进行比较。

Auto_Fix :在当前数据库的sys.database_principals系统目录视图中,将一个用户条目与同名的SQL Server登录名相印证。如果不存在同名的登录名,则会创建一个。

检查 Auto_Fix 语句的结果,以确认是否真的建立了正确的链接。避免在安全敏感的情况下使用 Auto_Fix。

当你使用Auto_Fix时,如果登录不存在,你必须指定用户和密码,否则你必须指定用户,但密码将被忽略。login不能有其他用户映射到它。

下面的例子显示了如何使用将现有用户映射到同名的登录名,或者在登录名不存在的情况下创建具有密码的SQL Server登录名.Auto_Fix yh wxl.1989。

注意! 此处必须使用强密码! 否则报错~~

EXEC sp_change_users_login 'Auto_Fix', 'yh', NULL, 'wxl.1989';

相关文章

SQL数据库触发器语法详解 (sql数据库触发器语法)

2023-08-06
数据库
语法
触发器

快速简单的删除Oracle数据库字段方法 (删除oracl数据库字段)

2023-08-06
数据库
字段
删除

如何打开社工数据库bak文件 (社工数据库bak怎么打开)

2023-08-06
数据库
打开
社工

实现数据库按拼音排序的方法和技巧 (数据库按拼音排序)

2023-08-06
数据库
排序
按拼音

探究Sybase数据库的性能和功能特点 (sybase数据库怎么样)

2023-08-06
数据库
性能
探究

SQL Server 如何成功建立自己的数据库? (sql server 建立数据库)

2023-08-06
数据库
自己的
建立

如何在Oracle中查看数据库触发器? (oracle查看数据库触发器)

2023-08-06
数据库
查看
触发器

数据库表数据量千万级,对性能影响有多大? (数据库表千万级数据量多吗)

2023-08-06
数据库
级数
有多大

如何使用Oracle按时间导出表数据库? (oracle按时间导出表数据库)

2023-08-06
数据库
导出
如何使用

数据库存储:帖子长期保存,信息永不丢失 (帖子存数据库)

2023-08-06
数据库
丢失
帖子

小米六数据库:全方位数据保障和优化方案 (小米六数据库)

2023-08-05
数据库
优化
小米

简易教程:使用dbe数据库实现数据连接 (dbe数据库 数据连接)

2023-08-05
数据
数据库
连接

Oracle实现多个数据库链接的简便方法 (oracle链接多个数据库)

2023-08-05
数据库
多个
链接

数据库索引:用哪种方法建立? (数据库索引用什么建的)

2023-08-05
索引
数据库
哪种

实现高效缓存同步:Redis数据库技巧大全 (redis 数据库缓存同步)

2023-08-05
数据库
缓存
同步

如何利用数据库实现高效的模糊匹配查询? (数据库实现模糊查询)

2023-08-05
查询
数据库
模糊

数据库有哪些安装方式和位置? (数据库是装在什么上)

2023-08-05
数据库
位置
装在

Lactmed数据库:妈妈们必备的喂养指南 (lactmed 数据库)

2023-08-05
数据库
必备
喂养

数据库设计中的主属性定义及作用 (数据库主属性是什么)

2023-08-05
数据库
定义
属性

数据库分区操作不当常常造成分区不清的问题 (分区不清数据库)

2023-08-05
数据库
分区
不清