数据库移植到SQL Server 2008R2出现“3145错误”怎么办

   SQL Server 2000数据库移植到SQL Server 2008R2数据库服务器中碰到的”3145错误”及解决办法

  辛苦忙碌了一个星期终于安装配置好了TFS服务器,给每个团队成员分配了账户和邮箱。不过,老机器中的部分数据需要备份到新机器中,其中在移植一个使用DVBBS架设的论坛的时候,出了点问题,记录如下,以备查找,也希望能帮助到其他人。

  由于论坛已经运行了一段时间,包括公司注册用户、相关讨论共享等重要资料,需要将其移植到新安装TFS服务器的机器上,并对外公开访问权限。旧的机器上安装的是SQL Server 2000,在将论坛数据库备份之后,在SQL Server 2008R2的数据库上还原的过程中,出现了如下的3145错误:

  备份集中的数据库备份与现有的 'xxx' 数据库不同。

  一直以为SQL Server数据库是向前后兼容的,怎么可能存在这样的问题呢?不过检查一番之后,确定两台数据库服务器都没有问题,且论坛的备份在原数据库服务器上可以正常还原。没办法,改之,把在SQL Server 2008R2上新建的数据库更改为 SQL Server 2000格式的,再尝试还原,仍然是同样的错误。在网上找了下,说到的办法,尝试了不少,其中有一篇是“备份集中的数据库备份与现有的数据库不同 SQL 2005 ERROR:3145 解决办法 ”,提供了如下命令方法:

  1.新建一个与现有数据库重名的数据库

  2.在查询窗口运行如下语句:

  use master

  restore database AdventureWorks from disk = 'E:databasebackupAdventureWorks.bak'

  with replace, MOVE N'AdventureWorks_Data' TO N'C:Program FilesMicrosoft SQL ServerMSSQL.5MSSQLDataAdventureWorks.mdf', MOVE N'AdventureWorks_Log' TO N'C:Program FilesMicrosoft SQL ServerMSSQL.5MSSQLDataAdventureWorks_log.ldf'

  从语句上来看,和在图形界面的操作是一样的,但是结果却是语句运行成功,图形界面怎么过不去。

  在其他网页上也看到了类似的方法,也有不少成功解决这个错误的,不过,在SQL Server 2008R2服务器上,还是无法正确备份,也没有找到有其它人在SQL Server 2008R2上,用其它方法解决还原备份的问题。

  不过,将论坛数据库从旧的SQL Server 2000上分离出来,再附加上SQL Server 2008R2上,成功,数据完整的恢复了!

  不清楚为什么在SQL Server 2005上可以,在SQL Server 2008R2却不能恢复备份。不过,好在使用分离和附加的方法,成功将论坛迁移。在此记下,做为参考吧。

时间: 2024-08-30 19:19:34

数据库移植到SQL Server 2008R2出现“3145错误”怎么办的相关文章

将Access数据库移植到SQL Server[摘]

access|server|数据|数据库 随着用户对于企业级高性能数据库的需求的增长,用户时常要从Microsoft Access Jet引擎的文件-服务器环境下转换到Microsoft SQL Server的客户-服务器环境.Microsoft Office 2000中的Access 2000 Upsizing Wizard可实现将数据表和查询转移到SQL Server 7.0中.如果您用的是Access的较早的版本,您可以先将它升级为Access 2000,然后再使用其中的Upsizing

将Access数据库移植到SQL Server 7.0

access|server|数据|数据库 随着用户对于企业级高性能数据库的需求的增长,用户时常要从Microsoft Access Jet引擎的文件-服务器环境下转换到 Microsoft SQL Server的客户-服务器环境.Microsoft Office 2000中的Access 2000 Upsizing Wizard可实现将数据表和 查询转移到SQL Server 7.0中.如果您用的是Access的较早的版本,您可以先将它升级为Access 2000,然后再使用其中的 Upsizi

把Access数据库移植到SQL SERVER7.0

