我正在尝试将一些 SQL Server 代理作业从一台服务器复制到另一台服务器(均使用 SQL Server 2000)。
我发现了如何创建一个脚本来创建它们,但是这些作业似乎有依赖关系,例如 DTS 包,我需要复制所有内容(而且我真的不知道我在做什么,说实话)。
所以我尝试了内置的数据库复制向导(在企业管理器中,还记得吗?)。但正如您在下面链接的屏幕截图中看到的那样,它声称目标 .mdf 和 .ldf 文件已经存在(它们不存在),或者没有足够的磁盘空间(存在)。
看看两行旁边的状态如何有一个绿色的勾号?但是,再往下,有一个红十字。屏幕混乱:是否有错误?
如果您单击修改(对不起,当您的代表低时,有关链接的愚蠢规则):
http://img16.imageshack.us/img16/9439/cdwerror2.png
再一次,我有所有绿色的勾号,但是那些讨厌的红色十字在底部。它在说哪个?还是两者都说?
所以我还是继续......完成后,屏幕上报告了以下故障:
CDW 登录任务步骤:失败,但这没关系 - 它只是无法传输管理员登录(我认为这不是问题,因为它是该机器的本地 Windows 管理员登录)。
CDW MSDB 任务步骤: 失败,对象脚本正常,但无法传输,例如:
传输 MSBD Update_Daily_Person_Set (SQL SERVER AGENT JOB) 步骤错误来源:Microsoft 数据转换服务 (DTS) 包 步骤错误描述:未指定错误 步骤错误代码:80004005 步骤错误帮助文件:sqldts80.hlp 步骤错误帮助上下文 ID:1100
我不确定在哪里可以找到 sqldts80.hlp (有人知道吗?),谷歌搜索 80004005 SQL Server 错误表明它可能是大约一百种不同事物中的任何一种(字面意思),具体取决于错误消息的其余部分(无在这种情况下给出)。
CDW 数据库任务步骤:
.mdf 文件的实际复制失败。一个数据库不会尝试复制,因为它具有活动连接 - 我假设我可以断开这些连接以解决该部分。
感谢您阅读到这里!
我尝试允许目标文件夹的“所有人”写入权限,没有改变。还有其他想法吗?
我从未使用过复制数据库向导来复制系统数据库,但它可能无法用于此操作。我知道这项任务对我来说很不稳定,而且我很少使用它。
你在移动服务器吗?msdb 有系统信息,如果你不打算替换新服务器上的所有信息,我不一定会转移它。
移动 DTS 包很痛苦,但您可以打开它们并将它们保存到新服务器(另存为),或者您可以使用类似http://www.sqldts.com/204.aspx
对于作业,这些是简单的脚本文件,并且对它们的登录可能没有太多依赖。如果有, sp_help_revlogin 将通过脚本将它们移至新服务器。
我知道这看起来很复杂,但并没有那么糟糕,而且在研究这个问题时可能会浪费手动时间。
传输时,您有一个目标文件夹,但逻辑文件中存储了一个路径,并且它可能与新服务器匹配。安装是默认的吗?两个服务器上的 msdb.mdf 路径相同吗?