On-Premise的SQL Server提供了维护计划来定期、定时的维护SQL Server。一般的做法是:定义SQL Server Agent Jobs,而后维护计划帮助我们定期、定时执行SQL Server Agent Jobs。遗憾的是,SQL Database并不提供维护计划以及SQL Server Agent功能。

然而,根据MSDN的说法,我们依然可以通过SQL Server提供的维护计划连接到SQL Database。(Microsoft Azure SQL Database does not support SQL Server Agent or jobs. You can, however, run SQL Server Agent on your on-premise SQL Server and connect to Microsoft Azure SQL Database. http://msdn.microsoft.com/library/azure/ee336245.aspx#sqlagent  )。具体做法如下:

通过SQL Server Agent可以调用sqlcmd命令,然后我们可以指定执行sqlcmd命令的服务器。这样,我们就可以配置一个SQL Server Agent Job去调用sqlcmd来维护SQL Database。

配置SQL Server Agent Job的方式如下 (SSMS 2012):

1. 新建一个SQL Server Agent Job:

2. 配置Job Steps:

3. 新建一个Job Step,Step类型选择Operating system (CmdExec):

4. 配置sqlcmd。在这个例子中,我试图通过sqlcmd去删除我的SQL Database中,HolTestDB数据库下,名为People表中,ID大于13的数据。那么这个命令为:

sqlcmd -U xxxxx -P xxxxxx -S xxxxx -d HolTestDB -Q "delete  from People where ID > 13"

请注意,上述例子中参数的意义如下:

-U : SQL Database的用户名

-P : 密码

-d: 数据库名称

-Q: sql语句

-S : 服务器DNS名称。您可以通过管理门户找到,如下图:

5. 测试sqlcmd是否有效 (注:这个步骤并不是必须的)。测试的目的,是为了验证我们配置的命令是否真的有效。然而,我并不想在测试的过程就把数据删掉,所以我将sqlcmd命令改成(delete换成select):

sqlcmd -U xxxxx -P xxxxxx -S xxxxx -d HolTestDB -Q "select * from People"

在命令行窗口,输入上面命令并得到下面的结果,说明该命令可以work:

6. 为Agent Job设置sqlcmd命令并保存:

7. 运行Agent Job:选中刚才创建的Job,点右键,选择Start Job at Step…

8. 运行成功:

9. 第5步的方式验证以下结果,发现ID大于13的成功被删除:

此外,我们也可以将您的SQL脚本放到.sql文件中,那么sqlcmd相应调整如下(之前的例子,通过-Q参数指定sql语句;下面的例子,通过-i参数执行sql脚本文件):

sqlcmd -U xxxx –P xxxx -S xxxxx -d HolTestDB -i "D:\MaintainSqlAzure.sql"

更多关于sqlcmd的用户,请参考:

sqlcmd 实用工具

How to: Connect to Azure SQL Database Using sqlcmd

利用本地SQL Server维护计划来维护SQL Database的更多相关文章

  1. Sql Server 维护计划 备份覆盖

            之前在设置服务器Sql Server 维护计划 备份的sql server 数据库,都是累加的,后来也没有仔细看过,后台回过头来考虑到服务器的存储空间,只好做sql server 数据 ...

  2. SQL server 维护计划中 “清除维护任务” 执行报错

    SQL server 维护计划中 “清除维护任务” 执行报错,错误如下: 执行查询“EXECUTE master.dbo.xp_delete_file 0,N'',N'',N'2019...”失败,错 ...

  3. SQL Server 维护计划实现数据库备份(策略实战)

    一.背景 之前写过一篇关于备份的文章:SQL Server 维护计划实现数据库备份,上面文章使用完整备份和差异备份基本上能解决数据库备份的问题,但是为了保障数据更加安全,我们需要再次完善我们的备份计划 ...

  4. sql server 维护计划与作业关系区别

    sql server 维护计划与作业关系区别 对于二者的区别,你可以把维护计划看作是针对数据库进行维护的作业模板.自定义作业具有更广泛的用途,当然,也具有更复杂的操作.所以,如果 仅仅是做个数据库优化 ...

  5. SQL Server 维护计划实现数据库备份(Step by Step)(转)

    SQL Server 维护计划实现数据库备份(Step by Step) 一.前言 SQL Server 备份和还原全攻略,里面包括了通过SSMS操作还原各种备份文件的图形指导,SQL Server  ...

  6. SQL Server 维护计划实现数据库备份(Step by Step)

    转自:http://www.cnblogs.com/gaizai/archive/2011/11/18/2254445.html 一.前言 SQL Server 备份和还原全攻略,里面包括了通过SSM ...

  7. 《转》SQL Server 2008 数据维护实务

    SQL Server 2008 数据维护实务 http://blog.csdn.net/os005/article/details/7739553 http://www.cnblogs.com/xun ...

  8. 第三篇——第二部分——第五文 配置SQL Server镜像——域环境SQL Server镜像日常维护

    本文接上面两篇搭建镜像的文章: 第三篇--第二部分--第三文 配置SQL Server镜像--域环境:http://blog.csdn.net/dba_huangzj/article/details/ ...

  9. 数据库备份-SQL Server 维护计划

    SQL Server 维护计划(数据库备份)   公司的项目都需要定期备份,程序备份关掉iis站点复制文件就可以了,难受的地方就是数据库的备份了.服务器上装的大都是英文版,一看见英文,操作都变得小心翼 ...

随机推荐

  1. jquery进阶(1)

    今天我们接着来学习jQuery中的内容,包括css的操作.尺寸的操作.文档的操作.动画(有待补充),事件处理操作. 一.CSS 在css中可以设置css的基本属性 - .css("color ...

  2. php编码转换相关

    iconv (PHP 4 >= 4.0.5, PHP 5, PHP 7) iconv — 字符串按要求的字符编码来转换 string iconv ( string $in_charset , s ...

  3. javaweb 工程 tomcat启动报错的问你

    2015-03-03 14:39:32,657 INFO (org.springframework.web.context.ContextLoader:296) - Root WebApplicati ...

  4. centOS7虚拟机连接大网

    1.启动vm服务 如果遇到无法启动时,需要还原vm默认配置解决 2.更改vm设置为NAT模式 3.centOS开启DHCP

  5. [转]C#中StreamReader读取中文出现乱码

    摘自:C#中StreamReader读取中文出现乱码 原因是自Windows 2000之后的操作系统在文件处理时默认编码采用Unicode所以.NET文件的默认编码也是Unicode.除非另外指定,S ...

  6. hihoCoder hiho一下 第一周 #1032 : 最长回文子串 (Manacher)

    题意:给一个字符串,求最长回文子串的长度. 思路: (1)暴力穷举.O(n^3) -----绝对不行. 穷举所有可能的出现子串O(n^2),再判断是否回文O(n).就是O(n*n*n)了. (2)记录 ...

  7. 在vue-cli中引入图片不能正常显示

    我们用vue-cli构建项目的时候,图片的地址是后台的,可是在template中item.img放到src中是不能正常显示的为什么? 原因是:url-loader无法解析js动态生成的路径. 解决: ...

  8. 几个重要的开源视频会议SIP协议栈

    视频会议系统由于需要与不同的终端进行连接,因此我们需要视频会议终端遵循统一的协议,H.323协议是视频会议软件使用最广泛的协议栈,但H.323设计得较为复杂,用户在调用H.323协议过程较多,因此利用 ...

  9. 【洛谷4424】[HNOI/AHOI2018] 寻宝游戏(位运算思维题)

    点此看题面 大致题意: 给你\(n\)个\(m\)位二进制数.每组询问给你一个\(m\)位二进制数,要求你从\(0\)开始,依次对于这\(n\)个数进行\(and\)或\(or\)操作,问有多少种方案 ...

  10. 2018.6.19 Java核心API与高级编程实践复习总结

    Java 核心编程API与高级编程实践 第一章 异常 1.1 异常概述 在程序运行中,经常会出现一些意外情况,这些意外会导致程序出错或者崩溃而影响程序的正常执行,在java语言中,将这些程序意外称为异 ...