`
rednomad
  • 浏览: 17678 次
  • 性别: Icon_minigender_1
  • 来自: 广州
最近访客 更多访客>>
文章分类
社区版块
存档分类
最新评论

SQL Server 数据库的迁移

阅读更多

不清楚各位大大是怎么做数据迁移的,反正俺大老粗的做法是,先把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

分享到:
评论

相关推荐

    SQLServer数据库迁移孤立用户的解决方法

    在进行SQL Server数据库迁移时,经常会遇到一个棘手的问题:迁移完成后,部分用户无法与原有的登录名相对应,导致这些用户成为“孤立用户”。这种情况下,用户虽然存在于数据库中,但无法正常访问数据库资源。本文将...

    DBTransfer - SQL Server数据库迁移免费小工具

    本免费小工具适用于迁移SQLServer数据库(从低版本到高版本,或者从A服务器到B服务器)。只要提前做好配置和准备,不管用户库的数据量有多大,每次迁移需要停止业务的时间都可以控制在5分钟之内(操作熟练的话,2...

    Sqlserver数据库迁移

    在"Sqlserver数据库迁移"这个小项目中,我们主要关注的是如何将现有的SQL Server数据库从一个环境迁移到另一个环境,这可能涉及到数据的备份、恢复、复制以及同步等多个环节。以下是一些关于此话题的关键知识点: 1...

    sqlserver数据库迁移

    SQL Server数据库迁移通常包括以下几个步骤: 1. **数据备份与恢复**:迁移的第一步通常是创建源数据库的完整备份。SQL Server提供了T-SQL命令如`BACKUP DATABASE`来实现这一点。备份后,可以通过RESTORE命令在目标...

    SQL Server数据库迁移Mysql数据库工具

    在某些情况下,由于业务发展或技术选型的变化,可能需要将SQL Server数据库迁移至MySQL数据库。本篇文章将详细探讨这个过程,包括关键步骤、工具选择以及注意事项。 首先,SQL Server和MySQL之间的主要差异在于它们...

    SQL SERVER 数据库迁移到ORACLE配置 SQL SERVER 数据库转到ORACLE配置.doc

    在将SQL SERVER数据库迁移到ORACLE的过程中,涉及多个步骤和注意事项。以下是对这些步骤的详细说明: 1. **配置ORACLE客户端**: - 使用Net Configuration Assistant进行配置,这是一个图形化工具,帮助设置与...

    oracle迁移SQL server数据库迁移

    从oracle数据库迁移至SQLserver数据库,官方工具好用

    SQL Server和国产数据库之间数据移植研究.pdf

    这份文档探讨了如何在SQL Server数据库与国产数据库之间进行数据移植。在数据处理和数据库迁移领域,这是一个重要话题。文档中涉及到SQL Server、Kingbase ES、Openbase等不同类型的数据库系统,并专注于它们之间的...

    sqlserver数据库迁移到mysql

    在进行SQL Server数据库到MySQL数据库的迁移过程中,涉及到的方法和技术是非常细致且关键的。首先,必须了解两种数据库在数据类型上的差异,这直接关系到迁移的成败。SQL Server的bit类型与MySQL中的tinyint类型虽然...

    数据库迁移工具(My SQL →SQL Server)

    8. **切换流量**:在确认所有功能都正常工作后,可以将应用程序的连接字符串更新为新的SQL Server数据库,完成流量切换。 9. **后期维护**:监控新环境的性能,进行必要的调整和优化。 在实际操作中,可能还会遇到...

    Sqlserver数据库转成mysql数据库.doc

    将SQL Server数据库迁移到MySQL涉及多个步骤,包括数据库的备份与恢复、ODBC数据源的配置、数据导入以及可能的结构调整。整个过程需要细心操作,并注意数据的完整性和一致性,以确保迁移成功。使用合适的工具,如...

    sqlserver数据库迁移mysql5.pdf

    在IT领域,数据库迁移是一项常见的任务,特别是在不同的数据库系统之间,如从SQL Server迁移到MySQL。本场景中,我们讨论的是将SQL Server 2000数据库迁移到MySQL 5的过程,这涉及到多个步骤和注意事项。 首先,...

    从mysql数据库迁移至sqlserver数据库

    本案例中,我们关注的是从MySQL数据库向SQL Server数据库的迁移过程,这涉及到多个关键知识点。 首先,MySQL和SQL Server是两种不同的关系型数据库管理系统(RDBMS),它们之间存在一些语法和数据类型的差异。MySQL...

    数据库迁移

    本文将详细探讨SQL Server数据库迁移的相关知识点。 #### 一、数据库迁移概述 数据库迁移是指将现有数据库中的数据、对象以及配置等信息转移到一个新的数据库系统的过程。这个过程涉及到多个环节,包括但不限于...

    SQLSERVER到ORACLE的数据库迁移

    ### SQL Server到Oracle数据库迁移详解 #### 一、引言 随着企业的发展和技术的更新换代,企业常常需要对原有的数据库系统进行迁移或升级。本文将详细介绍如何使用Java语言实现从SQL Server到Oracle数据库的数据...

    sql server 数据库导入导出方法

    SQL Server 数据库导入导出是数据库管理员和开发者常用的操作,目的是将数据库备份到本地或网络存储设备中,以便在需要时恢复数据库或将数据库迁移到其他服务器上。下面将详细介绍 SQL Server 数据库导入导出的方法...

    从sql server 迁移数据到oracle 的步骤.doc

    从 SQL Server 迁移数据到 Oracle 的步骤 在本文中,我们将详细介绍从 SQL Server 迁移数据到 Oracle 的步骤。数据迁移是数据库管理中的一项重要任务,它可以将数据从一个数据库管理系统迁移到另一个数据库管理系统...

    通过ORACLE通用连接访问SQLServer数据库的方法

    本文将详细探讨如何使用Oracle的通用连接(JDBC)技术来访问SQL Server数据库,帮助你理解这一跨数据库操作的过程。 首先,我们要明白的是Oracle的JDBC驱动程序(Java Database Connectivity)是实现这一目标的基础...

    SQLServer2005迁移至SQLServer2008上面

    SQL Server 2005 到 SQL Server 2008 的数据库迁移方法 随着数据库技术的发展,数据库管理系统也在不断更新迭代,例如从 SQL Server 2005 到 SQL Server 2008。这其中,我们需要将低版本的数据库迁移到高版本上,以...

Global site tag (gtag.js) - Google Analytics