2007-04-11

在SQL Server实例之间传输登录和密码

来源: upport.microsoft.com 作者:佚名 评论 0 条
 

2. 在创建 sp_help_revlogin 存储过程后,请从源服务器上的查询分析器中运行 sp_help_revlogin 过程。sp_help_revlogin 存储过程可同时用于 SQL Server 7.0 和 SQL Server 2000。sp_help_revlogin 存储过程的输出是登录脚本,该脚本可创建带有原始 SID 和密码的登录。保存输出,然后将其粘贴到目标 SQL Server 上的查询分析器中,并运行它。例如:EXEC master..sp_help_revlogin

备注

• 在目标 SQL Server 上运行输出脚本之前,请认真查看此脚本。假如必须将登录传输到与 SQL Server 源实例不在同一个域中的 SQL Server 实例,请编辑由 sp_help_revlogin 过程生成的脚本,并在 sp_grantlogin 语句中将域名替换为新的域名。由于在新域中被授予访问权的集成登录与原始域中的登录具有不同的 SID,因此数据库用户将从这些登录中孤立出去。要解决这些孤立用户,请查看以下项目符号项中引用的文章。假如在同一个域中的 SQL Server 实例之间传输集成登录,则会使用相同的 SID,而且用户不太可能被孤立。

• 在移动登录之后,用户将不再具有访问已被同时移动的数据库的权限。此问题称为“孤立用户”。假如尝试将访问此数据库的权限授予该登录,则可能会失败,这表明该用户已存在:

Microsoft SQL-DMO (ODBC SQLState:42000) Error 15023:User or role '%s' already exists in the current database.

有关如何将登录映射到数据库用户以解决孤立的 SQL Server 登录和集成登录的说明,请查看相关文章: (http://support.microsoft.com/kb/240872/) 如何解决在运行 SQL Server 的服务器之间移动数据库时的权限问题。

有关使用 sp_change_users_login 存储过程逐个解决孤立用户(仅能解决从标准 SQL 登录中孤立出去的用户)的说明,请查看相关文章: (http://support.microsoft.com/kb/274188/) PRB:联机丛书中的“孤立用户疑难解答”主题不完整。

• 假如传输登录和密码是向运行 SQL Server 的新服务器移动数据库的一部分,请查看相关文章,以了解对所涉及的工作流程和步骤的说明: (http://support.microsoft.com/kb/314546/) 如何在运行 SQL Server 的计算机之间移动数据库。

• 能够这样做的原因在于:sp_addlogin 系统存储过程中的 @encryptopt 参数答应通过使用加密密码来创建登录。有关此过程的更多信息,请参见 SQL Server 联机丛书中的“sp_addlogin (T-SQL)”主题。

• 默认情况下,只有 sysadminfixed 服务器角色的成员可以从 sysxlogins 表中进行选择。除非 sysadmin 角色的成员授予了必要的权限,否则最终用户将无法创建或运行这些存储过程。

• 此方法不会尝试传输特定登录的默认数据库信息,因为默认数据库并不始终存在于目标服务器中。要为某个登录定义默认数据库,您可以使用 sp_defaultdb 系统存储过程,方法是将登录名和默认数据库作为参数传递给该过程。有关使用此过程的更多信息,请参见 SQL Server 联机丛书中的“sp_defaultdb”主题。

• 在 SQL Server 实例之间传输登录的过程中,假如源服务器的排序顺序不区分大小写,而目标服务器的排序顺序区分大小写,则在将登录传输到目标服务器后,必须以大写形式输入密码中的所有字母字符。假如源服务器的排序顺序区分大小写,而目标服务器的排序顺序不区分大小写,则无法通过本文所述的步骤使用已传输的登录进行登录,除非原始密码不包括字母字符或原始密码中的所有字母字符都是大写字符。假如两个服务器都区分大小写或者都不区分大小写,则不会出现此问题。这是 SQL Server 处理密码的方式所带来的副作用。有关更多信息,请参见 SQL Server 7.0 联机丛书中的“Effect on Passwords of Changing Sort Orders”(更改排序顺序对密码的影响)主题。
共4页: 上一页 [1] [2] 3 [4] 下一页

(本文仅表明作者个人观点,不代表本站及其管理员立场.) 推荐 收藏 投稿 打印 返回 关闭
上一篇:运行SQL Server的计算机间移动数据库  
下一篇:小型商业程序应用选SQL Server还是Access
    评论加载中…
 推荐文章
     

网站首页  -  网站地图 -   站长论坛  -  网站投稿  -    -  网站管理
Copyright © 2008 芜湖站长站 All Rights Reserved 皖ICP备07500611号