监控sql server 2008 R2群集状态

declare @OutputType varchar(20)
declare @debug char(1)
declare @ForceRefresh

char(1)
declare  @xp_cmdshell_available char(1)

set

@OutputType='LIST'
set  @Debug= 'Y'
set

 @ForceRefresh= 'Y'
set  @xp_cmdshell_available =

'Y'

begin
 set nocount on
declare @id int
declare @id2

int
declare @Line varchar(300)
declare @CurrentCmd varchar(30)
declare @Cmd

varchar(300)
declare @Node varchar(100)
declare @Resource varchar(100)
declare @Status varchar(20)
declare @i int
declare @Group varchar(100)
declare @Num varchar(10)
declare @ClusterID int
declare @tmp int
declare

@ThisGroupsCurrentNode varchar(100)
declare @DoneClusterName char(1)
declare

@RunningOnACluster char(1)
declare @Line2 varchar(300)
declare @SQLName

sysname
declare @WindowsMachineName sysname
declare @PreferredServer sysname
declare @SQL varchar(4100)
declare @FailCnt int
declare @PreferredServers

int
declare @z int
declare @CurrentSQLServerGroup sysname
declare

@CurrentSQLServer sysname
declare @QuorumResource varchar(300)
declare

@CreatedTempTables char(1)
declare @LoopGroup varchar(300)
declare

@PreferredServerExists char(1)
if @Debug = 'Y' print convert(varchar

(30),getdate(),109) + ': ' + object_name(@@procid) + ' started.'
select @DoneClusterName = 'N'

--验证@OutputType类型
if lower

(@OutputType) in ('q', 'quick', 's', 'summary',

'sum') select @OutputType = 'Quick'
else if lower(@OutputType) in

('l', 'list') select @OutputType = 'List'
else
begin
select @Cmd = 'Error in ' + object_name(@@procid) +
  ':

@OutputType parameter must be ''Quick'' or ''List'', not

''' +
  isnull(@OutputType,'<null>') +

'''.'
raiserror 50001 @Cmd
return
end

if UPPER

(@xp_cmdshell_available) in ('Y','')
SET @xp_cmdshell_available =

'Y'
else
SET @xp_cmdshell_available = 'N'
if @Debug =

'Y' print convert(varchar(30),getdate(),109) + ': Calling

Spot_CheckCluster...'
select @FailCnt = 0, @PreferredServers = 0

--检查

xp_cmdshell是否开启

--declare @LocalTable table(result int, ErrorCode int)
--

insert into @LocalTable
-- execute QS_SoSS58_CheckCmdShell
--if 1 <>

(select count(*) from @LocalTable where result = 1)

 if (0 = (select

value_in_use from sys.configurations where name = 'xp_cmdshell'))
set

@xp_cmdshell_available = 'N'

select @RunningOnACluster = case when

convert(int,serverproperty('IsClustered')) = 1 then 'Y' else 'N'

end
 set @SQLName = convert(sysname,serverproperty('ServerName'))

 set @WindowsMachineName = convert(sysname,serverproperty

('MachineName'))

if @Debug = 'Y' print convert(varchar

(30),getdate(),109) + ': 创建临时表...'
create table #w3
(id int

identity,
ParentID int null,
Type varchar(20) null,
Name sysname

null,
OtherData sysname null,
Status varchar(20) null,
Comment varchar

(255) null,
PreferredServerExists char(1),
RunningOnPreferredServer char(1)

null,
ControlsTheCurrentSQLServer char(1) null,
TakeOfflineCmd char(1)

null,
BringOnlineCmd char(1) null,
MoveGroupCmd char(1) null,

StopMSCSCmd char(1) null,
StartMSCSCmd char(1) null,
RunningOnServer sysname

null,
Sequencer smallint null
)

create table #w4 (id int identity

(1,1), group_name varchar(255) NULL)

create table #CmdOutput
(
id int

identity,
OutputLine varchar(255) null
)
create unique clustered index

#PK_CmdOutput on #CmdOutput(id)
select @CreatedTempTables = 'Y'

时间: 2024-08-20 20:45:08

监控sql server 2008 R2群集状态的相关文章

脚本监控sql server 2008 R2 replication性能

脚本在分发服务器上执行!我主要使用来监控复制情况.下面是个案例,仅供参考!根据实际情况修 改相关参数 /*说明:命令在主用用于监控replication性能:1.分发服务器上执行: 监控复制进程是否运行.发布服务器到分发服务器.分发到订阅服务器传递的命令数:2.分发服 务器到订阅服务器复制等待情况 */ -- ****************************************************************************************** ***

