安装sqlserver2008 restore数据 1433端口
最近有一个项目是优化客户原来的系统:
第一步是先建立开发环境,导入客户原来表中的数据,本来很easy的事,没想到却很很的郁闷了两天:
首先询问客户得知,客户安装的是sqlserver2008
1.找了一个sql2008,安装一切顺利,restore客户的数据,提示如下错误信息:
The database was backed up on a server running version 10.00.1600. That is incompatible with this server, which is running version 110.00.1075. Either restore the database on a server that supports the backup, or use a backup that is compatible with this server.
很显然版本不一致,不能导入数据。
2.从网上下载了一个sqlserver2008 express 小版本为10.00.1600.22,安装后,导入数据,提示数据库最大为4G,不能导入。
3.没办法,只能向客户要一个安装程序,发过来后,没想到是X64的,公司的机器全部是32位,晕!!!
4.接着从网上找,找到了一个Microsoft SQL Server 2008 Enterprise Evaluation: Trial Experience for IT Professionals, 查看小版本为10.00.1600.22,觉得应该可以,下来试试,安装完毕,restore数据OK,欣喜若狂,已经一天的时间了。(注:restore时要选中一个选 项:overide....记不清了,哈,否则会提示错误)
5.设置java datasource,
<jndi-name>jdbc/****</jndi-name>
<connection-url>jdbc:jtds:sqlserver://10.10.90.67:1433/at2</connection-url>
<driver-class>net.sourceforge.jtds.jdbc.Driver</driver-class>
<user-name>sa</user-name>
<password></password>
....................................
运行程序测试,
得不到connection,运行tletnet 10.10.90.67 1433 连接失败,确定1433端口没有打开,关闭防火墙,安装sql2008 sp1,用了各种方式,仍然找不开1433端口,最后实在没办法,ghost还原了XP系统,重新安装sqlserver2008,涛声依旧,这时我快彻底崩溃了.最后突然想到既然sqlservice启动没问题,它一定占用一个端口,于是在任务管理器里,查看进程。(注意:默认情况下,进程的PID是不显示的,你在菜单的查看->选择列里可以选上PID来 显示),找到sqlservice的PID,然后用命令 netstat -ano 看一下各个端口占用和进程PID,发现sqlservice监听的竟然是1412, 把jdbc:jtds:sqlserver://10.10.90.67:1433/at2 改为jdbc:jtds:sqlserver://10.10.90.67:1412/at2,启动程序测试OK,整整用了两天。
后来我又发现sqlserver200自带了一个工具可以查看/修改端口:
configuration tools/SQL Server Configuration Manager/
--->SQL server network configuration/protocols for SQL2008 -->enable TCP/IP 右键点properties
在IP Addresses tab中,有一项为TCP Dynamic Ports:显示的为当前端口,如果修改,必须重启sqlservice才能生效!!
(此处我也不是太确认:如果这样不行,可以删除TCP Dynamic Ports的值,把TCP Ports的值设成1443,但一定要把enable和active全设为yes)
如果还不能远程访问的话,则看一下防火墙(window firewall),把将SQLServr.exe (C:\Program Files\Microsoft SQL Server\MSSQL10.SQLEXPRESS\MSSQL\Binn\sqlservr.exe)添加到允许的列表中。
安装时字体选择:SQL_latin1_G_cp1_ci_as Latin1_g_ci_as