将从SQL2008 r2里备份的数据库还原到SQL2008中

从标题可以看出这是未解决上一篇遗留问题写的,现在我也不知道这个可不可以成功,方法似乎查到了一种,具体怎样还不清楚;而且,我想说的是“我踩雷了”。

这篇的主角是“Database Publishing Wizard”家族;实话我完全不知道有这个。

地点是“ C:\Program Files (x86)\Microsoft SQL Server\90\Tools\Publishing\1.2\SqlPubWiz.exe”。从路径可以看到1.2这个数据,上面提到这是一个家族,根据这个1.2可知道这不是第一个版本;在它的前面还有一个属于Visual Studio 2005的1.1,那时它可并没有被SQL内建,只有下载才有;然后还有一个属于Visual Studio 2008 SP1的1.3;而我们知道的Visual Studio已经有了2010版了,自然也有一个属于它的1.4;因为是家族,所以它们正常都在“C:\Program Files (x86)\Microsoft SQL Server\90\Tools\Publishing\1.2\SqlPubWiz.exe”,而且它们与Visual Studio的关系越来越密切,甚至成为了一家。
这是我找到的,可以看到我们的主角在倒数第四行。

启动方法:
1.通过Visual Studio 2008启动
2.在这里“C:\Program Files (x86)\Microsoft SQL Server\90\Tools\Publishing\1.2\SqlPubWiz.exe”找到它,双击,按步骤来
任选一种都可以。

作用:
1.“数据库发布向导”,就如它的名字Database Publishing Wizard
2.当成“指令列工具”来使用

使用:
步骤1:双击SqlPubWiz.exe,我是第一次双击这个,出现的是一个控制台,什么也没有,只有一个定位光标在左上角闪烁;等了一会儿(30s内),出现了一个Database Publishing Wizard界面
步骤2:点击Next,得到

步骤3:继续点击Next,报错
===================================

无法连接到服务器 localhost。 (Microsoft.SqlServer.ConnectionInfo)

------------------------------
程序位置:

在 Microsoft.SqlServer.Management.Common.ConnectionManager.Connect()
在 Microsoft.SqlServer.Management.SqlManagerUI.Scripting.ScriptingDriver.ConnectToServer()
在 Microsoft.SqlServer.Management.SqlManagerUI.Scripting.ScriptingDriver..ctor(String databaseName, String serverName)
在 Microsoft.SqlServer.Management.SqlManagerUI.SelectServerWizardPage.ValidateForm()

===================================

不支持此 SQL Server 版本(10.0)。 (Microsoft.SqlServer.ConnectionInfo)

------------------------------

===================================

启动SQL2008,再点击Next,依然报错
无法连接到服务器 localhost。 (Microsoft.SqlServer.ConnectionInfo)

------------------------------
程序位置:

在 Microsoft.SqlServer.Management.Common.ConnectionManager.Connect()
在 Microsoft.SqlServer.Management.SqlManagerUI.Scripting.ScriptingDriver.ConnectToServer()
在 Microsoft.SqlServer.Management.SqlManagerUI.Scripting.ScriptingDriver..ctor(String databaseName, String serverName)
在 Microsoft.SqlServer.Management.SqlManagerUI.SelectServerWizardPage.ValidateForm()

===================================

不支持此 SQL Server 版本(10.0)。 (Microsoft.SqlServer.ConnectionInfo)

------------------------------

===================================

启动SQL2008,将localhost改为local,点击Next,会出现短暂的未响应,然后报错
无法连接到服务器 local。 (Microsoft.SqlServer.ConnectionInfo)

------------------------------
程序位置:

在 Microsoft.SqlServer.Management.Common.ConnectionManager.Connect()
在 Microsoft.SqlServer.Management.SqlManagerUI.Scripting.ScriptingDriver.ConnectToServer()
在 Microsoft.SqlServer.Management.SqlManagerUI.Scripting.ScriptingDriver..ctor(String databaseName, String serverName)
在 Microsoft.SqlServer.Management.SqlManagerUI.SelectServerWizardPage.ValidateForm()

===================================

