04 2013 档案

摘要:经常会有需求记录用户表中由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相关的.. 阅读全文
posted @ 2013-04-26 11:20 qanholas 阅读(1137) 评论(0) 推荐(0) 编辑
摘要:今天在将一个 SQL Server 2005 数据库附加到 SQL Server 2008 R2 时出现如下的错误:无法升级数据库 'SchoolPlatForm1',因为它是只读的,或者具有只读文件。请将数据库或文件设为可写,然后重新运行恢复操作。 (Microsoft SQL Server,错误: 3415)查看了数据库文件,他们并没有只读属性,在 SQL Server 2005 中附加都是一切正常的啊。从网上找了几种方式:1.将要附加的文件拷贝到 SQL Server 默认的 Data 目录,此时附加就会成功;(我用之种方式就可能正常附加数据.下面的几种方式没有尝试).( 阅读全文
posted @ 2013-04-26 09:25 qanholas 阅读(568) 评论(0) 推荐(0) 编辑
摘要:SQL2005系统服务启动不了,具体出错信息:TITLE: 连接到服务器------------------------------无法连接到 SHARESUN/SQL2005。------------------------------ADDITIONAL INFORMATION:在建立与服务器的连接时出错。在连接到 SQL Server 2005 时,在默认的设置下 SQL Server 不允许进行远程连接可能会导致此失败。 (provider: SQL 网络接口, error: 26 - 定位指定的服务器/实例时出错) (Microsoft SQL Server, Error: -1) 阅读全文
posted @ 2013-04-26 09:22 qanholas 阅读(16636) 评论(1) 推荐(0) 编辑
摘要:权限不要叠加 阅读全文
posted @ 2013-04-24 11:42 qanholas 阅读(556) 评论(0) 推荐(0) 编辑
摘要:在SQL Server 2005数据库中,通过新增的Service Broker可以实现异步触发器的处理功能。本文提供一种使用Service Broker实现的通用异步触发器方法。 在本这个方法中,通过Service Broker构造异步触发器处理架构,对于要使用这种架构的表,只需要创建相应的触发器及处理触发器中数据的存储过程,并且在异步触发器架构中登记触发器和处理的存储过程即可。如果一个触发器中的数据要被多个表使用,只需要在dbo.tb_async_trigger_subscribtion中登记相应处理数据的存储过程即可,即一个表的数据变更可以被多个表订阅(使用)。 架构的步骤如下: 1.. 阅读全文
posted @ 2013-04-23 08:49 qanholas 阅读(1502) 评论(0) 推荐(0) 编辑
摘要:最近由于工作需要,研究了一下2008 CDC功能,觉得还不错,下面整理了一下研究过程,虽然比较粗略,但是基本上能用了,如果有补充请大家回复,我视情况修改原帖,谢谢。背景:在SQLServer2008之前,对数据变更的捕获通常使用触发器、时间戳等低效高成本的功能来实现,所以很多系统都没有做数据变更或者仅仅对核心表做监控。自从SQLServer2008引入了数据变更捕获功能(后面简称为CDC)后,解决了很多烦恼问题,如客户2个月前更改了一个数据,但是由于服务器空间不足,经常只能保留一个月的备份。此时客户为了逃避因为更改数据带来的较大负面影响,往往会把责任推给软件开发商或者运维商,如果此时有变更捕获 阅读全文
posted @ 2013-04-18 15:47 qanholas 阅读(2035) 评论(0) 推荐(1) 编辑
摘要:/********运行Sql Server Profiler所需的权限(performance)*********/--EG.-- 使用TRACE帐户(Performancetest)跟踪Sql Server事件.-- 创建TRACE登陆帐户(Performancetest),并授予其 ALTER TRACE和VIEW SERVER STATE的权限.USE MasterCREATE LOGIN Performancetest WITH PASSWORD='abc@1234'; GO GRANT ALTER TRACE TO Performancetest; GRANT VIE 阅读全文
posted @ 2013-04-17 09:27 qanholas 阅读(705) 评论(0) 推荐(0) 编辑
摘要:操作步骤;1、检查tempdb的逻辑名字和它的存在位置。可以使用下面语句:SELECTname,physical_nameFROMsys.master_filesWHEREdatabase_id=DB_ID('tempdb');2、暂停数据库服务.3、拷贝原来tempdb的文件到新的位置(原来文件位置可以通过上述查询得到)。3、拷贝完毕后,启动数据库服务。4、执行如下命令:USEmaster;GOALTERDATABASEtempdbMODIFYFILE(NAME=tempdev,FILENAME='E:\tempdb\tempdb.mdf');GOALTERD 阅读全文
posted @ 2013-04-11 11:29 qanholas 阅读(234) 评论(0) 推荐(0) 编辑
摘要:企业级的数据库应用大多部署在RAID磁盘阵列的服务器上,这样能提高磁盘的访问性能,并能够实现容错/容灾。RAID(冗余磁盘阵列),简单理解,就是拿一些廉价的硬盘来做成阵列。其目的无非是为了扩展存储容量,提升读写性能,实现数据冗余(备份容灾)。就像很早就有老外拿N台旧PC,做成一个强大的“服务器集群”。RAID技术诞生于1987年,由美国加州大学伯克利分校提出。主流的大概可以分为几个级别:RAID 0,RAID 1,RAID 5,RAID 10 。配置起来也不是很复杂,有兴趣和条件的朋友可以找相关的资料,自己动手实践。SQL Server 2005常用的有几个级别0,1,5,10 下面我来简单说 阅读全文
posted @ 2013-04-03 15:24 qanholas 阅读(1295) 评论(2) 推荐(2) 编辑

点击右上角即可分享
微信分享提示