SqlServer2008R2部署到SqlServer2008备份还原库的坎坷之路

来源:互联网 发布:maczip解压软件下载 编辑:程序博客网 时间:2024/06/06 12:50

因一番周折,才部署好项目,故做一记录。

简单的说,就是把war包项目用tomcat部署到用户的服务器上。

第一步:安装了jdk1.6,按照百度配置环境变量,运行cmd,java -version没有问题,显示java1.6版本。

第二步:安装版tomcat安装时报错,提示no java virtual等,果断放弃,改用tomcat免安装版都没有问题。

第三步:用户有SQLServer服务器,但是没有这个项目的数据库,开始部署数据库。

坎坷之路开始...

(1)备份还原bak文件(失败:版本不一致不兼容)

我这边的数据库是SqlServer2008R2(之前没有注意过,后期就坑了),百度开始查找怎么备库,SQLServer Management Stutio选择数据库--右键--任务--备份,



操作后,到了上图,请注意这个红色部分,先不说这里,一会会提到为什么会特别注意这里,顺利备份后,生成了一个.bak文件,然后开始在用户的服务器上还原,操作为:SqlServer management stutio右键--任务--还原,选择刚才这个.bak文件后,提示错误信息,大概意思是,应该有两个簇集,我只提供了一个,百度后,找到原因,就是在上面图片的红色部分,因为我留了两条数据,我只生成了一个bak文件,正确的操作应该是应该把那个多余的(上图红色框内的数据)在备份的时候删掉,而后来我自己也发现,果然我提供的那一个bak文件大小只有一半大,比如应该是8M的bak,被分成了4M(被分成了两份)。接着说,在备份那里只保留一个bak文件后(上面那个图),后来就再次在用户的服务器上右键--任务--还原,可是,又报了个错,大概是说我的bak文件是10.50.XX版本的,服务器的是10.00.xx版本的,版本不一致不兼容,瞬间崩溃,接着百度。

(2)尝试导出导入脚本方式(用SqlServer management stutio生成的脚本太大700M在用户服务器上没有办法执行)

最后得到的答案是两种解决方案:1.把用户的SqlServer2008升级到和我一样的SqlServer2008R2;2.不用备份还原的方式,改用执行脚本方式。我选择了第二种。百度后,找到生成脚本的方式,SqlServer management stutio--任务--右键--生成脚本

        

选择了结构和脚本导出完成后(具体步骤百度有),生成了.sql文件,大概有700M,很大。

接着开始在用户的机器上打算执行脚本,可是在SQL Server Management Stutio上虽然有执行脚本的新建查询页面,但是我这个sql文件700M太大,怎么办,开始找各种可以导入脚本的地方,比如任务--导入数据,可是各种折腾,都没有找到导入sql文件的地方,放弃了。

(3)用户忘记SqlServer用户名密码及设置windows和SQL Server混合登录方式,为了工具连接用(百度查找如何更改sa用户的密码及怎样设置混合登录方式)

中间插个问题,不知道用户的SQLServer用户名和密码,崩溃,问了用户,也忘记了,后来百度


这里改掉了sa的密码,设置了六位数。然后为了配合下面步骤的两种混合模式登录,也就是windows模式和sql server方式,百度就有。

(4)工具连接SQLserver,导出导入脚本(工具为:Navicat Premium连接sqlserver报错08001,只能用计算机名称连接,IP连接不上)

导出脚本:

        接下来想到用工具连接sqlserver吧,选择了Navicat Premium(此工具可连接多种类型数据库,一直很好用)

sqlserver连接的时候,如果写端口号,也是用逗号(百度知道的)。下图是在导出数据库结构及数据。


生成一个sql文件。

导入脚本:

       下面就要又开始导入到服务器上了。

       在服务器上安装同样的这个工具,Navicat Premium,可是在新建连接的时候,输入IP或者端口怎么都连接不上,报08001错误,通信管道啊各种,百度一番,


,在输入IP无效后,但是在上面图的Select Server可以看到服务器的计算机名和IP Address,选择之后,竟然可以连接,注意,是用计算机名连接的。我正常导入脚本没有问题,因为已经连接上了,但是在war包里的项目数据库连接信息就没法写了,得写IP啊,可是IP还是连接不上,最后百度查SQLserver数据库只能用计算机名连接不能用IP地址解决方法,设置,用IP就可以连接上了,把war包的数据库地址改成服务器的IP,启动tomcat,可以访问。

        这个过程太坎坷了,之前对sqlserver一点也没有了解,总算是搭建起来了,辛苦辛苦。

0 0
原创粉丝点击