代码改变世界

附录 A:监控 SQL Server 的运行状况 (转载)

2014-03-10 15:48 by Sam Jin, 159 阅读, 0 推荐, 收藏,
摘要:转载原文:http://technet.microsoft.com/zh-cn/library/bb838723.aspxMicrosoft SQL Server 2005 提供了一些工具来监控数据库。方法之一是动态管理视图。动态管理视图 (DMV) 和动态管理函数 (DMF) 返回的服务器状态信息可用于监控服务器实例的运行状况、诊断问题和优化性能。常规服务器动态管理对象包括:dm_db_*:数据库和数据库对象dm_exec_*:执行用户代码和关联的连接dm_os_*:内存、锁定和时间安排dm_tran_*:事务和隔离dm_io_*:网络和磁盘的输入/输出此部分介绍为监控 SQL Server 阅读全文

sql command

2013-07-19 14:56 by Sam Jin, 416 阅读, 0 推荐, 收藏,
摘要:今天我们就在这里给大家简要介绍以下几个主要的参数:{ -U login_id [ -P password ] } | –E trusted connection }] 如果指定了-E就不需要指定用户名密码,当然指定了用户名密码就不用-E了;-S server_name [ \ instance_name ] 数据库服务器,如果不在本机的话必须指定;-d db_name 数据库名字,必须的;[ -i input_file ] [ -o output_file ] sql存在文件里的话用-i,输出到文件用-o;[ -q "cmdline query" ] [ -Q " 阅读全文

merge using (转)

2013-07-19 11:26 by Sam Jin, 480 阅读, 0 推荐, 收藏,
摘要:SQL Server 2008 T-SQL之Merge语法 Merge语法是对插入,更新,删除这三个操作的合并。根据与源表联接的结果,对目标表执行插入、更新或删除操作。例如,根据在另一个表中找到的差异在一个表中插入、更新或删除行,可以对两个表进行同步。我这里用一个简单的例子来解释一下USE tempdbGO--创建一个临时的订单表CREATE TABLE Orders(OrderID INT,CustomerID NCHAR(5))GO--往这个表中添加两行记录INSERT INTO Orders VALUES(1,N'AAAAA')INSERT INTO Orders VAL 阅读全文

T-SQL中APPLY应用事例解析(转载)

2013-05-02 10:03 by Sam Jin, 176 阅读, 0 推荐, 收藏,
摘要:一直都没研究过Apply的用法,最近浏览帖子,是不是会看到,顺便学习一下。 MSDN:使用 APPLY 运算符可以为实现查询操作的外部表表达式返回的每个行调用表值函数。表值函数作为右输入,外部表表达式作为左输入。通过对右输入求值来获得左输入每一行的计算结果,生成的行被组合起来作为最终输出。APPLY 运算符生成的列的列表是左输入中的列集,后跟右输入返回的列的列表。 没有接入过APPLY的,看到上面的话,肯定云里雾里。 其实通俗的说,就是APPLY后面是表Table,这个表Table是由表值函数动态生成的。所谓表值函数就是自定义一个函数,返回值是Table。函数的参数为左表(左输入或者APPLY 阅读全文

SQLServer通过DMV实现低影响的自动监控和历史场景追溯(转)

2013-04-05 18:23 by Sam Jin, 204 阅读, 0 推荐, 收藏,
摘要:一. 背景:我们管理和维护的数据库系统基本都是7*24小时运转的,运转时会出现什么情况谁都无法估计,往往一个平时运行很正常的系统,某天晚上突然就抽风了,而此刻并没有系统负责人在旁边,当值班同事的电话打到正在酣睡的DBA手机上时,DBA不得不朦朦胧胧的,条件反射要上数据库看看;要在家里连到公司的内外一般都需要DBA通知运维人员(也可能是个在做梦的哥们)先给自己开个VPN(某些管控严格的公司还需要DBA打车去公司才能处理),然后通过一大堆的验证才通过慢如蜗牛(往往也和此刻的心态有关)的网络,远程连接到了公司内网出问题的数据库上,此刻DBA才开始真正开始排查起问题来;如果说等待DBA登录到问题数据库 阅读全文

查看sqlserver被锁的表以及如何解锁

2013-04-05 17:29 by Sam Jin, 5975 阅读, 0 推荐, 收藏,
摘要:查看被锁表:select request_session_id spid,OBJECT_NAME(resource_associated_entity_id) tableName from sys.dm_tran_locks where resource_type='OBJECT'spid 锁表进程tableName 被锁表名解锁:declare @spid intSet @spid = 57 --锁表进程declare @sql varchar(1000)set @sql='kill '+cast(@spid as varchar)exec(@sql) 阅读全文

SQL Server 2008中SQL增强之一:Values新用途 (转)

2013-04-05 16:53 by Sam Jin, 228 阅读, 0 推荐, 收藏,
摘要:SQL Server 2008中新增功能:可以使用单个Insert命令插入多行。Create table Demo_Values(PKID int not null identity(1,1) primary key,DName Nvarchar(20) null,DCode NVarchar(30) null,DDate datetime null)go--this SQL is only for SQL Server 2008Insert into Demo_Values(DName,DCode,DDate)values('DemoA','AAA',GETD 阅读全文

SQL Server 2008如何压缩日志(log)文件? (转)

2013-04-05 16:46 by Sam Jin, 318 阅读, 1 推荐, 收藏,
摘要:在SQL Server 2000/2005中可以快速压缩日志log文件,通过SQL,方法一:Code highlighting produced by Actipro CodeHighlighter (freeware)http://www.CodeHighlighter.com/-->--BigData为数据库名DUMPTRANSACTIONBigDataWITHNO_LOGBACKUPLOGBigDataWITHNO_LOGDBCCSHRINKDATABASE(BigData)执行以上语句可以快速压缩日志文件到1M。但是以上语句中前两行在SQL Server 2008下无法执行 ,第 阅读全文

实战 SQL Server 2008 数据库误删除数据的恢复 (转)

2013-04-05 16:42 by Sam Jin, 288 阅读, 1 推荐, 收藏,
摘要:今天有个朋友很着急地打电话给我,他用delete语句误删除了SQL Server 2008数据库中两个表中的所有记录,而这个数据库之前没有任何备份。让我帮他解决一下,不然他要赔偿客户很多钱。SQL Server中误删除数据的恢复本来不是件难事,从事务日志恢复即可。但是,这个恢复需要有两个前提条件:1. 至少有一个误删除之前的数据库完全备份。2. 数据库的恢复模式(Recovery mode)是“完整(Full)”。针对这两个前提条件,会有三种情况:情况一、如果这两个前提条件都存在,通过SQL语句只需三步就能恢复(参考文章),无需借助第三方工具。 a) 备份当前数据库的事务日志:BACKUP . 阅读全文

C# 委托(Delegate) 事务(Event)应用详解(转)

2013-03-06 10:33 by Sam Jin, 947 阅读, 0 推荐, 收藏,
摘要:委托 和 事务在 .Net Framework中的应用很是广泛,然而,较好地懂得委托和事务对很多接触C#时候不长的人来说并不轻易。它们就像是一道槛儿,过了这个槛的人,感觉真是太轻易了,而没有畴昔的人每次见到委托和事务就感觉心里别(biè)得慌,混身不安闲。本文中,我将经由过程两个典范由浅入深地讲述什么是委托、为什么要应用委托、事务的由来、.Net Framework中的委托和事务、委托和事务对Observer设计模式的意义,对它们的中心代码也做了评论辩论。 将办法作为办法的参数 我们先不管这个题目如何的绕口,也不管委托毕竟是个什么器材,来看下面这两个最简单的办法,它们不过是在屏幕上输 阅读全文