在与 SQL Server 建立连接时出现与网络相关的或特定于实例的错误。未找到或无法访问服务器。请验证实例名称是否正确并且 SQL Server 已配置为允许远程连接。 (provider: 命名管道提供程序, error: 40 - 无法打开到 SQL Server 的连接) (.Net SqlClient Data Provider)

------------------------------
有关帮助信息,请单击: http://go.microsoft.com/fwlink?ProdName=Microsoft+SQL+Server&EvtSrc=MSSQLServer&EvtID=53&LinkId=20476

------------------------------
错误号: 53
严重性: 20
状态: 0

------------------------------
从上面的错误看第一感觉是服务器有问题,我将SQL给关闭,重启,看到服务器的名称,拷贝;将它粘贴到向导里的服务器中;然后点击“下一步”,最终成功。

但是这里有一个问题,我登录SQL用的是SQL身份验证,而不是Windows身份验证;个人猜测如果我在向导里选择的是SQL身份验证的话,只需输入登录名和登录密码应该可以得到相同的结果;Windows身份验证相对来说要方便很多,无论哪种方式服务器名称是一样的,也不能错,格式“XX\SQLEXPRESS","XX"是你的pc名称。

步骤4:选择数据库,点击Next,报错

===================================

This wizard will close because it encountered the following error: (Microsoft SQL Server)

------------------------------
有关帮助信息,请单击: http://go.microsoft.com/fwlink?ProdName=Microsoft+SQL+Server+Database+Publishing+Wizard&ProdVer=1.2.0.0&EvtSrc=Microsoft.SqlServer.Management.UI.WizardFrameworkErrorSR&EvtID=UncaughtException&LinkId=20476

===================================

未能加载文件或程序集“Microsoft.SqlServer.BatchParser, Version=9.0.242.0, Culture=neutral, PublicKeyToken=89845dcd8080cc91”或它的某一个依赖项。系统找不到指定的文件。 (Microsoft.SqlServer.ConnectionInfo)

------------------------------
是什么原因导致的?我想应该是我的数据库有问题,怎么说呢?因为我只是在SQL里见了一个空数据库,估计这是不行的。

但是这里还是应该进行总结下:我的想法是不能实现的,为什么呢?我手边就一台电脑,装的是SQL2008,而数据库的备份是用SQL2008 r2备份的;想将这个备份在SQL2008中还原,是不可能的。而上面的方法是怎样呢?它是将Database Publishing Wizard进行降级,降到你想要的版本,然后用这个新版本的Database Publishing Wizard对你要操作的数据库进行编码,得到与新版本相适应的数据库副本,自然这个副本也可以在另一个没有经过降级的Database Publishing Wizard的SQL中执行。由此,Database Publishing Wizard它的作用规定T-SQL的编码方式。

猜想:可不可以先对Database Publishing Wizard进行升级,然后”将从SQL2008 r2里备份的数据库还原到SQL2008中“,将1.2的环境升级成为1.3的环境,继而实现操作。

最后,在上面说过SqlPubWiz.exe的启动方法有两种,应该还有第三种从控制台启动。

时间: 2024-10-18 03:25:12

将从SQL2008 r2里备份的数据库还原到SQL2008中的相关文章

SQL Server 2008 R2 里迁移系统数据库的方法

针对不同的场景,采用不同的步骤. 对非master以及resource系统数据库而言,分两种情况. 1.非master以及resource系统数据库正常. 这里以迁移msdb为例,将msdb从D:\SQL2K8_DATA\MSSQL10_50.MSSQLSERVER\MSSQL\DATA\迁移到D:\SQL2K8_DATA\MSSQL10_50.MSSQLSERVER\MSSQL\DATA\system\目录下. 首先我们检查当前msdb的路径 ? 1 2 3 SELECT name, phys

Sql Server R2还有备份数据库错误

错误信息描述  该数据库是运行版本10.50.1600的服务器上备份的.该版本与此服务器(运行版本10.00.1600)不兼容.请在支持该被份的服务器上还原该数据,  或者使用与此服务器兼容的备份(MicrosoftSqlServer.Smo) 错误原因  本机上两个数据库一个是sql server版本,另个就sql server r2版本.  数据备份文件应该在sql server r2版本上附加而,我的sql server r2版本登陆所用的实例是sql server版本的所以引发数据还原不

