热门标签 | HotTags
当前位置:  开发笔记 > 编程语言 > 正文

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

概要在将数据库移动到新服务器后,用户可能无法登录到新服务器。相反,他们会收到下面的错误消息:Msg18456,Level16,State1Loginfailedforuser'%ls'.您必需将登录和密码传输到新服务

概要

在将数据库移动到新服务器后,用户可能无法登录到新服务器。相反,他们会收到下面的错误消息:

Msg 18456, Level 16, State 1

Login failed for user '%ls'.

您必需将登录和密码传输到新服务器。本文先容如何将登录和密码传输到新服务器。

如何在运行 SQL Server 7.0 的服务器之间传输登录和密码

SQL Server 7.0 数据转换服务 (DTS) 对象传输功效可在两台服务器之间传输登录和用户,但它不传输 SQL Server 验证登录的密码。要将登录和密码从一台运行 SQL Server 7.0 的服务器传输到另一台运行 SQL Server 7.0 的服务器,请履行“在不同版本的 SQL Server 之间传输登录和密码的完整解决计划”一节中的步骤。

如何从 SQL Server 7.0 向 SQL Server 2000 或者在运行 SQL Server 2000 的服务器之间传输登录和密码

要从 SQL Server 7.0 服务器向 SQL Server 2000 的一个实例或者在 SQL Server 2000 的两个实例之间传输登录和密码,可以应用 SQL Server 2000 中新的 DTS 包传输登录任务。为此,请按照下列步骤把持:1. 连接到 SQL Server 2000 目标服务器,移动到 SQL Server 企业治理器中的数据转换服务,展开此文件夹,右键单击“本地包”,然后单击“新增包”。

1、在 DTS 程序包设计器打开后,单击“任务”菜单上的“传输登录任务”。根据需要完成有关“源”、“目标”和“登录”选项卡的信息。

重要阐明:SQL Server 2000 目标服务器不能运行 64 位版本的 SQL Server 2000。64 位版本 SQL Server 2000 的 DTS 组件不可用。假如要从其他盘算机上的 SQL Server 实例中导进登录,您的 SQL Server 实例必需在域帐户下运行才干完成此任务。

留心:DTS 方法将传输密码,但不会传输原始 SID。假如登录不是应用原始 SID 创立的,而且用户数据库也被传输到一台新服务器,则该数据库用户将从该登录中孤立出往。要传输原始 SID 并绕过被孤立的用户,请履行“在不同版本的 SQL Server 之间传输登录和密码的完整解决计划”一节中的步骤。

在不同版本的 SQL Server 之间传输登录和密码的完整解决计划

此方法实用于以下情况:

• 从 SQL Server 7.0 向 SQL Server 7.0 传输登录和密码。

• 从 SQL Server 7.0 向 SQL Server 2000 传输登录和密码。

• 从 SQL Server 7.0 向 SQL Server 2005 传输登录和密码。

• 在运行 SQL Server 2000 的服务器之间传输登录和密码。

• 从 SQL Server 2000 向 SQL Server 2005 传输登录和密码。

留心:请查看本文末尾的备注,以懂得有关下列步骤的重要信息。

要在不同版本的 SQL Server 之间传输登录和密码,请按下列步骤把持:1. 在源 SQL Server 上运行以下脚本。此脚本可在 master 数据库中创立名为 sp_hexadecimal 和 sp_help_revlogin 的两个存储过程。请在完成过程的创立之后持续履行第 2 步。

留心:下面的过程取决于 SQL Server 系统表。这些表的结构在 SQL Server 的不同版本之间可能会有变更,请不要直接从系统表中选择。

----- Begin Script, Create sp_help_revlogin procedure -----
            USE master
            GO
            IF OBJECT_ID ('sp_hexadecimal') IS NOT NULL
            DROP PROCEDURE sp_hexadecimal
            GO
            CREATE PROCEDURE sp_hexadecimal
            @binvalue varbinary(256),
            @hexvalue varchar(256) OUTPUT
            AS
            DECLARE @charvalue varchar(256)
            DECLARE @i int
            DECLARE @length int
            DECLARE @hexstring char(16)
            SELECT @charvalue = '0x'
            SELECT @i = 1
            SELECT @length = DATALENGTH (@binvalue)
            SELECT @hexstring = '0123456789ABCDEF'
            WHILE (@i <= @length)
            BEGIN
            DECLARE @tempint int
            DECLARE @firstint int
            DECLARE @secondint int
            SELECT @tempint = CONVERT(int, SUBSTRING(@binvalue,@i,1))
            SELECT @firstint = FLOOR(@tempint/16)
            SELECT @secOndint= @tempint - (@firstint*16)
            SELECT @charvalue = @charvalue
            SUBSTRING(@hexstring, @firstint 1, 1)
            SUBSTRING(@hexstring, @secondint 1, 1)
            SELECT @i = @i 1
            END
            SELECT @hexvalue = @charvalue
            GO
            IF OBJECT_ID ('sp_help_revlogin') IS NOT NULL
            DROP PROCEDURE sp_help_revlogin
            GO
            CREATE PROCEDURE sp_help_revlogin @login_name sysname = NULL AS
            DECLARE @name    sysname
            DECLARE @xstatus int
            DECLARE @binpwd  varbinary (256)
            DECLARE @txtpwd  sysname
            DECLARE @tmpstr  varchar (256)
            DECLARE @SID_varbinary varbinary(85)
            DECLARE @SID_string varchar(256)
            IF (@login_name IS NULL)
            DECLARE login_curs CURSOR FOR
            SELECT sid, name, xstatus, password FROM master..sysxlogins
            WHERE srvid IS NULL AND name <> 'sa'

