SQL Server数据库时出现孤立用户权限问题的解决办
--自己很愚蠢的做法,以为直接删除数据库用户名,再从新创建用户登录名和数据库用户名。
--自己以为可以直接创建与之原先一样的数据库登录名就可以
--但这些操作是不起作用的
--原因
--当映射孤立用户时,主从数据库中的SID将分配给孤立用户,所以每次一个数据库备附加或者还原时,--SID在SQL Server 登录名和数据库用户之间都存在差异。
--预先了解有几个孤立用户
use adventureWorks
go
sp_change_users_login @Action='Report'
go
--第一步:新建 数据库登录名(可以与数据库用户名相同,也可以不同。)
--要首先新建数据登录名,是因为往往备份还原的数据只会含有数据库用户名,而不含有数据库登录名
--'TestUser2' 是你将要创建的数据库登录名,'pwd'为数据库登录密码
use adventureWorks
exec sp_change_users_login 'Auto_Fix','TestUser2',null,'pwd'
--第二步:把数据库用户名映射到数据库登录名上
--(1)如果用户名和登录名相同
use adventureWorks
go
exec sp_change_users_login 'Auto_Fix','TestUser2'
--(2)如果用户名和登录名不同
--exec sp_change_users_login @Action='update_one',@UserNamePattern='TestUser1',@LoginName='TestUser1'
--第三步:检查是否映射成功
/*
这个两个语句 是比较 登录名.SID与用户名.SID
登录名.SID==用户名.SID ==>我们的操作就成功了。
登录名.SID!=用户名.SID 任然是孤立用户
*/
--SQL Server 登录名 的SID
select name,sid from sys.syslogins where [name]='TestUser2'
--SQL Server 数据库用户名 的SID
select name,sid from AdventureWorks..sysusers where name='TestUser2'
相关文档:
http://topic.csdn.net/u/20100113/17/b52a1ef4-54a8-4333-8119-a161869c1eef.html
---------------------------------
-- Author: liangCK 小梁
-- Title : 查每个分组前N条记录
-- Date : 2008-11-13 17:19:23
---------------------------------
--> 生成测试数据: #T
IF OBJECT_ID(' ......
如何解决 SQL Server 2000 中的连接问题
Chris Tull, Microsoft Help and Support
这一篇文章能帮助你解决微软 SQL 伺候器 2000 的连接性问题。这一篇文章包含你能拿帮助解决你的连接性问题的通常连接性问题和步骤的描述。
SQL Server的例证和客户端申请之间的沟通的 SQL Server 2000 支持一些方法。如果你的客户申请和S ......
SQL Server数据类型2009年02月02日 星期一 11:20数据类型是数据的一种属性,是数据所表示信息的类型。任何一种语言都有它自己所固有的数据类型,SQL Server提供一下25种固有的数据类型。 SQL Server数据类型一览表
·Binary [(n)]
·Varbinary [(n)]
·Char [(n)]
·Varchar[(n)]
· ......
我今天学习了sql语句的常用函数,是冯威老师讲的,我做了简单的笔记:
一,SQL函数:
1. 大小写转换函数
lower 转成小写
upper 大写
initcap 将字符串的(每个单词的)第一个字母变为大写,后面的小写
select initcap('huangHY') from dual
&n ......
处理SQL Server数据库中的孤立用户(图)
把数据库从一个服务器实例附加和恢复到另一个实例中是数据库管理员执行的常见的任务。附加或者恢复一个数据库之后,之前在数据库中创建和配置的登录名已经不能访问了。这个问题最常见的症状是应用程序会遇到登录失败的错误,或者是当你试着把登录名添加到数据库中时,你可能会得到一 ......