运行SQL Server的计算机间移动数据库(2)
作者:support.microsoft.com 发布时间:2009-01-20 13:07:00
第 2 步:如何传输登录和密码
如果您不将源服务器中的登录传输到目标服务器,当前的 SQL Server 用户就无法登录到目标服务器。目标服务器上的登录的默认数据库可能与源服务器上的登录的默认数据库不同。您可以使用 sp_defaultdb 存储过程来更改登录的默认数据库。
第 3 步:如何解决孤立用户
在您向目标服务器传输登录和密码后,用户可能还无法访问数据库。登录与用户是靠安全识别符 (SID) 关联在一起的;在您移动数据库后,如果 SID 不一致,SQL Server 可能会拒绝用户访问数据库。此问题称为孤立用户。如果您使用 SQL Server 2000 DTS 传输登录功能来传输登录和密码,就可能会产生孤立用户。此外,被允许访问与源服务器处于不同域中的目标服务器的集成登录帐户,也会导致出现孤立用户。1. 查找孤立用户。在目标服务器上打开查询分析器,然后在您移动的用户数据库中运行以下代码:
exec sp_change_users_login 'Report'
此过程将列出任何未链接到一个登录帐户的孤立用户。如果没有列出用户,请跳过第 2 步和第 3 步,直接进行第 4 步。
2. 解决孤立用户问题。如果一个用户是孤立用户,数据库用户可以成功登录到服务器,但却无权访问数据库。如果您尝试向数据库授予登录访问权,则会因该用户已经存在而出现下列错误消息:
Microsoft SQL-DMO (ODBC SQLState:42000)
错误 15023:当前数据库中已存在用户或角色 '%s'。上面介绍了如何使用 sp_change_users_login 存储过程来逐个纠正孤立用户。sp_change_users_login 存储过程仅能解决标准的 SQL Server 登录帐户的孤立用户问题。
3. 如果数据库所有者 (dbo) 被当作孤立用户列出,请在用户数据库中运行下面的代码:exec sp_changedbowner 'sa'此存储过程会将数据库所有者更改为 dbo 并解决这个问题。要将数据库所有者更改为另一用户,请使用您想使用的用户再次运行 sp_changedbowner。
4. 如果您的目标服务器运行的是 SQL Server 2000 Service Pack 1,则在您执行附加操作或还原操作(或两种操作都执行)后,企业管理器的用户文件夹中的列表中可能没有数据库所有者用户。
5. 如果目标服务器上不存在映射到源服务器上的 dbo 的登录,您在尝试通过企业管理器更改系统管理员 (sa) 密码时,可能会收到以下错误消息:
错误 21776:[SQL-DMO] 名称 'dbo' 在 Users 集合中没有找到。如果该名称是合法名称,则使用 [] 来分隔名称的不同部分,然后重试。
警告:如果您再次还原或附加数据库,则数据库用户可能会再次被孤立,这样您就必须重复第 3 步操作。
第 4 步:如何移动作业、警报和运算符
第 4 步是可选操作。您可以为源服务器上的所有作业、警报和运算符生成脚本,然后在目标服务器上运行脚本。? 要移动作业、警报和运算符,请按照下列步骤操作:
1. 打开 SQL Server 企业管理器,然后展开管理文件夹。
2. 展开 SQL Server 代理,然后右键单击警报、作业或运算符。
3. 单击所有任务,然后单击生成 SQL 脚本。对于 SQL Server 7.0,请单击为所有作业生成脚本、警报或运算符。
您可以用右键单击选择为所有警报、所有作业或所有运算符生成脚本。
? 您可以将作业、警报和运算符从 SQL Server 7.0 移到 SQL Server 2000,也可以在运行 SQL Server 7.0 和运行 SQL Server 2000 计算机之间移动。
? 如果在源服务器上为运算符设置了 SQLMail 通知,则目标服务器上也必须设置 SQLMail,才能具有相同的功能。
第 5 步:如何移动 DTS 包
第 5 步是可选操作。如果 DTS 包在源服务器上存储在 SQL Server 中或存储库中,您可以在需要时移动这些包。要在服务器之间移动 DTS 包,请使用下列方法之一。
方法 1
1. 在源服务器上将 DTS 包保存到一个文件中,然后在目标服务器上打开 DTS 包文件。
2. 将目标服务器上的包保存到 SQL Server 或存储库中。
注意:您必须用单独的文件逐个地移动这些包。
方法 2
1. 在 DTS 设计器中打开每个 DTS 包。
2. 在包菜单上,单击另存为。
3. 指定目标 SQL Server。
注意:在新服务器上,包可能无法正常运行。您可能必须对包进行更改,更改包中任何对旧的源服务器上的连接、文件、数据源、配置文件和其他信息的引用,以便引用新的目标服务器。您必须根据每个包的设计逐个包进行这些更改。
本文中介绍的步骤不移动数据库关系图以及备份与还原历史记录。如果您必须移动这些信息,请移动 msdb 系统数据库。如果您移动 msdb 数据库,则不必执行“第 4 步:如何移动作业、警报和运算符”或“第 5 步:如何移动 DTS 包”。


