创建Windows服务实现MSSql数据库备份

对于安装的SqlExpress的服务器或服务不够,无法创建Sql作业的服务器上使用

由于代码比较简单,就简化点说:

1、在VS下新建一个Windows服务项目。里面自动添加了一个名称为Service1的windows 服务。(直接创建Windows运用程序项目的可以在项目上右键添加Windows服务)

2、添加App.Config配置文件(根据自己需要)

strCon:Sql连接字符串       logPath:日志文件路径         dbPath:备份文件存放路径

3、添加System.Configuration引用

4、在Service1中添加代码:

备注:备份系统需要对数据库用户添加权限:grant backup database to 用户名

数据库操作类:

5、代码编写完成后Service1视图上右键,添加安装程序。系统会添加一个名为ProjectInstaller的安装程序。里面包含两个组件

serviceProjectInstaller1和serviceInstaller1

修改serviceProjectInstaller1的属性:Account为LocalSystem,该属性其他枚举值说明

   

   

LocalService

充当本地计算机上非特权用户的账户,该账户将匿名凭据提供给所有远程服务器

LocalSystem

具有高特权级别的账户

NetworkService

提供广泛的本地特权的账户,该账户将计算机的凭据提供给所有远程服务器

User

由网络上特定的用户定义的账户。如果为ServiceProcessInstaller.Account成员指定 User,则会使系统在安装服务时提示输入有效的用户名和密码,除非为Service ProcessInstaller实例的UsernamePassword这两个属性设置值

 

ServiceProcessInstaller控件属性及说明

 

   

   

Account

获取或设置运行该服务应用程序时所使用的账户类型

HelpText

已重写。获取为服务安装选项显示的帮助文本

Parent

获取或设置包含该安装程序所属的集合的安装程序

Password

获取或设置与运行服务应用程序时所使用用户账户关联的密码

Username

获取或设置运行服务应用程序时将使用的用户账户

 

选中ServiceInstaller控件,在“属性”窗口中,将其StartType属性设置为Manual

该属性其他枚举值说明:

 

 

 

   

Automatic

指示服务在系统启动时将由(或已由)操作系统启动。如果某个自动启动的服务依赖于某个手动启动的服务,则手动启动的服务也会在系统启动时自动启动

Disabled

指示禁用该服务,以便它无法由用户或应用程序启动

Manual

指示服务只由用户(使用“服务控制管理器”)或应用程序手动启动

 

ServiceInstaller控件属性

   

   

DisplayName

指示向用户标识服务的友好名称

HelpText

获取安装程序集合中所有安装程序的帮助文字

ServiceName

指示系统用于标识此服务的名称。此属性必须与要安装的服务的ServiceBase. ServiceName相同

ServicesDependedOn

指示为使该服务能够运行而必须正在运行的服务

StartType

指示启动此服务的方式和时间

Description

指示服务的说明

 

最后生成解决方案,到这里服务已经创建完毕。

接下来需要使用命令窗口进行安装:

可以使用Visual  Studio下的Visual Studio 2005命令提示工具,也可以使用Microsoft .NET Framework SDK v2.0下的SDK命令提示 工具

安装卸载命令:

installutil 服务物理路径.exe

installutil /u 服务物理路径.exe

好了。就是这么简单。需要的话,不妨试试!

注:有可能有的服务器没有上述两个命令工具,那一般的命令行工具能不能行呢,这个问题留着另外一篇说明。:)

评论 2
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值