SQL Server 备份检查及监控

对数据库定期备份进行检查,并监控容量增长.可以用以下SQL查询并推送消息。

WebApi+SQLServer定时任务方案

工作中有很多定期执行、定时同步的需求,最适合的方案是SqlServer+Topshelf+Quartznet ,用SqlServer做任务池,用Quartznet做调度计划,用Topshelf将项目部署为系统服务后台运行。

但是整个项目比较庞大,一时半会做不出来。结合手工已经在用的组件,设计了WebApi+SQLServer 的方案。在WebApi里写工作任务,利用SQLServer的维护计划做调度,需要有安装IIS和SQL数据库。

1.首先是写一个可以http调用的api程序。以下程序调用路径是 /api.aspx?act=GO

当然也可以写一个规范的MVC api程序。

2. 在SQLServer维护计划里添加T-SQL语句任务,并设置按周期执行。

3. 以上SQL里用到的函数组件

P_Url_SendRequest  连接URL,支持POST\GET 支持返回值

MSSQL访问WebServer接口代码 – P_Url_SendRequest

parsejson JSON解析函数

MSSQL JSON函数-parseJSON

P_Send_TextMsg 企业微信消息推送执行结果

MSSQL调用企业微信发送消息接口封装-P_Send_TextMsg

 

 

SQL Server 防注入参数化之 Where in

程序中执行SQL时,可以使用参数化防注入,如:

但是where id形式不可以直接使用参数化:

将逗号分隔的字符串转换为参数table,再使用参数化调用,如:
 where in 字符串:
字符串转换参数(string类型)table函数如下:

 字符串转换参数(int类型)table函数如下:

SVN 自动化部署及强制注释

1.设置提交时必须填写说明

在项目仓库的钩子设置中,选择 pre-commit ,填入以下内容:

findstr "........" 匹配8个英文字符或4个中文字符。

可以使用正则表达式进行其他更复杂的检查。

2.按提交的注释内容,自动更新部署到服务器制定目录。

在post-commit钩子中填入以下内容:

注意:svn update %DIR% 正常运行需将有svn库权限的用户设置为SVN服务启动账户。

另外post-commit钩子中,参数%2是正式版本号,所以是 %SVNLOOK% log %REPOS% -r %REV%

pre-commit钩子中是临时版本号,%SVNLOOK% log %REPOS% -t %REV%

参数%1为提交的仓库路径(服务器路径)。

 

可以配合注释检查,避免忘记加标记,在 pre-commit 中,填入以下内容:

C# 如何优雅的求最大值最小值

两个值求最大最小:

三个值求最大最小:

多个值求最大最小: