
基础概念
zjcxc
这个作者很懒,什么都没留下…
展开
-
用SQL语句来建立跟踪的问题
/*-- 下面是我用SQL的事件探察器设置跟踪,并生成的SQL脚本 现在有几个问题: 1.这个跟踪不会产生数据,用: select * from ::fn_trace_getinfo(1) 可以看到状态是在运行,但 c:/test.trc 始终是空文件 2.在事件探察器中设置筛选时,ObjectType 的说明是对应 sysobjects 表的 type 列,该列是字符型,但我输入字符时原创 2004-07-21 13:16:00 · 4285 阅读 · 5 评论 -
处理SQL 2008/08 中的OUTPUT与CHECK约束冲突的问题
在SQL Server 2005中,新增的OUTPUT子句极大地提高了数据转移的方便性,不过很遗憾的是, OUTPUT子句的输出表不能包含启用状态的CHECK约束。这未免让人觉得很不爽。不过,在实际使用过程中,却发现了一个很奇怪的问题,某些具有启用状态的CHECK约束的表确实无法用于OUTPUT子句,而某些表却是可以的,经过对比,发现了这个很奇怪现象的原因,使得可以把有启用状态的原创 2009-04-22 05:06:00 · 10624 阅读 · 4 评论 -
初探 SQL Server 2008 中的更改跟踪与变更数据捕获
1 概述1.1 更改跟踪1.2 变更数据捕获1.3 比较更改跟踪和变更数据捕获2 使用2.1 更改跟踪2.2 变更数据捕获 1 概述“更改跟踪”和“变更数据捕获”捕获和记录用户表的DML更改(插入、更新和删除操作),为原创 2009-03-10 11:02:00 · 15389 阅读 · 5 评论 -
在 SQL Server 2005/2008 中,使用 Gmail 帐号配置数据库邮件功能
下面的脚本演示,在 SQL Server 2005/2008 中,使用 Gmail 帐号配置数据库邮件功能 -- =================================================-- 启用数据库邮件功能-- =================================================EXEC sys.sp_config原创 2008-12-13 14:12:00 · 8633 阅读 · 11 评论 -
令人郁闷的“事务中的变量赋值错误”
事务中的变量(包括表变量)的操作是不受事务控制的。但是反过来,事务中的变量操作失败,却会导致事务提交失败,这个有点让人郁闷。 下面的脚本演示这个问题。示例演示分拆以逗号分隔的 @ids 中的每个 id, 如果这个 id 是数字(int型),则做后面的处理;如果不是数字(赋值失败,进入CATCH块),则跳过这个id,处理下一个。整个处理在一个事务中进行。原创 2008-12-28 02:56:00 · 9346 阅读 · 2 评论 -
安装SQL Server 2008 及 VS 2008
SQL Server 2008 正式发布了,在中文系统下安装中文版时,始终有些问题,今天狠心把操作系统一齐重新装了,结合之前安装时碰到的问题的解决经验,这次总算是一次性安装成功。环境:64位环境(32位环境不一定有问题,英文Windows XP下安装英文版没有本文中提到的问题)Windows 2008 SQL Server 2008Visual Studio 2008 +原创 2008-08-31 11:09:00 · 20966 阅读 · 10 评论 -
SQL Server 2005 中实现通用的异步触发器架构
在SQL Server 2005中,通过新增的Service Broker可以实现异步触发器的处理功能。本文提供一种使用Service Broker实现的通用异步触发器方法。在本方法中,通过Service Broker构造异步触发器处理架构,对于要使用这种架构的表,只需要创建相应的触发器及处理触发器中数据的存储过程,并且在异步触发器架构中登记触发器和处理的存储过程即可。如果一个触发器中原创 2008-03-10 07:32:00 · 11467 阅读 · 17 评论 -
认识静态与动态游标
背景:静态(STATIC)游标创建将由该游标使用的数据的临时复本。对游标的所有请求都从tempdb 中的这一临时表中得到应答;因此,在对该游标进行提取操作时返回的数据中不反映对基表所做的修改,并且该游标不允许修改动态(DYNAMIC) 游标会反映在滚动游标时对结果集内的各行所做的所有数据更改。行的数据值、顺序和成员身份在每次提取时都会更改。动态游标不支持ABSOLUTE 提取选项。原创 2007-05-12 17:23:00 · 7309 阅读 · 4 评论 -
选择合适的游标类型
背景:定义游标的时候, 如果不指定STATIC 关键字的时候, 则默认定义的游标是动态(DYNAMIC) 的动态(DYNAMIC) 游标会反映在滚动游标时对结果集内的各行所做的所有数据更改。行的数据值、顺序和成员身份在每次提取时都会更改。动态游标不支持ABSOLUTE 提取选项。因为动态游标会消耗资源去检查基础表的更新, 所以对于复杂的查询, 且不需要反映基础表更新情况的游标处原创 2007-05-12 17:27:00 · 8620 阅读 · 4 评论 -
如何控制触发器递归
背景A表UPDATE后,取B表某列再次UPDATE A表,这样又触发了A表的 UPDATE 触发器,我的目的是只触发一次,是否设置 nested triggers 选项关闭递归触发器即可?分析首先,必须清楚触发器递归的定义,触发器有两种递归方式:1. 直接递归A表上的触发器更改(插入/删除/更新)A表数据,导致A表的触发器再次触发,这种状况称之为原创 2007-08-05 03:06:00 · 11355 阅读 · 4 评论 -
如何用T-SQL语句建立跟踪
一、 用脚本启动并设置跟踪的示例通过这个示例,你可以了解用脚本进行跟踪所涉及到的存储过程,要了解这些存储过程的具体语法和参数的含义,请查询联机帮助/****************************************************//* Created by: SQL Profiler原创 2006-08-02 21:40:00 · 7509 阅读 · 1 评论 -
企业管理器中设置权限时, 勾、叉和什么都不选,在权限控制上有什么区别?
问题描述:企业管理 -〉登陆 -〉名称 —〉属性—〉数据库访问 -〉public -〉属性 -〉权限设置对某张访问控制表其中 打勾号是什么意思? 打叉号又是什么意思? 什么都不打是什么意思? 答:勾: 明确的授予叉: 明确的拒绝不打: 由他所属的角色等决定他的权限 示例说明:用户A,原创 2006-07-03 16:26:00 · 6619 阅读 · 2 评论 -
估计表大小(三)--估计无聚集索引的表的大小
估计无聚集索引的表的大小下列步骤可用于估计存储没有聚集索引的表上的数据和任何附加的非聚集索引所需的空间。 计算存储数据所用的空间。 计算存储每个附加非聚集索引所用的空间。 汇总计算所得的值。 对于每个计算,都要指定将在表中出现的行数。表中的行数将对表的大小有直接影响:表中的行数 = Num_Rows计算存储数据所用的空间若要计转载 2006-06-25 19:59:00 · 3278 阅读 · 0 评论 -
估计表的大小(二)--估计带有聚集索引的表的大小
估计带有聚集索引的表的大小下列步骤可用于估计存储带有聚集索引的表上的数据和任何附加的非聚集索引所需的空间。 计算存储数据所用的空间。 计算存储聚集索引所用的空间。 计算存储每个附加非聚集索引所用的空间。 汇总计算所得的值。 对于每个计算,都要指定将在表中出现的行数。表中的行数将对表的大小有直接影响:表中的行数 = Num_转载 2006-06-25 19:55:00 · 3308 阅读 · 0 评论 -
估计表的大小(一)
估计表的大小下列步骤可用于估计存储表中的数据所需的空间量。 指定表中的行数: 表中的行数 = Num_Rows 如果在表的定义中有固定长度和可变长度列,请计算数据行中这两组列的每一组所占用的空间。列的大小取决于数据类型和长度说明。有关更多信息,请参见数据类型。 列数 = Num_Cols所有固定长度列中的字节总和 = Fixed_Dat转载 2006-06-25 19:54:00 · 3867 阅读 · 6 评论 -
如何使用跟踪标记 1204
如何使用跟踪标记 1204 -- =====================================================-- 如何使用跟踪标记 1204-- -- 邹建 2005.08(引用请保留此信息)-- =====================================================-- ===========================原创 2005-08-25 09:15:00 · 12871 阅读 · 4 评论 -
SQL SERVER 2000 中的标识值获取函数
SQL SERVER 2000 中的标识值获取函数 IDENTITY(标识)列,也有很多人称之为自增列,在SQL Server 2000中,标识列通过IDENTITY来定义,下面是与获取最后插入记录的标识值有关的函数的一个示例说明 SQL Server 中,可以使用 SCOPE_IDENTITY()、 @@IDENTITY 、 IDENT_CURRENT() 来取得最后插入记录的值值,它们原创 2005-07-28 16:45:00 · 5027 阅读 · 0 评论 -
SQL Server 基础概念集
1、如何理解SQL Server的实例 在项目实施过程中,不少用户会有这样的需求:要求开发一套基于SQL Server的新系统,这套系统验收通过后,要和一个原有的SQL Server系统合并,共用一个服务器,所以不能为新系统提供单独的服务器(资金上不允许为开发提供单独的服务器)。但是要保障新系统的开发而又不影响旧系统的正常运行,所以要求新系统使用单独的SQL Server服务。在S原创 2005-07-06 16:05:00 · 21991 阅读 · 22 评论 -
锁不住的查询
环境: SQL Server 2005 or 2008最近在处理一个锁的问题时,发现一个比较郁闷的事,使用X锁居然无法锁住查询,模拟这个问题,可以使用如下T-SQL脚本来建立测试环境。USE master;GO IF @@TRANCOUNT > 0 ROLLBACK TRAN;GO -- ================================原创 2009-07-27 10:27:00 · 15332 阅读 · 51 评论