❷ 怎样实时监控sqlserver数据库内记录的变化
创建表,存储每天的表空间占用情况
CREATE TABLE [dbo].[t_rpt_table_spaceinfo](
[table_name] [sysname] NOT NULL,
[record_date] [date] NOT NULL,
[record_time] [time](7) NOT NULL,
[rows_count] [bigint] NULL,
[reserved] [bigint] NULL,
[data_size] [bigint] NULL,
[index_size] [bigint] NULL,
[unused] [bigint] NULL,
CONSTRAINT [PK_t_rpt_table_spaceinfo] PRIMARY KEY CLUSTERED
(
[table_name] ASC,
[record_date] ASC,
[record_time] ASC
)
)
2. 新建作业
新建作业,作业计划每天凌晨运行一次,每天记录表占用的空间情况,存储到上一步建立的表中
作业中执行的T-SQL代码为:
SET NOCOUNT ON
/*创建临时表,存放用户表的空间及数据行数信息*/
CREATE TABLE #tablespaceinfo
(
nameinfo VARCHAR(500) ,
rowsinfo BIGINT ,
reserved VARCHAR(20) ,
datainfo VARCHAR(20) ,
index_size VARCHAR(20) ,
unused VARCHAR(20)
)
DECLARE @tablename VARCHAR(255);
/*使用游标,循环得到表空间使用情况*/
DECLARE Info_cursor CURSOR
❸ 如何监控sqlserver 镜像状态报警
SQLServer2005以上版本提供了一个数据库镜像监视器,不过打开它的方法比较特别。有了图形界面以后,SQLServer数据库镜像的维护难度跟成本大大降低了。
1.首先,打开SMS,在任意一个数据库上面点右键,任务,启动数据库镜像监视器。
2.点击注册镜像数据库,在服务器实例下拉菜单中选择镜像数据库的实例名,如果没有,可以直接点连接,然后在链接到服务器窗口中进行设置,如下图所示:
3.设置好后点确定就出现如下窗口所示了:
4. 点击警告选项卡,可以设置对警告的阈值进行设置,如下图所示:
5.在步骤3的窗口上点击历史记录,就可以查看SQLServer数据库镜像运行的历史记录了。如下图所示:
❹ 如何监控sqlserver 慢查询
如何监控sqlserver 慢查询
1,slow_query_log
这个参数设置为ON,可以捕获执行时间超过一定数值的SQL语句。
2,long_query_time
当SQL语句执行时间超过此数值时,就会被记录到日志中,建议设置为1或者更短。
3,slow_query_log_file
记录日志的文件名。
4,log_queries_not_using_indexes
这个参数设置为ON,可以捕获到所有未使用索引的SQL语句,尽管这个SQL语句有可能执行得挺快。
❺ 如何监视和查看sql server的性能
作为DBA,每个人都会用一系列计数器来监视SQLSERVER的运行环境,使用计数器,既可以衡量当前的数据库的性能,还可以和以前的性能进行对比。我们也可以一直以快速和简单的方法把计数器做了一张图表来识别数据库的性能的变化情况,来分析数据库性能的趋势。
❻ LoadRunner如何监控SQL数据库,数据库是SQL2005的.
一般需要监控以下指标:
1) SQLServer资源监控中指标缓存点击率(Cache Hit Ratio),该值越高越好。如果持续低于80%,应考虑增加内存。
2) 如果Full Scans/sec(全表扫描/秒)计数器显示的值比1或2高,则应分析你的查询以确定是否确实需要全表扫描,以及SQL查询是否可以被优化。
3) Number of Deadlocks/sec(死锁的数量/秒):死锁对应用程序的可伸缩性非常有害,并且会导致恶劣的用户体验。该计数器的值必须为0。
4) Lock Requests/sec(锁请求/秒),通过优化查询来减少读取次数,可以减少该计数器的值。
❼ 如何监控sqlserver 性能 死锁
具体步骤如下:
1.首先使用下面的命令,将有关的跟踪标志启用。
SQL codeDBCC TRACEON (3605,1204,1222,-1)
说明:
3605
将DBCC的结果输出到错误日志。
1204 返回参与死锁的锁的资源和类型,以及受影响的当前命令。
1222
返回参与死锁的锁的资源和类型,以及使用了不符合任何 XSD 架构的 XML 格式的受影响的当前命令(比1204更进一步,SQL
2005及以上可用)。
-1 以全局方式打开指定的跟踪标记。
以上跟踪标志作用域都是全局,即在SQL
Server运行过程中,会一直发挥作用,直到SQL Server重启。
如 果要确保SQL Server在重启后自动开启这些标志,可以在SQL
Server服务启动选项中,使用 /T 启动选项指定跟踪标志在启动期
间设置为开。(位于SQL Server配置管理器->SQL
Server服务->SQL Server->属性->高级->启动参数)
在运行上面的语句后,当SQL
Server中发生死锁时,已经可以在错误日志中看到了,但还不够直观(和其它信息混在一起)。(SSMS
-> SQL Server实例 ->
管理 -> SQL Server日志)
2.建表,存放死锁记录
SQL codeUSE [Cole] --Cole是我的示例数据库,你可以根据实际情况修改。 GO
CREATE TABLE DeadLockLog ( id int IDENTITY (1, 1) NOT NULL, LogDate DATETIME, ProcessInfo VARCHAR(10), ErrorText VARCHAR(MAX) )
GO
3.建立JOB
新建一个JOB(假设名称为DeadLockJob),在"步骤"中新建一步骤,随便写一个步骤名称,数据库为"Cole",在"命令"栏中输入以下语句:
SQL code--新建临时表 IF OBJECT_ID('tempdb.dbo.#ErrorLog') IS Not Null
DROP TABLE #ErrorLog
CREATE TABLE #ErrorLog (Id int IDENTITY (1, 1) NOT NULL, a DATETIME, b VARCHAR(10), c VARCHAR(MAX)) --将当前日志记录插入临时表
INSERT INTO #ErrorLog EXEC master.dbo.sp_readerrorlog --将死锁信息插入用户表
insert DeadLockLog
select a, b, c from #ErrorLog where id >= (select MAX(id) from #ErrorLog WHERE c Like '%Deadlock encountered%')
DROP TABLE #ErrorLog
4.新建警报
在"新建警报"窗体的"常规"选项卡中,进行以下设置:
名称:可根据实际自行命名,这里我用DeadLockAlert
类型:选择"SQL
Server性能条件警报"
对象:SQLServer:Locks
计数器:Number of
Deadlocks/sec
实例:_Total
计数器满足以下条件时触发警报:高于
值:0
在"响应"选项卡中,选中"执行作业",并选择步骤3中我们新建的作业(即DeadlockJob)
到这里为止,我们已经完成了全部步骤,以后,你就可以随时查询DeadLockLog表,来显示死锁信息了。
❽ 对sqlserver数据库监控一般监控哪些参数
你要闲着没事,系统的性能监控器里sql server的每个参数都可以看看啊,这要写可以写一本书了。
系统
内存: 可用字节数,page\sec
processor: processor time
physical disk:disk time
需要的话还有网络流量
至于sqlserver的监控,至少有
full scans/sec
cache hit ratio
transaction/sec
user connection
lock
number of dead lock/sec
query...
❾ 如何进行SqlServer 实时数据同步及监控
1、解决实时数据同步,请参阅:
Sql Server 2008 数据库实时同步复制
网页链接
2、监控,请参阅 :sql server profile怎么监控跟踪性能语句
网页链接
❿ sqlserver 如何可以实时监测数据变化
经常会有需求记录用户表中由DML操作(Insert/Updae/Delete)引起的数据变化,在SQL Server 2008 以前的版本中,要实现这样的功能只能通过Trigger或者数据比对(例如SCD处理),而且必须针对每个用户表开发。SQL Server 2008中新增了两种记录数据变化的功能,本文就Change Data Capture(CDC)和Change Tracking的特性做简要对比。
Change Data Capture
CDC通过对事务日志的异步读取,记录DML操作的发生时间、类型和实际影响的数据变化,然后将这些数据记录到启用CDC时自动创建的表中。通过cdc相关的存储过程,可以获取详细的数据变化情况。由于数据变化是异步读取的,因此对整体性能的影响不大,远小于通过Trigger实现的数据变化记录。
下图来自于SQL Server Books Online,说明了CDC可用于获取不同时间段内的变化。