zoukankan      html  css  js  c++  java
  • 『原创』在部署项目时通过脚本、注册表修改SQL Server 2005的相关属性

      很久没有发文了,感觉鄙人的园子好多灰尘啊,呵呵。实在是最近项目太紧,处于交付、实施的阶段,忙不过来,还望各位谅解哦!当然,在此还要说一个比较郁闷的事情,上上一篇提到了一个关于文件传输的文章,因为涉及到一些产权问题,所以,在此就不能继续下去了,还望各位见谅,见谅!实属无奈!

      废话不多说,在此片文章中,我将和大家分享一些关于项目部署的心得,当然,其中不免有一些不成熟之处,特别希望大家能够和我一起探讨!首先,这个项目是一个Winform程序,用一个MSSQL数据库做数据支持,自然,在部署时,要考虑到数据库的部署。

      从网络上查到了很多关于在打包程序时,如何部署SQL数据库的问题。可惜,由于这个项目是Winform的,每个客户端都需要一个SQL服务组建,至少要有个MS Sql Server Express的客户端吧。这个对于打包工具如Install shield、Setup Factory等都是小菜一碟,小弟用的是一个叫做 Advanced Installer的工具,也是非常之顺手啊,在设置数据库连接的时候,使用的是ODBC连接。 配置如下图:

      当然啦,这肯定难不倒我们,毕竟SQL Server Express在安装时已经安好了,剩下来的工作就是连接到数据库,执行sql脚本,去创建数据库了,问题就在这里,sql server 2005默认关闭了远程连接,所以,在执行sql脚本时,总是出现ODBC连接:超时的错误提示。这可急煞我也,所谓万事大吉,只欠东风啊!于是股沟败毒一番,查到了一个能用的方法,大致简述如下:

      在安装完Sql Server 2005 Express后,通过打包程序,修改注册表相关键值,打开SQL Server Express的远程连接属性,并通过注册表修改其重要属性,然后,通过脚本或者打包工具自带的功能,重新启动SQL Server服务,最后,让安装程序执行SQL脚本即可。

      通过小弟的“暴力”破解,发现,要使用服务器名为(local)的本地身份验证方式去连数据库的话,sql的远程连接应该把TCP那个启用,如下图,

    并且,设置“All IP”属性中的端口为1433,默认状态下它是空值。

    当然,手动设置完以后,还要重启SQL服务,ok,然后,我又发现,在注册表中,sql的这些属性在其中均有存储,下面,我们要做的事情就简单了。

      找到键值,然后修改它,通过命令停止服务,再启动服务,Ok,下面就是脚本内容:

    echo "Program is stopping your SQL Service……"
    @echo off
    net stop mssql$sqlexpress
    @echo on
    echo "Program is Registing your REG Items……"
    @echo off
    reg add "hklm\SOFTWARE\Microsoft\Microsoft SQL Server\MSSQL.1\MSSQLServer\SuperSocketNetLib\Tcp" /v Enabled /t reg_dword /d 1 /f
    reg add "hklm\SOFTWARE\Microsoft\Microsoft SQL Server\MSSQL.1\MSSQLServer\SuperSocketNetLib\Tcp\IPAll" /v TcpPort /t reg_sz /d 1433 /f
    @echo on
    echo "Program is starting your SQL Service……"
    @echo off
    net start mssql$sqlexpress
    @echo on
    echo "All Sets have been done successfully!"

    exit

      OK,保存为bat文件,执行一下,发现,在SSMS_Express中,用(local)登录正常了!大功告成,然后,在安装过程中,加入这个脚本的执行,万事搞定!Yeah!

    参考文章:BAT编写详细手册

    作者:Jack Fan初学博闻
    出处:http://longqi293.cnblogs.com
    本博文欢迎大家浏览和转载,但未经作者同意必须保留此段声明,且在文章页面明显位置给出原文连接,在『参考』的文章中,我会表明参考的文章来源,尊重他人版权。若您发现我侵犯了您的版权,请及时与我联系。

    知识共享许可协议
    本篇博文 by Jack Fan is licensed under a Creative Commons 署名-非商业性使用-相同方式共享 2.5 中国大陆 License.

    这是我的公众号,【代码只是副业】

  • 相关阅读:
    UI界面思想
    ARM汇编语言(3)(寄存器读写控制外设)
    ARM汇编(2)(指令)
    ARM汇编语言(1)(基本概念)
    QT软件初次使用中遇到的若干问题及思考
    webpack4打包html中img后src为“[object Module]”问题(已解决)
    gulp dev报错:ReferenceError:primordials is not defined(已解决)
    Ubuntu20.04安装yarn报错gpg: can't connect to the agent: IPC connect call failed(已解决)
    手摸手教程之ubuntu20.04更改国内镜像源(附其他版本ubuntu换源教程,最新详细教程)
    Alert提示框的vue组件编写
  • 原文地址:https://www.cnblogs.com/longqi293/p/1758038.html
Copyright © 2011-2022 走看看