https://www.cnblogs.com/charlie-chen2016/p/8031774.html

这是一个备份数据库的服务,逻辑很简单,就是通过定时器实现在特定的时间执行SQL语句备份数据库,并将每一步操作的情况写入日志文件。

using System;
using System.Collections.Generic;
using System.ComponentModel;
using System.Data;
using System.Diagnostics;
using System.Linq;
using System.ServiceProcess;
using System.Text;
using System.Data.SqlClient; namespace DataBaseService
{
public partial class DataBakService : ServiceBase
{
public DataBakService()
{
InitializeComponent();
} //定时器
System.Timers.Timer tmBak = new System.Timers.Timer();
//服务器启动时写日志、开启定时器
protected override void OnStart(string[] args)
{
using (System.IO.StreamWriter sw = new System.IO.StreamWriter("D:\\log.txt", true))
{
sw.WriteLine(DateTime.Now.ToString("yyyy-MM-dd HH:mm:ss") + " DATABASENAME Service Start.");
} //到时间的时候执行事件 tmBak.Interval = ;//一分钟执行一次
tmBak.AutoReset = true;//执行一次 false,一直执行true
//是否执行System.Timers.Timer.Elapsed事件
tmBak.Enabled = true;
tmBak.Start();
tmBak.Elapsed += new System.Timers.ElapsedEventHandler(SQLBak); } private void SQLBak(object source, System.Timers.ElapsedEventArgs e)
{
//如果当前时间是10点30分
if (DateTime.Now.Hour == && DateTime.Now.Minute == )
{
string sql = string.Format(@"
BACKUP DATABASE DATABASENAME
TO DISK = N'E:\DBBak\DATABASENAME {0}{1}{2}.bak'--目录一定要存在
WITH INIT , NOUNLOAD ,
NAME = N'数据库备份', --名字随便取
NOSKIP ,
STATS = 10,
NOFORMAT", DateTime.Now.Year,DateTime.Now.Month,DateTime.Now.Day);
try
{
using (System.IO.StreamWriter sw = new System.IO.StreamWriter("D:\\log.txt", true))
{
sw.WriteLine(DateTime.Now.ToString("yyyy-MM-dd HH:mm:ss") + " 正在备份DATABASENAME 数据库......");
} SqlConnection conn = new SqlConnection("server=127.0.0.1;uid=sa;pwd=44545454;database=DATABASENAME ");
conn.Open();
SqlCommand cmd = new SqlCommand(sql, conn);
cmd.CommandTimeout = ;
cmd.ExecuteNonQuery();
conn.Close(); }
catch (Exception ex)
{
using (System.IO.StreamWriter sw = new System.IO.StreamWriter("D:\\log.txt", true))
{
sw.WriteLine(DateTime.Now.ToString("yyyy-MM-dd HH:mm:ss") + " 备份DATABASENAME 数据库出现异常:" + ex.Message);
return;
}
} using (System.IO.StreamWriter sw = new System.IO.StreamWriter("D:\\log.txt", true))
{
sw.WriteLine(DateTime.Now.ToString("yyyy-MM-dd HH:mm:ss") + " 备份DATABASENAME 数据库成功!");
} } } //服务停止时写日志
protected override void OnStop()
{
using (System.IO.StreamWriter sw = new System.IO.StreamWriter("D:\\log.txt", true))
{
sw.WriteLine(DateTime.Now.ToString("yyyy-MM-dd HH:mm:ss") + " DATABASENAME Service Stop.");
}
} }
}

服务命令:

安装:
%SystemRoot%\Microsoft.NET\Framework\v4.0.30319\installutil.exe WindowService所在目录\WindowService.exe
Net Start ServiceEFNETSYS
sc config ServiceEFNETSYS start= auto
卸载:
%SystemRoot%\Microsoft.NET\Framework\v4.0.30319\installutil.exe /u WindowService所在目录\WindowService.exe ---如果需要查看脚本运行状况,在脚本最后一行加入pause

新建txt文本,改成.bat文件

安装    InstallUtil.exe工具

打开cmd窗口分别执行 
cd C:\Windows\Microsoft.NET\Framework64\v4.0.30319\InstallUtil.exe window服务所在目录/windows服务.exe

sc命令 
打开cmd窗口执行 
sc create 服务名称 binPath=“windows服务项目的bin\Release下.exe文件地址” start=auto binPath=后面有个空格

卸载 InstallUtil.exe工具

cd C:\Windows\Microsoft.NET\Framework64\v4.0.30319\InstallUtil.exe -u window服务所在目录/windows服务.exe

sc命令   sc delete 服务名称

******************************************************************************

可以通过sc命令或者注册表删除服务名

命令行删除windows系统服务办法一:

用sc.exe这个Windows命令
开始——运行——cmd.exe,然后输入sc就可以看到了。使用办法很简单:
sc delete "服务名" (如果服务名中间有空格,就需要前后加引号)
如针对上面的: sc delete KSD2Service

注册表删除windows系统服务方法二:

直接进行注册表编辑(不推荐)
打开注册表编辑器,找到下面的键值:
HKEY_LOCAL_MACHINE\SYSTEM\CurrentControlSet\Services 一般服务会以相同的名字在这里显示一个主健,直接删除相关的键值便可。

PS:特殊情况

1、如果服务显示的是rundll32.exe,并且这个文件是位于system32目录下,那么就不能删除这个rundll32.exe文件,它是Windows系统的文件。这时只要清除相关的服务就可以了

2、如果一个服务删除了马上又自动建立了,说明后台有进程在监视、保护。需要先在进程管理器中杀掉相应的进程,或者启动后按F8,到安全模式下删除。

http://www.cnblogs.com/pingming/p/5108947.html   安装方法

http://www.cnblogs.com/pingming/p/5115320.html

C# 安装WindowService服务和相关的更多相关文章

  1. Windows下将nginx安装为服务运行

    今天看到nginx这个小服务器软件正式版更新到了1.4.2,想玩下它.这个服务器软件虽小,但功能强大,是开源软件,有着良好的性能,被很多个人.企业,甚至大型企业所使用! 由于是在Windows下,所以 ...

  2. 无法从命令行或调试器启动服务,必须首先安装Windows服务(使用installutil.exe),然后用ServerExplorer、Windows服务器管理工具或NET START命令启动它

    无法从命令行或调试器启动服务,必须首先安装Windows服务(使用installutil.exe),然后用ServerExplorer.Windows服务器管理工具或NET START命令启动它 1. ...

  3. CentOS 7 下安装 LEMP 服务(nginx、MariaDB/MySQL 和 php)

    原文 CentOS 7 下安装 LEMP 服务(nginx.MariaDB/MySQL 和 php) LEMP 组合包是一款日益流行的网站服务组合软件包,在许多生产环境中的核心网站服务上起着强有力的作 ...

  4. Mac linux 安装memcached服务 用法

    今天在Mac上安装memcached服务的时候 由于安装memcached之前需要安装libevent依赖包 所以使用brew install libevent 安装过程中报错 Warning: Yo ...

  5. 【CNMP系列】CentOS7.0下安装FTP服务

    一个小插曲,安装一个FTP服务,便于和远程服务器的文件沟通.后续我们会讲到如何使用Capistrano配合git完成服务器的代码部署以及发布流程.现在,代码先走FTP吧,挺稳. FTP简介 FTP 是 ...

  6. 【CNMP系列】CentOS7.0下安装Nginx服务

    话步前言,CNMP之路,系统起步:http://www.cnblogs.com/riverdubu/p/6425028.html 这回我来讲解下CentOS7.0下如何安装和配置Nginx服务 Ngi ...

  7. suse安装svn服务端和客户端的使用

    suse安装svn服务端 一. 安装服务端 配置网络安装源(suse11sp1为例) 新建11.1.repo11.1为软件源名称,可自定义文件并添加如下内容后保存 linux-e0xg:/etc/zy ...

  8. 如何通过写bat 安装Windows服务,本人亲测成功

    1. 安装的bat文件 @echo on color 2f mode con: cols=80 lines=25 @echo 请按任意键开始安装后台服务... pause cd /d %~dp0 Le ...

  9. mysql安装后服务启动不了(总结)

    mysql安装后服务启动不了 1.1 前言 最近真的是倒霉到家,装个mysql都能把所有的问题给问候了一遍······不过这也是一个宝贵的经验,得好好总结下,毕竟也不知道以后会不会再次遇到.如果有网友 ...

随机推荐

  1. 使用memcache 存储session

    session.save_handler = memcache //设置session的储存方式为memcache memcache.hash_strategy = "consistent& ...

  2. sqlite数据库文件查看

  3. 20165219 2017-2018-2《Java程序设计》课程总结

    20165219 2017-2018-2<Java程序设计>课程总结 一.每周作业链接汇总 20165219 我期望的师生关系 20165219学习基础与C语言基础调查 20165219 ...

  4. 接口测试简单介绍、及jmeter的简单使用

    1.接口测试简单介绍 接口测试其实就是功能测试,是从数据库查询到数据,返回查询结果 接口返回的数据都是json,json是一种通用的数据类型. 接口测试的优点:能在稍微偏底层的地方发现bug,越底层发 ...

  5. winform程序使用clickonce方式发布之后点击安装没反应

    可能是少了index.html和web.config两个文件,这两个文件为什么没有在发布的时候生成,还有怎么影响安装的后续研究

  6. 【转】C#日期时间格式化

    源地址:https://www.cnblogs.com/polk6/p/5465088.html

  7. 17、OpenCV Python 数字验证码识别

    __author__ = "WSX" import cv2 as cv import numpy as np from PIL import Image import pytess ...

  8. 【离散数学】SDUT OJ 指定长度路径数

    指定长度路径数 Time Limit: 1000 ms Memory Limit: 65536 KiB Submit Statistic Problem Description 题目给出一个有n个节点 ...

  9. python之函数(一)

    python有很多内置函数,可以直接调用.比如type(), len(), range(),max(), min(), filter().内置函数我们就先不多提,我们主要介绍自定义函数. 1. 函数的 ...

  10. ui-grid使用详解

    HTML <pre name="code" class="html"><!--ui-grid css--> <link rel=& ...