怎么更改登陆名
假设,有数据库用户名HQALL,而登陆名为空,现在要把登陆名改为HQALL怎么改 问题点数:0、回复次数:3Top
1 楼duanduan1122(俺村俺帅!!!)回复于 2005-06-02 20:36:47 得分 0
sp_change_users_login
新增信息 - SQL Server 2000 SP3。
将数据库中现有的用户映射到 Microsoft® SQL Server™ 登录。
语法
sp_change_users_login [ @Action = ] 'action'
[ , [ @UserNamePattern = ] 'user' ]
[ , [ @LoginName = ] 'login' ]
[ , [ @Password = ] 'password' ]
参数
[ @Action = ] 'action'
描述此过程要执行的操作。action 的数据类型为 varchar(10),可以是下面的某个值。
[@UserNamePattern =] 'user'
是当前数据库中的 SQL Server 用户的名称。user 的数据类型为 sysname,默认值为 NULL。
[@LoginName =] 'login'
SQL Server 登录的名称。login 的数据类型为 sysname,默认值为 NULL。
[@Password =] 'password'
是指派给 Auto_Fix 创建的新 SQL Server 登录的密码。如果已存在匹配的登录,将映射用户和登录并忽略 password。如果不存在匹配的登录,sp_change_users_login 将新建一个新的 SQL Server 登录并将 password 指派为该新登录的密码。password 是 sysname,默认值为 NULL。
Top
2 楼duanduan1122(俺村俺帅!!!)回复于 2005-06-02 20:37:00 得分 0
A. 显示登录映射的当前用户的报告
下面的示例生成当前数据库中的用户及其安全标识符的报告。
EXEC sp_change_users_login 'Report'
B. 更改用户的登录
下面的示例更改 pubs 数据库中的用户 Mary 与现有登录之间的链接,链接到新的登录 NewMary 上(使用 sp_addlogin 添加)。
--Add the new login.
USE master
go
EXEC sp_addlogin 'NewMary'
go
--Change the user account to link with the 'NewMary' login.
USE pubs
go
EXEC sp_change_users_login 'Update_One', 'Mary', 'NewMary'
C. 自动将用户映射到登录(必要时新建一个新登录)
下例显示如何使用 Auto_Fix 选项将现有的用户映射到同名的登录,或者如果不存在登录 Mary,则创建密码为 B3r12-36 的 SQL Server 登录 Mary。
USE pubs
go
EXEC sp_change_users_login 'Auto_Fix', 'Mary', NULL, 'B3r12-36'
go
Top
3 楼duanduan1122(俺村俺帅!!!)回复于 2005-06-02 20:37:53 得分 0
这种情况叫孤立账号!!!!
解决如下:
更改用户的登录
下面的示例更改 pubs 数据库中的用户 Mary 与现有登录之间的链接,链接到新的登录 NewMary 上(使用 sp_addlogin 添加)。
--Add the new login.
USE master
go
EXEC sp_addlogin 'NewMary'
go
--Change the user account to link with the 'NewMary' login.
USE pubs
go
EXEC sp_change_users_login 'Update_One', 'Mary', 'NewMary'Top




