关于数据库的逻辑设计,是一个很广泛的问题。本文主要针对开发应用中遇到在MSSQLServer上进行表设计时,对表的主键设计应注意的问题以及相应的解决办法。主键设计现状和问题关于数据库表的主键设计,一般而言,是根据业务需求情况,以业务逻辑为基础,形成主键。比如,销售时要记录销售情况,一般需要两个表,一个是销售单的概要描述,记录诸如销售单号、总金额一类的情况,另外一个表记录每种商品的数量和金额。对于第一个表(主表),通常我们以单据号为主键;对于商品销售的明细表
系统 2019-08-12 01:53:42 2598
MSSQLServer数据库服务器可以说是应用范围最广的数据库产品,并且越来越多地在大型和比较关键的应用系统中提供服务。当企业应用越来越复杂、数据量越来越大的时候,SQLServer数据库要不停的进行处理、存储、查询的工作,这个时候企业就要考虑SQLServer数据库服务器的性能和速度及安全性了。然而,长期以来,SQLSERVER数据库服务器都只有“热备”的解决方案,而没有“负载均衡”和“集群”的解决方案。这种解决方案固然提升了系统的可靠性,但也存在一些问
系统 2019-08-29 22:44:36 2597
原文:SQLServer2008性能故障排查(一)——概论备注:本人花了大量下班时间翻译,绝无抄袭,允许转载,但请注明出处。由于篇幅长,无法一篇博文全部说完,同时也没那么快全部翻译完,所以按章节发布。由于本人水平有限,翻译结果肯定存在问题,为了不造成误导,在每篇结尾处都附上原文,供大家参考,也希望能指出我的问题,以便改进。谢谢。另外,本文写给稍微有经验的数据库开发人员或者DBA看,初学者可能会看不懂。在此请见谅作者:SunilAgarwal,BorisBa
系统 2019-08-12 01:54:52 2596
谨以本文记录本人成长历程,并分享给各位SQLServer数据库管理系统使用者。本系列包含个人认为一个DBA应该具有的各项素质,系列文章将以下面列表展示,将持续更新,敬请留意及指导,谢谢。下列文章具有一定的优先级,但是并不代表完全不可逆,根据工作需要,可能不会按照顺序来写,已写部分可以通过下面超链接点击:第一篇:DBA第一要务——备份还原本篇包含下面主题:备份基础完整备份差异备份日志备份其他类型备份还原基础完整恢复差异恢复日志恢复其他类型恢复优化备份还原灾难
系统 2019-08-12 01:52:35 2593
出处:http://www.cnblogs.com/fly_zj/archive/2010/07/07/1772818.html原文为DeterminingSETOptionsforaCurrentSessioninSQLServer问题?对于每个连接到SQLSERVER上的会话(Session),用户能够设置SET选项来影响查询的结果和SQLSERVER潜在的行为,有些选项能通过GUI来设置,有些需要通过SET命令来设置,使用GUI非常方便知道某个设置开
系统 2019-08-12 01:33:17 2593
原文:SQLServer2008R2性能计数器详细列表(五)SQLServer:SQLStatistics对象:监视编译和发送到SQLServer实例的请求类型SQLServerSQLStatistics计数器说明Auto-ParamAttempts/sec每秒的自动参数化尝试数。其总数应为失败的、安全的和不安全的自动参数化尝试之和。当SQLServer实例尝试通过将某些文字替换为参数来参数化Transact-SQL请求时,就会进行自动参数化,这样可以对多
系统 2019-08-12 01:51:36 2592
今天在本地机直接在触发器里更新还有一台服务器数据时出现:MSDTC不可用解决的方法:在windows控制面版-->管理工具-->服务-->DistributedTransactionCoordinator-->属性-->启动1.A.不用事务,关用SELECT语句.能否够分布式查询?B.LINKSERVER在做分布式更新事务时不能对本机操作.(就是不能环回分布式事务)C.DBCCTRACEON(3604,7300)--用跟踪看更具体错误信息.D.下载MS提供
系统 2019-08-12 01:51:56 2591
TempDB在DW中变得非常重要,因为要进行大量的运算,如果内存不够数据就会放在TempDB中1.把TempDB移动到高性能的磁盘上。2.增加tempdb的大小3.把AutoShrink设置为FalseMSSQL:修改tempdb设置增加DW性能
系统 2019-08-12 01:33:28 2591
MicrosoftSQLServer2005提供了一些工具来监控数据库。方法之一是动态管理视图。动态管理视图(DMV)和动态管理函数(DMF)返回的服务器状态信息可用于监控服务器实例的运行状况、诊断问题和优化性能。常规服务器动态管理对象包括:dm_db_*:数据库和数据库对象dm_exec_*:执行用户代码和关联的连接dm_os_*:内存、锁定和时间安排dm_tran_*:事务和隔离dm_io_*:网络和磁盘的输入/输出此部分介绍为监控SQLServer运
系统 2019-08-12 01:32:46 2591
触发器是一种特殊的存储过程,它不能被显式地调用,而是在往表中插入记录、更改记录或者删除记录时,当事件发生时,才被自动地激活。2、这样做带来的'功能':触发器可以用来对表实施复杂的完整性约束,保持数据的一致性,当触发器所保护的数据发生改变时,触发器会自动被激活,响应同时执行一定的操作(对其它相关表的操作),从而保证对数据的不完整性约束或不正确的修改。触发器可以查询其它表,同时也可以执行复杂的T-SQL语句。触发器和引发触发器执行的命令被当作一次事务处理,因此
系统 2019-08-12 01:52:14 2590
原文:删除sqlserver中重复的数据withlist_numbersas(selectName,AuthorOrTime,Url,Price,EstimatePrice,Size,Category,ROW_NUMBER()over(orderbyName,AuthorOrTime,Url,Price,EstimatePrice,Size,Category)as'rownumber'fromArts)deletelist_numberswhererown
系统 2019-08-12 01:33:02 2590
原文:SQLServer判断表中是否存在某字段功能:判断表中是否存在某字段,若不存在,则新增该字段语句:IFNOTEXIST(SELECT1FROM[DATABASE].SYS.SYSCOLUMNSWHEREID=OBJECT_ID([DATABASE].[SCHEMA].[TABLENAME])ANDNAME='COLUMN_NAME')ALTERTABLE[TABLENAME]ADD[COLUMN_NAME][COLUMN_TYPE]p.s.之前sql
系统 2019-08-12 01:53:25 2589
使用JDBC连接SQLSERVER2008,很多人都在问,我自己也测试几次,发现按照以前的方法连接会出现一点小问题。原因在于,SQLSERVER2008采用了动态端口的机制,按照以前的方法连接会报告连接不了,其实端口写对了完全没有问题。连接方法如下:1,微软目前没有发布针对SQLServer2008专用的JDBC驱动程序,使用SQLServer2005的就可以了,但是,需要注意:SQLServer2008的新功能无法使用,这个必须等专用的JDBC发布之后才
系统 2019-08-12 01:53:04 2589
参数化和即席查询,都是一个二难的选择。一旦选择参数化就有可能带来一种情况就是执行计划反复被利用。不会通过收集现有的统计信息,出一个比较优异的执行计划。即席查询也就是adhocquery,每次都需要重编译,花费比较大。这个是一个2难,需要平衡。对于这个问题sqlserver有简单参数化,强制参数化和2008才有的optimizeforadhocworkloads。optimizeforadhocworkloads的原理大概如此:当你第一次执行adhoc查询的
系统 2019-08-12 01:33:33 2587
问题:有一个库,做的是全备份+日志备份,在2011年3月8日,14点产生一次全备份,在14:10分产生日志备份,在14:12分down机,请问怎么能恢复14:10到14:12分中的这段数据(前提,前期日志备份全部正确可用),机器硬盘完好。使用方法:1.如果数据库已经损坏如果数据库已经损坏,可以使用backuplog{数据库名}to{磁盘逻辑地址}withno_truncate备份数据库。因为可能存在对受损数据库备份日志尾部时,日志备份中正常捕获的部分元数据
系统 2019-08-12 01:32:21 2587