将从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的启动方法有两种,应该还有第三种从控制台启动。
将从SQL2008 r2里备份的数据库还原到SQL2008中的更多相关文章
- SQL2008 R2 主从数据库同步设置
一.准备工作: 主数据库服务器: OS:Windows Server 2008 R2 DB: SQL Server 2008 R2 Hostname : CXMasterDB IP: 192.1 ...
- paip.sql2k,sql2005,sql2008,sql2008 r2,SQL2012以及EXPRESS版本的区别
paip.sql2k,sql2005,sql2008,sql2008 r2,SQL2012以及EXPRESS版本的区别 作者Attilax , EMAIL:1466519819@qq.com 来源 ...
- 利用百度云免费备份SQL数据库
我们开发了一个会员管理系统,随着使用的人越来越多,异地备份数据库就显得十分重要,万一硬盘出问题了怎么办呢.所以就着手做这个工作. 首先呢,找到了几个专门用来提供备份数据库的网站,一年好几百,好贵.放弃 ...
- 使用xtrabackup备份mysql数据库
数据在一个企业里非常重要,因此经常需要备份数据库,确保出线故障时,可以立刻恢复数据到最新状态,目前常见的备份工具有mysqldump和xtrabackup,数据量较少时可以使用mysqldump,但随 ...
- MariaDB之基于Percona Xtrabackup备份大数据库[完整备份与增量备份]
MariaDB之基于Percona Xtrabackup备份大数据库[完整备份与增量备份] 1.Xtrabackup的安装 percona-xtrabackup-2.2.3-4982.el6.x86_ ...
- mysql备份恢复数据库据/表
备份单个数据库,只备份表,如要恢复,必须先创建一个数据库[root@s]# mysqldump -u root -p dbname1 > dbname1.sql[root@s]# mysql - ...
- Windows Server 2012 R2里十个极好的新功能
Windows Server 2012 R2具备的众多新特点大大的增强了操作系统的功能性,同时也是在Windows Server 2012原有功能上的拓展.这里整理出Windows Server 20 ...
- 使用Navicat定时备份mysql数据库和创建报表并邮件自动发送
数据库备份在现代计算机高速发展的今日变得日益重要,程序员往往因为不重视而忽略备份数据,导致数据丢失,造成非常严重的后果.定时备份无疑是解决备份的最好的途径,本文主要使用Navicat来自动备份数据库和 ...
- Linux下定时备份MySQL数据库的Shell脚本
Linux下定时备份MySQL数据库的Shell脚本 对任何一个已经上线的网站站点来说,数据备份都是必须的.无论版本更新还是服务器迁移,备份数据的重要性不言而喻.人工备份数据的方式不单耗费大量时间 ...
随机推荐
- 20个jQuery分页插件和教程
1.客户端的jQuery 分页插件jPages jPages 是一个客户端的分页插件,但提供很多特性例如自动翻页.键盘和滚动浏览,延迟显示以及完全可定制的导航面板. Read More Demo 2. ...
- ElasticSearch基础之查询功能
[01]查询类型: [02]基本查询和组合查询是参与打分的 1.创建映射: 注意事项:基于上面映射的创建: "type": "keyword" # 如果某个字段 ...
- Java 类加载器的作用
深入探讨 Java 类加载器 成 富, 软件工程师, IBM 中国软件开发中心 成富任职于 IBM 中国软件开发中心,目前在 Lotus 部门从事 IBM Mashup Center 的开发工作.他毕 ...
- django继承修改 User表导致的问题 fields.E304(permissions/group都会有这样的错误)
问题: django继承修改 User表时,进行migrations操作时会导致的问题 fields.E304(permissions/group都会有这样的错误)如图: 根源: django文档中有 ...
- laravel定义全局变量并输出(实例)
在config目录创建一个 bl.php ,内容如下 <?php return [ 'IND' => "1321232", 'das' => "奥术大师 ...
- 51nod1086(多重背包&二進制)
題目鏈接:http://www.51nod.com/onlineJudge/questionCode.html#!problemId=1086 題意:中文題誒- 思路:很顯然這是一道多重背包題,不過這 ...
- bzoj 4032: [HEOI2015]最短不公共子串【dp+SAM】
第一.二问: 就是最小的最长公共长度+1,设f[i][j]为a匹配到i,b匹配到j,第一问的转移是f[i][j]=(a[i]==b[j]?f[i-1][j-1]+1:0),第二问的转移是f[i][j] ...
- PJzhang:尽快发现并下架那些侵犯公司权利的假冒APP
猫宁!!! 参考链接:https://www.freebuf.com/articles/paper/203358.html http://www.cac.gov.cn/2019-01/25/c_112 ...
- Java程序员需要突破的技术要点
一.源码分析 源码分析是一种临界知识,掌握了这种临界知识,能不变应万变,源码分析对于很多人来说很枯燥,生涩难懂. 源码阅读,我觉得最核心有三点:技术基础+强烈的求知欲+耐心. 我认为是阅读源码的最核心 ...
- bzoj3427:[POI2013]BAJ-Bytecomputer
传送门 很显然有一个结论:最大不过1,最小不过-1 然后dp,设\(f[i][j]\)为满足前\(i\)个不下降,当前放的是\(j-2\),转移就比较好想了 具体方程看代码吧,终于有一个自己会写的题了 ...