自动通知服务器故障转移和SQL Server服务重启

2016-02-19 16:01 18 1 收藏

有了下面这个自动通知服务器故障转移和SQL Server服务重启教程,不懂自动通知服务器故障转移和SQL Server服务重启的也能装懂了,赶紧get起来装逼一下吧!

【 tulaoshi.com - 编程语言 】

  问题:目前,我们的群集微软SQL Server环境在所有节点中拥有的数据库超过200个。而虽然群集技术已经出现了一段时间,很多应用程序仍然不是群集感知的。一个“群集感知”应用程序是什么意思呢?简单来说,它意味着,该应用程序在一个群集实例的某个数据库故障转移之际,将尝试重新连接到该数据库并在数据库故障转移之前重新建立实例化的客户连接。我们的问题是,有了由外面公司提供和检测的一个单独的应用程序,就可以追踪我们的加热和冷却系统的性能来识别温度差异。该应用程序不是群集感知的,可能会在故障转移发生时失败。由于这个解决方法很重要,但又不是从早五点到晚九点都是关键的,因此我们只需要在故障转移时通知供应商。虽然我们可以在这个事件发生时聘请微软系统中心或者微软运营经理来警报,但是我不得不争取多个团队的资源来完成此计划。

  我使用的解决方法只是在群集SQL Server实例上创建一个工作,该实例将通过数据库邮件把一封邮件发送到供应商支持的邮件地址,以便在邮件中复制数据库管理员和分析员的访问记录。接着,当服务启动时,我将把关掉的时间表分配给该工作。通过这种方式,每次SQL代理服务启动时,一封邮件都将会被发送,以此来通知我们该服务的重新启动发生了。

  对于那些像你一样不熟悉微软SQL Server故障转移的人们来说,该服务与位于一个共享服务器量(SAN/NAS)的资源组有关。该资源组在任何给定的时间内都由一个单独的物理服务器所拥有,在群集术语中被当作一个节点来参考。如果一个节点经历一次关掉请求,那么该资源组的属主将从失败的节点转移到该群集中另一个可用的节点。这个过程涉及到SQL Server实例的循环,因此当该服务被重启时将触发SQL Server代理工作的执行。如果除了一个计划或者金基德故障转移过程发生或者其它原因而导致服务被重启时,它也将发生,但是在本例中这对于我们的需要也是适用的。

  下面的屏幕截图将引导你痛殴微软SSMS完成设置的过程。你可能选择通过T-SQL代码来执行,但是我发现如果你希望稍后在另外的SQL Server实例上运行这个过程,那么用SQL Server Management Studio GUI来完成工作创建过程最好,接着可以从脚本按钮中编写该工作。在这篇文章的结尾,我将列出要在你的环境中成功完成该过程的所要遵循的一些要求。现在,你们大多数都创建了一个SQL Server地理工作;本技巧的目的是展示如何解决一个群集环境中的SQL Server实例故障转移的远程通知,工作创建仅仅是对我来说最好的也是最易于执行的一个过程。在本技巧中不会有过分繁重的执行-我保证。

  SQL Server Management Studio过程

  从SQL Server Management Studio内部连接到你想要配置的群集实例,打开到SQL Server代理/工作,右键单击并从如下显示的可用弹出菜单中选择New Job...。

图一

  在工作名,属主,类别和描述参数中输入值。

图二

  打开到SQL代理工作向导的步骤页并创建一个新的步骤。像下面一样输入参数值(或者符合你的环境的值)。在这一步,你尤其需要输入命令参数的正确代码。我的建议是在从一个SQL Server工作内执行它之前,往往要测试一个SSMS查询的上下文环境内的命令文本。你需要为@profile_name,@recipients,@copy_recipients,@subject 和用于访问 工作命令中的dbo.sp_send_dbmail的@body in the job command输入正确的命令参数值(从你的环境) 。与SQL Server数据库邮件有关的信息和它相关的存储过程可以在2008 tip on MSSQLTips.com中找到。

图三

  着手于工作步骤的高级页并输入下面的值,根据你的需要代以合适的输出文件位置。这可能不是一个你经常使用的函数(默认情况是一个空值),但是我依赖于这个输出文件,因为它相比于通过SQL Server代理的默认记录过程所提供的显得更为详细。

(本文来源于图老师网站,更多请访问http://www.tulaoshi.com/bianchengyuyan/)

图四

  点击OK来保存。并关掉工作步骤表。这让你返回到SQL Server代理的主要工作创建表。打开到工作时间表的表单并输入与下面显示相同的值。这些值看起来似乎与时间表类型和总结、描述不一致,但是描述的值是只读的并且也不能修改。在这个案例中忽视这一点。这是最重要的屏幕截图。这是该过程打到当前目的的主要原因。在确保你的命令代码没有问题之后,确保该工作在服务秋冬之际关掉是关键的。

(本文来源于图老师网站,更多请访问http://www.tulaoshi.com/bianchengyuyan/)

图五

  一旦这张表单是完整的,请保存该工作创建和你应该完成的事情。我建议首先在一个开发或者测试群集中设置此功能并且测试故障转移,确定在你在生产中执行之前该工作行为是否和期望地一样运行。

  现在,在该过程进行之前,有一些先决条件需要满足。包括以下几点:

  l 使数据库邮件可用

  l 创建一个有效的数据库邮件配置文件

  l SQL Server必须被当作一个服务来正确配置和执行

  在SQL Server工作内的命令文本所引用的Emal账户必须是有效的。

来源:http://www.tulaoshi.com/n/20160219/1610897.html

延伸阅读
标签: SQLServer
前言 农业银行总行1998年以来正式推广了新版网络版综合业务统计信息系统,该系统是基于WindowsNT4.0平台,采用客户/服务器模式,以Microsoft SQL Server为基础建立起来的大型数据库应用程序,系统界面友好、操作简便,计算、分析、检索功能非常强大,为保证农业银行系统及时进行纵向和横向业务数据采集、按照不同要求生成统计报表,进行全...
引用Microsoft SQLDMO Object Library Private Sub Nsqlser_DropDown() If Nsqlser.ListCount > 0 Then Exit Sub Dim Server As SQLDMO.NameList '名字列表namelist Dim appDMO As New SQLDMO.Application 'sqldmo应用 Dim i As Integer Set Server = appDMO.ListAvailableSQLServers '得到所有的sql sever 列表 For i = 1 To Server.Count N...
标签: 服务器
服务器迁移服务器搬家教程   第一步:配置从属服务器,以下步骤(旧的服务器是192.168.1.105,新的192.168.1.200,例子) 1.这是新的服务器1.200的,添加子服务器的过程 到这里,从属服务器就搭起来了 。下面开始做转移,以转移192.168.1.0段为例。 2. 开始做转移任务。 在主服务器...
标签: Web开发
[ 2006/04/09 21:46 | by andyli ]  收集,好东西 /********************** * * author : Emerald * * homepage : http://gi.2288.org:88/ * * sitename : 绿色学院 - Green Institute * * date  : 2005-2-11&nb...
标签: 服务器
xen server 服务器安装简析   XenServer 是思杰公司(Citrix) 推出的一款服务器虚拟化系统,强调一下是服务器虚拟化系统而不是软件,与传统虚拟机类软件不同的是它无需底层原生操作系统的支持,也就是说 XenServer 本身就具备了操作系统的功能,是能直接安装在服务器上引导启动并运行的。 基于以上,我们知道如果公司有10多个应...

经验教程

537

收藏

50
微博分享 QQ分享 QQ空间 手机页面 收藏网站 回到头部