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

这篇的主角是“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的启动方法有两种,应该还有第三种从控制台启动。

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

  1. SQL2008 R2 主从数据库同步设置

    一.准备工作: 主数据库服务器: OS:Windows Server 2008 R2    DB: SQL Server 2008 R2 Hostname : CXMasterDB IP: 192.1 ...

  2. paip.sql2k,sql2005,sql2008,sql2008 r2,SQL2012以及EXPRESS版本的区别

    paip.sql2k,sql2005,sql2008,sql2008 r2,SQL2012以及EXPRESS版本的区别 作者Attilax ,  EMAIL:1466519819@qq.com  来源 ...

  3. 利用百度云免费备份SQL数据库

    我们开发了一个会员管理系统,随着使用的人越来越多,异地备份数据库就显得十分重要,万一硬盘出问题了怎么办呢.所以就着手做这个工作. 首先呢,找到了几个专门用来提供备份数据库的网站,一年好几百,好贵.放弃 ...

  4. 使用xtrabackup备份mysql数据库

    数据在一个企业里非常重要,因此经常需要备份数据库,确保出线故障时,可以立刻恢复数据到最新状态,目前常见的备份工具有mysqldump和xtrabackup,数据量较少时可以使用mysqldump,但随 ...

  5. MariaDB之基于Percona Xtrabackup备份大数据库[完整备份与增量备份]

    MariaDB之基于Percona Xtrabackup备份大数据库[完整备份与增量备份] 1.Xtrabackup的安装 percona-xtrabackup-2.2.3-4982.el6.x86_ ...

  6. mysql备份恢复数据库据/表

    备份单个数据库,只备份表,如要恢复,必须先创建一个数据库[root@s]# mysqldump -u root -p dbname1 > dbname1.sql[root@s]# mysql - ...

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

    Windows Server 2012 R2具备的众多新特点大大的增强了操作系统的功能性,同时也是在Windows Server 2012原有功能上的拓展.这里整理出Windows Server 20 ...

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

    数据库备份在现代计算机高速发展的今日变得日益重要,程序员往往因为不重视而忽略备份数据,导致数据丢失,造成非常严重的后果.定时备份无疑是解决备份的最好的途径,本文主要使用Navicat来自动备份数据库和 ...

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

    Linux下定时备份MySQL数据库的Shell脚本   对任何一个已经上线的网站站点来说,数据备份都是必须的.无论版本更新还是服务器迁移,备份数据的重要性不言而喻.人工备份数据的方式不单耗费大量时间 ...

随机推荐

  1. atof,atoi,atol,strtod,strtol,strtoul

    字符串处理函数 atof 将字串转换成浮点型数 atoi 字符串转换成整型数 atol 函数名: atol 功 能: 把字符串转换成长整型数 用 法: long atol(const char *np ...

  2. 1.1- 1.2 hive入门

    一.hive是什么 由Facebook开源用于解决海量结构化日志的数据统计: Hive是基于Hadoop的一个数据仓库工具,可以将结构化的数据文件映射成一张表, 并提供类SQL查询功能: 构建在Had ...

  3. python--flask学习1

    1 windows/unix得安装 http://www.pythondoc.com/flask-mega-tutorial/helloworld.html http://www.pythondoc. ...

  4. PHP实用小程序(二)

    <HTML> <HEAD> <TITLE>经典循环例子</TITLE> </HEAD> <BODY> <? ; $coun ...

  5. lua面向对象实现(实例化对象、继承、多态、多继承、单例模式)

    lua面向对象实现: 一个类就像是一个创建对象的模具.有些面向对象语言提供了类的概念,在这些语言中每个对象都是某个特定类的实例.lua则没有类的概念,每个对象只能自定义行为和形态.不过,要在lua中模 ...

  6. sql #与$的区别

    #将传入的数据都当成一个字符串,会对自动传入的数据加一个双引号.如:order by #user_id#,如果传入的值是111,那么解析成sql时的值为order by “111”, 如果传入的值是i ...

  7. lightoj 1096【矩阵快速幂(作为以后的模板)】

    基础矩阵快速幂何必看题解 #include <bits/stdc++.h> using namespace std; /* 0 1 2 3 4 5 6 7 0 0 0 */ const i ...

  8. HDU3279【水】

    思路: 求数组里的第三大: #include <bits/stdc++.h> using namespace std; typedef long long LL; int a[15]; i ...

  9. caller和callee的解析与使用-型参与实参的访问

    caller:是一个函数引用(当前执行函数”被调用的地方”{即这个”被调用的地方”函数引用},如果这个”被调用的地方”是window,则返回[null]),是函数名的属性: var a = funct ...

  10. Visual Studio 调试卡顿的解决方法

    将不用的断点删除 关闭调试时打开的"IntelliXXX的窗口" 上面的第2条测试有效! https://social.msdn.microsoft.com/Forums/zh-C ...