sql server express版本不能启动代理服务的另类解决办法

时间:2021-01-14 17:45:16

真是“”活到老,学到老“”,最近又在用MS SQL做数据库开发了,因为我用的是笔记本仅能安装EXPRESS版本的MS SQL 2008 R2。有意思的是这个版本的代理服务根本就不能启动,想了各种办法。。。找了各种办法。。。

结论:重新安装或是升级的新的版本如:开发版或是企业版都可以(在其他的台式机上安装的,经测试OK,均能启动代理服务),可是我的笔记本只能是EXPRESS版本的能够安装成功,真是气死人不偿命啊。这里仅提出一个思路一个方法来解决问题,方法是多种多样的何必非要重装升级呢,当你不想或是无法做到的时候,可以换其他的方法也是不错的。而且,我认为并不比写个存储过程然后再见作业(job)复杂多少。。。

我想用这个代理服务执行作业(每月月底统计一些数据到一个表中)

如何解决问题:

1、找能够安装开发版或是企业版的电脑做数据库服务器,如台式机,高级电脑,塔式服务器等。

2、升级,老天保佑不要失败。

3、写程序或是批处理,在系统自带的计划任务中设置、执行所写的程序或是批处理文件。

方法1、2寻求的是从数据库本身解决问题,但本人就是比较懒了(讨厌重装系统尤其讨厌装MS SQL,害怕升级失败造成可怕后果),所以我选择了第3种方法。

具体的步骤:

1、在“企业管理器”中新建查询里写自己的sql语句如:insert into table2 select * from table1,select * into table2 from table1把自己要的数据保存到表中,然后保存这个新建查询,注意最好起英文名字例如mysql.sql。

2、在保存mysql.sql文件所在的目录中,新建一个txt文档,然后在里边编写osql/ocmd命令如:

osql -S"计算机名称\SQLEXPRESS"  -U"sa" -P"sa" -d"数据库名称" -i"%CD%/mysql.sql"

注释:-S:服务器名称也可以是IP地址

            -U:用户名

            -P:密码

            -D:数据库名称

            -I:要执行的文件地址及文件名

根据自己的情况编写完成后保存,并更名成mysql.bat

3、在计划任务中建立新的任务来执行mysql.bat。

回忆:以前也写过程序用计划任务来调用,但是总觉得bat来的更简单,好好看一看osql的参数不仅能执行sql文件还能调用存储过程呢!