不清楚各位大大是怎么做数据迁移的,反正俺大老粗的做法是,先把SQL Server的数据从企业管理中备份出来然后再恢复。
在恢复的过程中经常出现的一个问题就是,数据库的原来的用户跟新的数据库系统上的登录对不上号了,以前我曾经试过多次,但是经常都忘记,总是找一个最快速的方法来恢复数据库的用户,作此记录以慰昨日之辛苦:
SQL Server 数据库恢复用户之葵花点穴手, 以下部分copy from SQL Server Books Online.
sp_change_users_login
Changes the relationship between a Microsoft® SQL Server™ login and a SQL Server user in the current database.
Syntax
sp_change_users_login [ @Action = ] 'action'
[ , [ @UserNamePattern = ] 'user' ]
[ , [ @LoginName = ] 'login' ]
Arguments
[@Action =] 'action'
Describes the action to be performed by the procedure. action is varchar(10), and can be one of these values.
Value
Description
Auto_Fix |
Links user entries in the sysusers table in the current database to logins of the same name in syslogins. It is recommended that the result from the Auto_Fix statement be checked to confirm that the links made are the intended outcome. Avoid using Auto_Fix in security-sensitive situations. Auto_Fix makes best estimates on links, possibly allowing a user more access permissions than intended.
user must be a valid user in the current database, and login must be NULL, a zero-length string (''), or not specified.
|
Report |
Lists the users, and their corresponding security identifiers (SID), that are in the current database, not linked to any login.
user and login must be NULL, a zero-length string (''), or not specified.
|
Update_One |
Links the specified user in the current database to login. login must already exist. user and login must be specified. |
[@UserNamePattern =] 'user'
Is the name of a SQL Server user in the current database. user is sysname, with a default of NULL. sp_change_users_login can be used only with the security accounts of SQL Server logins and users; it cannot be used with Microsoft Windows NT® users.
[@LoginName =] 'login'
Is the name of a SQL Server login. login is sysname, with a default of NULL.
Return Code Values
0 (success) or 1 (failure)
Result Sets
Column name
Data type
Description
UserName |
sysname |
Login name. |
UserSID |
varbinary(85) |
Login security identifier. |
Remarks
Use this procedure to link the security account for a user in the current database with a different login. If the login for a user has changed, use sp_change_users_login to link the user to the new login without losing the user's permissions.
login cannot be sa, and user cannot be the dbo, guest, or INFORMATION_SCHEMA users.
sp_change_users_login cannot be executed within a user-defined transaction.
Permissions
Any member of the public role can execute sp_change_users_login with the Report option. Only members of the sysadmin fixed server role can specify the Auto_Fix option. Only members of the sysadmin or db_owner roles can specify the Update_One option.
Examples
A. Show a report of the current user to login mappings
This example produces a report of the users in the current database and their security identifiers.
EXEC sp_change_users_login 'Report'
B. Change the login for a user
This example changes the link between user Mary in the pubs database and the existing login, to the new login NewMary (added with 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'
<!--RELATEDTOPICSLIST-->
See Also
sp_addlogin
sp_adduser
sp_helplogins
分享到:
相关推荐
在进行SQL Server数据库迁移时,经常会遇到一个棘手的问题:迁移完成后,部分用户无法与原有的登录名相对应,导致这些用户成为“孤立用户”。这种情况下,用户虽然存在于数据库中,但无法正常访问数据库资源。本文将...
本免费小工具适用于迁移SQLServer数据库(从低版本到高版本,或者从A服务器到B服务器)。只要提前做好配置和准备,不管用户库的数据量有多大,每次迁移需要停止业务的时间都可以控制在5分钟之内(操作熟练的话,2...
在"Sqlserver数据库迁移"这个小项目中,我们主要关注的是如何将现有的SQL Server数据库从一个环境迁移到另一个环境,这可能涉及到数据的备份、恢复、复制以及同步等多个环节。以下是一些关于此话题的关键知识点: 1...
SQL Server数据库迁移通常包括以下几个步骤: 1. **数据备份与恢复**:迁移的第一步通常是创建源数据库的完整备份。SQL Server提供了T-SQL命令如`BACKUP DATABASE`来实现这一点。备份后,可以通过RESTORE命令在目标...
在某些情况下,由于业务发展或技术选型的变化,可能需要将SQL Server数据库迁移至MySQL数据库。本篇文章将详细探讨这个过程,包括关键步骤、工具选择以及注意事项。 首先,SQL Server和MySQL之间的主要差异在于它们...
在将SQL SERVER数据库迁移到ORACLE的过程中,涉及多个步骤和注意事项。以下是对这些步骤的详细说明: 1. **配置ORACLE客户端**: - 使用Net Configuration Assistant进行配置,这是一个图形化工具,帮助设置与...
从oracle数据库迁移至SQLserver数据库,官方工具好用
这份文档探讨了如何在SQL Server数据库与国产数据库之间进行数据移植。在数据处理和数据库迁移领域,这是一个重要话题。文档中涉及到SQL Server、Kingbase ES、Openbase等不同类型的数据库系统,并专注于它们之间的...
在进行SQL Server数据库到MySQL数据库的迁移过程中,涉及到的方法和技术是非常细致且关键的。首先,必须了解两种数据库在数据类型上的差异,这直接关系到迁移的成败。SQL Server的bit类型与MySQL中的tinyint类型虽然...
8. **切换流量**:在确认所有功能都正常工作后,可以将应用程序的连接字符串更新为新的SQL Server数据库,完成流量切换。 9. **后期维护**:监控新环境的性能,进行必要的调整和优化。 在实际操作中,可能还会遇到...
将SQL Server数据库迁移到MySQL涉及多个步骤,包括数据库的备份与恢复、ODBC数据源的配置、数据导入以及可能的结构调整。整个过程需要细心操作,并注意数据的完整性和一致性,以确保迁移成功。使用合适的工具,如...
在IT领域,数据库迁移是一项常见的任务,特别是在不同的数据库系统之间,如从SQL Server迁移到MySQL。本场景中,我们讨论的是将SQL Server 2000数据库迁移到MySQL 5的过程,这涉及到多个步骤和注意事项。 首先,...
本案例中,我们关注的是从MySQL数据库向SQL Server数据库的迁移过程,这涉及到多个关键知识点。 首先,MySQL和SQL Server是两种不同的关系型数据库管理系统(RDBMS),它们之间存在一些语法和数据类型的差异。MySQL...
本文将详细探讨SQL Server数据库迁移的相关知识点。 #### 一、数据库迁移概述 数据库迁移是指将现有数据库中的数据、对象以及配置等信息转移到一个新的数据库系统的过程。这个过程涉及到多个环节,包括但不限于...
### SQL Server到Oracle数据库迁移详解 #### 一、引言 随着企业的发展和技术的更新换代,企业常常需要对原有的数据库系统进行迁移或升级。本文将详细介绍如何使用Java语言实现从SQL Server到Oracle数据库的数据...
SQL Server 数据库导入导出是数据库管理员和开发者常用的操作,目的是将数据库备份到本地或网络存储设备中,以便在需要时恢复数据库或将数据库迁移到其他服务器上。下面将详细介绍 SQL Server 数据库导入导出的方法...
从 SQL Server 迁移数据到 Oracle 的步骤 在本文中,我们将详细介绍从 SQL Server 迁移数据到 Oracle 的步骤。数据迁移是数据库管理中的一项重要任务,它可以将数据从一个数据库管理系统迁移到另一个数据库管理系统...
本文将详细探讨如何使用Oracle的通用连接(JDBC)技术来访问SQL Server数据库,帮助你理解这一跨数据库操作的过程。 首先,我们要明白的是Oracle的JDBC驱动程序(Java Database Connectivity)是实现这一目标的基础...
SQL Server 2005 到 SQL Server 2008 的数据库迁移方法 随着数据库技术的发展,数据库管理系统也在不断更新迭代,例如从 SQL Server 2005 到 SQL Server 2008。这其中,我们需要将低版本的数据库迁移到高版本上,以...