推荐阅读
  • 本文详细介绍了IBM DB2数据库在大型应用系统中的应用,强调其卓越的可扩展性和多环境支持能力。文章深入分析了DB2在数据利用性、完整性、安全性和恢复性方面的优势,并提供了优化建议以提升其在不同规模应用程序中的表现。 ... [详细]
  • Windows服务与数据库交互问题解析
    本文探讨了在Windows 10(64位)环境下开发的Windows服务,旨在定期向本地MS SQL Server (v.11)插入记录。尽管服务已成功安装并运行,但记录并未正确插入。我们将详细分析可能的原因及解决方案。 ... [详细]
  • 1:有如下一段程序:packagea.b.c;publicclassTest{privatestaticinti0;publicintgetNext(){return ... [详细]
  • 深入理解 SQL 视图、存储过程与事务
    本文详细介绍了SQL中的视图、存储过程和事务的概念及应用。视图为用户提供了一种灵活的数据查询方式,存储过程则封装了复杂的SQL逻辑,而事务确保了数据库操作的完整性和一致性。 ... [详细]
  • 在当前众多持久层框架中,MyBatis(前身为iBatis)凭借其轻量级、易用性和对SQL的直接支持,成为许多开发者的首选。本文将详细探讨MyBatis的核心概念、设计理念及其优势。 ... [详细]
  • 360SRC安全应急响应:从漏洞提交到修复的全过程
    本文详细介绍了360SRC平台处理一起关键安全事件的过程,涵盖从漏洞提交、验证、排查到最终修复的各个环节。通过这一案例,展示了360在安全应急响应方面的专业能力和严谨态度。 ... [详细]
  • 本文深入探讨了Linux系统中网卡绑定(bonding)的七种工作模式。网卡绑定技术通过将多个物理网卡组合成一个逻辑网卡,实现网络冗余、带宽聚合和负载均衡,在生产环境中广泛应用。文章详细介绍了每种模式的特点、适用场景及配置方法。 ... [详细]
  • 优化ListView性能
    本文深入探讨了如何通过多种技术手段优化ListView的性能,包括视图复用、ViewHolder模式、分批加载数据、图片优化及内存管理等。这些方法能够显著提升应用的响应速度和用户体验。 ... [详细]
  • Valve 发布 Steam Deck 的新版 Windows 驱动程序
    Valve 最新发布了针对 Steam Deck 掌机的 Windows 驱动程序,旨在提升其在 Windows 环境下的兼容性、安全性和性能表现。 ... [详细]
  • 本文详细介绍了 GWT 中 PopupPanel 类的 onKeyDownPreview 方法,提供了多个代码示例及应用场景,帮助开发者更好地理解和使用该方法。 ... [详细]
  • 本文将介绍如何编写一些有趣的VBScript脚本,这些脚本可以在朋友之间进行无害的恶作剧。通过简单的代码示例,帮助您了解VBScript的基本语法和功能。 ... [详细]
  • Explore how Matterverse is redefining the metaverse experience, creating immersive and meaningful virtual environments that foster genuine connections and economic opportunities. ... [详细]
  • 本题探讨了一种字符串变换方法,旨在判断两个给定的字符串是否可以通过特定的字母替换和位置交换操作相互转换。核心在于找到这些变换中的不变量,从而确定转换的可能性。 ... [详细]
  • 在 Windows 10 中,F1 至 F12 键默认设置为快捷功能键。本文将介绍几种有效方法来禁用这些快捷键,并恢复其标准功能键的作用。请注意,部分笔记本电脑的快捷键可能无法完全关闭。 ... [详细]
  • 资源推荐 | TensorFlow官方中文教程助力英语非母语者学习
    来源:机器之心。本文详细介绍了TensorFlow官方提供的中文版教程和指南,帮助开发者更好地理解和应用这一强大的开源机器学习平台。 ... [详细]
author-avatar
钟孝健V
这个家伙很懒,什么也没留下!
PHP1.CN | 中国最专业的PHP中文社区 | DevBox开发工具箱 | json解析格式化 |PHP资讯 | PHP教程 | 数据库技术 | 服务器技术 | 前端开发技术 | PHP框架 | 开发工具 | 在线工具
Copyright © 1998 - 2020 PHP1.CN. All Rights Reserved | 京公网安备 11010802041100号 | 京ICP备19059560号-4 | PHP1.CN 第一PHP社区 版权所有