关于数据库的逻辑设计,是一个很广泛的问题。本文主要针对开发应用中遇到在MSSQLServer上进行表设计时,对表的主键设计应注意的问题以及相应的解决办法。主键设计现状和问题关于数据库表的主键设计,一般而言,是根据业务需求情况,以业务逻辑为基础,形成主键。比如,销售时要记录销售情况,一般需要两个表,一个是销售单的概要描述,记录诸如销售单号、总金额一类的情况,另外一个表记录每种商品的数量和金额。对于第一个表(主表),通常我们以单据号为主键;对于商品销售的明细表
系统 2019-08-12 01:53:42 2630
方法一、CREATETABLE[dbo].[Users](IdINTEGERIDENTITY(1,1)PRIMARYKEY,NameNVARCHAR(50)NOTNULL);GO//循环插值DECLARE@CounterINTEGERSET@Counter=1WHILE(@Counter<=100)BEGININSERTUsers(Name)VALUES('TestUsers#'+CAST(@CounterASVARCHAR(10)))SET@Counte
系统 2019-08-12 01:51:35 2630
今天在本地机直接在触发器里更新还有一台服务器数据时出现:MSDTC不可用解决的方法:在windows控制面版-->管理工具-->服务-->DistributedTransactionCoordinator-->属性-->启动1.A.不用事务,关用SELECT语句.能否够分布式查询?B.LINKSERVER在做分布式更新事务时不能对本机操作.(就是不能环回分布式事务)C.DBCCTRACEON(3604,7300)--用跟踪看更具体错误信息.D.下载MS提供
系统 2019-08-12 01:51:56 2628
使用JDBC连接SQLSERVER2008,很多人都在问,我自己也测试几次,发现按照以前的方法连接会出现一点小问题。原因在于,SQLSERVER2008采用了动态端口的机制,按照以前的方法连接会报告连接不了,其实端口写对了完全没有问题。连接方法如下:1,微软目前没有发布针对SQLServer2008专用的JDBC驱动程序,使用SQLServer2005的就可以了,但是,需要注意:SQLServer2008的新功能无法使用,这个必须等专用的JDBC发布之后才
系统 2019-08-12 01:53:04 2627
谨以本文记录本人成长历程,并分享给各位SQLServer数据库管理系统使用者。本系列包含个人认为一个DBA应该具有的各项素质,系列文章将以下面列表展示,将持续更新,敬请留意及指导,谢谢。下列文章具有一定的优先级,但是并不代表完全不可逆,根据工作需要,可能不会按照顺序来写,已写部分可以通过下面超链接点击:第一篇:DBA第一要务——备份还原本篇包含下面主题:备份基础完整备份差异备份日志备份其他类型备份还原基础完整恢复差异恢复日志恢复其他类型恢复优化备份还原灾难
系统 2019-08-12 01:52:35 2626
问题:有一个库,做的是全备份+日志备份,在2011年3月8日,14点产生一次全备份,在14:10分产生日志备份,在14:12分down机,请问怎么能恢复14:10到14:12分中的这段数据(前提,前期日志备份全部正确可用),机器硬盘完好。使用方法:1.如果数据库已经损坏如果数据库已经损坏,可以使用backuplog{数据库名}to{磁盘逻辑地址}withno_truncate备份数据库。因为可能存在对受损数据库备份日志尾部时,日志备份中正常捕获的部分元数据
系统 2019-08-12 01:32:21 2626
原文: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 2625
如转载,请注明出处:http://blog.csdn.net/robinson_0612/archive/2009/11/10/4794371.aspxSQLserver2005切换分区表在日常工作中经常需要用到分区表切换的问题,笔者在此列出几种常见的分区表切换的问题,供参考。一、分区表的切换无外乎以下三种形式:1.将一个分区中的数据切换成单个表。2.将表作为分区切换到已分区的表中。3.将分区从一个已分区表切换到另一个已分区表。二、切换分区表的主要手段:A
系统 2019-08-12 01:52:41 2625
存储过程:USE[RS]GO/******Object:StoredProcedure[dbo].[UP_Paging]ScriptDate:05/30/201317:43:23******/SETANSI_NULLSONGOSETQUOTED_IDENTIFIERONGOALTERPROCEDURE[dbo].[UP_Paging]@Tablesnvarchar(512),--表名,多张表是请使用tAainnerjointBbOna.AID=b.AID@
系统 2019-08-12 01:53:31 2624
Deadlockingoccurswhentwouserprocesseshavelocksonseparateobjectsandeachprocessistryingtoacquirealockontheobjectthattheotherprocesshas.Whenthishappens,SQLServeridentifiestheproblemandendsthedeadlockbyautomaticallychoosingoneprocessa
系统 2019-08-12 01:34:00 2624
TempDB在DW中变得非常重要,因为要进行大量的运算,如果内存不够数据就会放在TempDB中1.把TempDB移动到高性能的磁盘上。2.增加tempdb的大小3.把AutoShrink设置为FalseMSSQL:修改tempdb设置增加DW性能
系统 2019-08-12 01:33:28 2624
初学者阶段,建议从数据库为基础入手进行学习。下面介绍微软的SQLServer2005数据库的安装。首先,从下列地址获取SQLServer2005的安装程序。ed2k://|file|cs_sql_2005_ent_x64_dvd.iso|1019222016|10FD11133A3E70DAD665BEDC1090AD28|/开始安装1、选择许可2、检查兼容性3、输入默认系统姓名4、这里把下面的选项也选上5、这里选择混合模式,并输入sa登录账号的密码6、开
系统 2019-08-12 01:54:12 2622
参数化和即席查询,都是一个二难的选择。一旦选择参数化就有可能带来一种情况就是执行计划反复被利用。不会通过收集现有的统计信息,出一个比较优异的执行计划。即席查询也就是adhocquery,每次都需要重编译,花费比较大。这个是一个2难,需要平衡。对于这个问题sqlserver有简单参数化,强制参数化和2008才有的optimizeforadhocworkloads。optimizeforadhocworkloads的原理大概如此:当你第一次执行adhoc查询的
系统 2019-08-12 01:33:33 2622
MicrosoftSQLServer2005提供了一些工具来监控数据库。方法之一是动态管理视图。动态管理视图(DMV)和动态管理函数(DMF)返回的服务器状态信息可用于监控服务器实例的运行状况、诊断问题和优化性能。常规服务器动态管理对象包括:dm_db_*:数据库和数据库对象dm_exec_*:执行用户代码和关联的连接dm_os_*:内存、锁定和时间安排dm_tran_*:事务和隔离dm_io_*:网络和磁盘的输入/输出此部分介绍为监控SQLServer运
系统 2019-08-12 01:32:46 2622
原文:SQLServer2008R2性能计数器详细列表(五)SQLServer:SQLStatistics对象:监视编译和发送到SQLServer实例的请求类型SQLServerSQLStatistics计数器说明Auto-ParamAttempts/sec每秒的自动参数化尝试数。其总数应为失败的、安全的和不安全的自动参数化尝试之和。当SQLServer实例尝试通过将某些文字替换为参数来参数化Transact-SQL请求时,就会进行自动参数化,这样可以对多
系统 2019-08-12 01:51:36 2620