猜你喜欢
- 0.目标这一节,我将实现一个简单的发送邮件功能。1.部署1.1 部署Express如果不知道如何部署,可参照:部署Express1.2 准备
- 1. 正文1.1下载和安装软件本文我会通过miniconda+jupyter lab的形式带大家安装opencv;有很多朋友会问为什么不是a
- 1.建表-- Create table create table test ( dm1 char(3), dm2 char(3), mc1
- 本文实例讲述了SQL Server日期加减函数DATEDIFF与DATEADD用法。分享给大家供大家参考,具体如下:SQL Server 日
- 在这个文章中,我们将学习如何在感兴趣区域周围画最小面积矩形框。1.最小面积矩形框下图显示了两个矩形框,绿色的是普通矩形框,红色的是最小面积矩
- 1.javascript获取网址"?"后面的参数:var query = window.location.search.
- 现在只有山东、北京、上海等发达地区有考Python的这个举动,其他地区暂时还没有。首先,Python类似于c++,Python是一种面向对象
- 此篇博客学习的api如标题,分别是:current_url获取当前页面的url;page_source 获取当前页面的源码;ti
- 由于电脑上安装了多个版本的pip,以及不同的pip对应不同的python,因此有时候使用pip install安装某个包时,可能会没有安装在
- 很喜欢Python这门语言。在看过语法后学习了Django 这个 Web 开发框架。算是对 Python 有些熟悉了。不过对里面很多东西还是
- 下面的文章主要描述的是如何正确通过rpm包安装、对MySQL进行配置与卸载,以下就有详细内容对配置MySQL与卸载MySQL(和PHP搭配之
- hmac模块hmac模块用于生成HMAC码。这个HMAC码可以用于验证消息的完整性,其原理也很简单,就是一种加入了密钥的消息摘要,相比起MA
- mtx文件是按照稀疏矩阵格式存储的矩阵数据,可以按照以下步骤读取:1、安装scanpy包pip install scanpy2、文件读取im
- 也许有人会说我火星了,但我的确是第一次知道,欢迎我从火星归来吧。在 Yahoo! 首页上隐藏着这样一个小秘密,大家到 www.yahoo.c
- 导言:接上期,我们在极坐标下用python画了圆,心形线,玫瑰线,阿基米德螺线和双纽线5大常规曲线外,后来发现还漏了好一些漂亮且有意思的的曲
- 如下所示:#彩色螺旋线import turtleturtle.pensize(2)turtle.bgcolor("black&qu
- 使用base64对图片的二进制进行编码并用ajax进行显示有时候我们需要动态的将图片的二进制在页面上进行显示,如我们需要弄一个验证码的功能,
- 本文实例讲述了Python编程实现输入某年某月某日计算出这一天是该年第几天的方法。分享给大家供大家参考,具体如下:#基于 Pyth
- 服务端监听端口 listen()方法:net.listen({监听类型},{监听的ip和端口})(conn, err){}返回值:conn是
- 导语大家以前应该都听说过一个游戏:叫做走四棋儿这款游戏出来到现在时间挺长了,小时候的家乡农村条件有限,附近也没有正式的玩具店能买到玩具,因此