使用Navicat定时备份mysql数据库和创建报表并邮件自动发送

数据库备份在现代计算机高速发展的今日变得日益重要,程序员往往因为不重视而忽略备份数据,导致数据丢失,造成非常严重的后果.定时备份无疑是解决备份的最好的途径,本文主要使用Navicat来自动备份数据库和创建相关的计划任务. (一)使用Navicat自动备份数据库: 1,打开navicat客户端,连上mysql后,双击左边你想要备份的数据库.点击"计划",再点击"新建批处理作业"具体如下图. 2,双击上面的可用任务,它就会到下面的列表里去,也代表你选择了这个任务 3,点

Nosql里典型的数据库

Nosql里典型的数据库 Redis 对网站服务器进行写入 传统关系式数据库无法过多的写入 对数据库要求: 数据库高并发读写需求 解决方案: (1:读写分离 两台主如果同时写入会发生冲突 (2:水平分割: 关系式数据库 数据之间有操作 海量数据的高效率存储和访问的需求 用户如果在海量数据中查询某一条数据 记录 数据库的高扩展性和高可用性 ############################################### 任何一个领域,如果不能通过自己的努力 去获取或者超出其他人的竞争

Windows Server 2012 R2里十个极好的新功能

Windows Server 2012 R2具备的众多新特点大大的增强了操作系统的功能性,同时也是在Windows Server 2012原有功能上的拓展.这里整理出Windows Server 2012 R2的10个会对你的日常工作有冲击力的新功能.其中一些新功能,尤其是在存储领域,微软为传统合作伙伴提供了新的开箱即用功能. 工作文件夹(Work Folders) Work Folders为企业服务器带来了Dropbox新功能,把它安装在Windows Server 2012 R2系统上,你就

Sql2008 r2 使用ftp 公布和订阅方式同步数据

Sql2008 r2使用公布和订阅方式同步数据 因为非常多图片 本篇没有图片 详情能够进入下载页  http://download.csdn.net/download/yefighter/7603741 1:公布服务器:公布方 sql2008 r2 iis7.5 windows server 2008 请登入服务器进行操作 不要用sqlserver远程连接 必须开启sqlserver agent服务以及开机自己主动启动 右键属性 打开sqlserver 点击新建本地公布 第一次公布的时候 会提示

多种方法备份Mysql数据库

前言:Mysql数据库的备份是重中之重,在生产过程中,数据库会因硬件故障,软件故障,黑客攻击,误操作等造成数据丢失,但经过精密的备份,完全能把数据恢复过来. 一,备份工具 这里介绍几种常用的备份方式 cp:物理备份工具, 适用于所有的存储引擎, 冷备.完全备份.部分备份 mysqldump:逻辑备份工具, 适用于所有的存储引擎, 支持温备.完全备份.部分备份.对于InnoDB存储引擎支持热备 xtrabackup:一款非常强大的InnoDB/XtraDB热备工具, 支持完全备份.增量备份, 二,

Linux下定时备份MySQL数据库的Shell脚本

Linux下定时备份MySQL数据库的Shell脚本 对任何一个已经上线的网站站点来说,数据备份都是必须的.无论版本更新还是服务器迁移,备份数据的重要性不言而喻.人工备份数据的方式不单耗费大量时间和精力,还灰常不专业的说.于是,有了下面这段脚本的出现.参考了网上的很多教程,外加自己的测试,以下脚本经测试可用.#!/bin/bash#Shell Command For Backup MySQL Database Everyday Automatically By Crontab#Author :

使用XtraBackup 备份MySQL数据库

本次测试使用XtraBackup备份MySQL数据库 版本:XtraBackup2.4.5+MySQL5.7.16 下载地址:https://www.percona.com/downloads/XtraBackup/ 1.安装XtraBackup 本次为了方便,使用解压版本进行安装,直接解压就可以用了. 使用过程中可能会遇到缺少perl依赖包的问题,我的方法是直接操作把镜像包里的perl都安装了,yum install -y perl* 2.简介 XtraBackup主要包括两个备份工具xtra