同时查询一张表-sql server 2008 r2 出现死锁问题

问题描述 sql server 2008 r2 出现死锁问题 程序每3秒钟查询一次,跑一会会出现这种死锁的问题,求助各位大神. 解决方案 SQL Server 2008 R2 安装问题SQL Server 2008 R2 死锁监控SQL Server 2008 R2 安装过程 解决方案二: 死锁频繁出现基本上是程序写的有问题. 建议:查看引起死锁的进程信息 引入事务管理 解决方案三: 插入数据和删除数据都是独占锁,如果要大数据查询可以加 with (nolock) 来取消独占锁.大量数据插入和删

SQL server 2008构建群集:环境部署

网络拓扑图 windows 2008 (1) 操作系统:Microsoft Windows Server 2008 R2 (64) SQL版本 :SQL server 2008 R2 64 位 角色: 故障转移群集节点  SQL server 故障转移群集安装 域名:test.com 主机名:PC1 IP: 172.16.0.1      (负责内网) IP: 10.0.0.1   (负责心跳网络) IP:192.168.88.21     (负责远程) 用户名:administrator 密码

SQL Server 2008 R2 新建用户并指定该用户的数据库

一.实验环境 操作系统:Windows Server 2008 数据库:SQL Server 2008 R2 二.具体步骤: 1.打开 SQL Server Management Studio,以 Windows身份认证方式登录,如下图: 2.在对象资源管理器下,右键 安全性 ==>登录名 ==>新建登录名: 3.打开 新建登录名 对话框后,常规 右侧输入相应的登录名.密码和默认数据库 4.用户映射选项卡下 5.状态选项卡下 输入完成后确认. 6.对象资源管理器 下,右键 实例名称,选择属性

SQL Server 2008 R2的发布订阅配置实践

    纸上得来终觉浅,绝知此事要躬行.搞技术尤其如此,看别人配置SQL SERVER的复制,发布-订阅.镜像.日志传送者方面的文章,感觉挺简单,好像轻轻松松的,但是当你自己去实践的时候,你会发现还真不是那么一回事,毕 竟环境不同.数据库版本或经验关系,你实践的时候会或多或少碰到一些问题,有可能人家是多次实践后,绕开了那些"坑",毕竟写文章是事后总结,人家台上一 分钟,台下十年功.闲话不扯了,进入正题,本文虽然简单,但是趁现在有时间,也记录一下前几天配置Replication的发布订阅

SQL Server 2008 R2 性能计数器详细列表(四)

原文:SQL Server 2008 R2 性能计数器详细列表(四) SQL Server Latches 对象: 监视称为闩锁的内部 SQL Server 资源锁.通过监视闩锁来确定用户活动和资源使用情况,将有助于查明性能瓶颈 SQL Server Latches 计数器 说明 Average Latch Wait Time (ms) 必须等待授予的闩锁请求的平均等待时间(毫秒). Latch Waits/sec 未能立即授予的闩锁请求数. Number of SuperLatches 目前是

SQL Server 2008 R2 性能计数器详细列表(一)

原文:SQL Server 2008 R2 性能计数器详细列表(一) SQL Server Backup Device 计数器: 可监视用于备份和还原操作的 Microsoft SQL Server 备份设备 SQL Server Backup Device 计数器 说明 Device Throughput Bytes/sec 一个备份设备在备份或还原数据库时所用的读写操作的吞吐量(以每秒字节数表示).这一计数器只有在备份或还原操作执行时才存在. SQL Server Access Method

SQL Server 2008 /SQL Server 2008 R2 配置数据库邮件

原文:SQL Server 2008 /SQL Server 2008 R2 配置数据库邮件 从2005开始,就引入了"数据库邮件"功能.并且取代SQLMail.原有SQLMail可以继续使用. SQLMail要求有应用程序编程接口(Extended Messaging Application Programming Interface,MAPI),安装新的Office时可能导致SQLMail失败. 数据库邮件更加安全.可靠,并且不需要MAPI.具有群集感知能力.可以自动重传发送失败的

SQL Server 2008 R2用户&amp;#39;sa&amp;#39;登录失败(错误18456)

SQL Server 2008 R2用户'sa'登录失败(错误18456),如下图: 解决办法: 1.首先用windows身份登录,有如下界面: 2.右键实例-->属性,选择[安全性],选择身份验证方式: 3.右键实例-->[重新启动] 4.选择[安全性]-->[登录名]-->[sa] 5.双击[sa],出现下面视图,点击[常规],设置新的密码 6.选择[状态],修改为如下设置 重新登录即可,如果还是提示标题的错误,可以在登录的时候不使用sql server记忆的密码,自己载输入一