当对企业级的高性能的数据库的要求和需求增加时,客户有时需要从文件?服务器环境的Microsoft Access Jet引擎迁移到客户?服务器环境的Microsoft SQL Server.随同微软Office 2000发行的Access 2000 Upsizing Wizard(升级向导)可以把Access表格和查询迁移到SQL Server 7.0.如果你使用Access的早期版本,你也可以通过升级到Access 2000,并使用升级向导把你的应用程序移植到SQL SERVER. 如果你不喜欢

图文详解SQL Server 2008R2使用教程_mssql2008

本文为大家分享了SQL Server 2008R2简单使用教程,供大家参考,具体内容如下 1 首先找到开始菜单中相关内容:如下图:安装的组件不同可能有所不同:我的电脑中包括如下项: 商业智能:管理控制台:导入和导出数据:分析服务:集成服务:配置工具:文档和教程:性能工具: 因为偶装的组件多: 2 进入管理控制台 首先是登录:服务器类型选择 数据库引擎:此处先用Windows身份验证登录: 3 进入管理控制台 界面如下:看到 数据库 下有四个子项,系统数据库.数据库快照.ReportServer.

将Access数据库移植到SQL Server_Access

随着用户对于企业级高性能数据库的需求的增长,用户时常要从Microsoft Access Jet引擎的文件-服务器环境下转换到Microsoft SQL Server的客户-服务器环境.Microsoft Office 2000中的Access 2000 Upsizing Wizard可实现将数据表和查询转移到SQL Server 7.0中.如果您用的是Access的较早的版本,您可以先将它升级为Access 2000,然后再使用其中的Upsizing Wizard,从而将您的应用移植到SQL 

Sql Server 2008R2版本中有关外键Foreign的使用

原文:Sql Server 2008R2版本中有关外键Foreign的使用 1. 在数据库设计的过程中往往会想让2张表进行关联而使用到Foreign从而加强2张表之间的约束(如图) 以前有个问题一直没弄明白,那就是外键列的值的情况,正常情况下表中的列的值可以是null或者满足该列所定义的类型的数据即可,但是外键是不是也一样呢? 答案显然不是的,那到底是个什么情况呢? 官方帮助文档是这样说明的"FOREIGN KEY 约束并不仅仅可以与另一表的 PRIMARY KEY 约束相链接,它还可以定义为引

将ACCESS的数据库转化为SQL SERVER的数据库的几点体验

access|server|数据|数据库 最近忙于将ACCESS的数据库转化为SQL SERVER的数据库的学习,从中摸索出几条经验,与大家分享.1.ACCESS的数据库中的自动编号类型在转化时,sql server并没有将它设为自动编号型,我们需在SQL创建语句中加上identity,表示自动编号!2.转化时,跟日期有关的字段,SQL SERVER默认为smalldatetime型,我们最好将它变为datetime型,因为datetime型的范围比smalldatetime型大.我遇见这种情况

sql server 2008r2 安装出错error CS0014:未找到mscorpe.dll

问题描述 sql server 2008r2 安装出错error CS0014:未找到mscorpe.dll error CS0014:未找到mscorpe.dll 错误代码0×84B10001 文件mscorpe.dll文件是存在的,为什么还提示找不到... 解决方案 安装SQL Server 2008 R2挂掉的可能原因SQL Server 2008 R2 安装SQL Server 2008 R2 安装出错:Could not open key 解决方案二: 这种情况可能是因为你的WM6的S

转换数据库-数据库:Oracle数据库转换成SQL server数据库

问题描述 数据库:Oracle数据库转换成SQL server数据库 把oracle数据库转换成SQL server数据库(2008 r2)版本的,数据迁移,大概百万条数据,有什么好的办法或者是执行语句嘛: 解决方案 我只知道可以把脚本倒出来 然后在sql中执行 解决方案二: http://wenku.baidu.com/link?url=TA7z0XmVyfKHyTQqiPwE6gAdkKbFG7ngBBL75mvjbRbAGFVElPyxOLFSvNT4YskRl8KLdeVdOlHc8a6