开发人员的噩梦——删除重复记录想必每一位开发人员都有过类似的经历,在对数据库进行查询或统计的时候不时地会碰到由于表中存在重复的记录而导致查询和统计结果不准确。解决该问题的办法就是将这些重复的记录删除,只保留其中的一条。在SQLServer中除了对拥有十几条记录的表进行人工删除外,实现删除重复记录一般都是写一段代码,用游标的方法一行一行检查,删除重复的记录。因为这种方法需要对整个表进行遍历,所以对于表中的记录数不是很大的时候还是可行的,如果一张表的数据达到上
系统 2019-08-29 23:13:51 2402
12008-8-74.8数据库的真面目l执行校验检查n在SQLSERVER2005中,DBCC被认为是数据库控制台命令(DatabaseConsoleCommand),在之前的版本中,DBCC被认为是数据库一致性检查器(DatabaseConsistencyChecker);nDBCCCHECKDB是验证数据库中的ServiceBroker数据唯一办法;nDBCCCHECKDB运行时使用的数据库快照技术只有当该被检查的数据库位于NTFS分区上才可以使用;n
系统 2019-08-29 23:12:05 2402
SETQUOTED_IDENTIFIERONGOSETANSI_NULLSONGOALTERprocstp_ExportTable@sqlstrnvarchar(4000),--查询语句,如果查询语句中使用了orderby,请加上top100percent,注意,如果导出表/视图,用上面的存储过程@orderstrnvarchar(255),--OrderbyField@pathnvarchar(1000),--文件存放目录@fnamenvarchar(2
系统 2019-08-29 22:22:50 2402
1、insertintostuInfo(name,stuId)values('李洁','19291727')insertintostuInfo(name,stuId)values('李康','19291728')insertintostuInfo(name,stuId)values('何洁','19291729')insertintostuInfo(name,stuId)values('何宇','19291730')go2、insertintostuInf
系统 2019-08-12 01:53:02 2402
编程管理SQLSERVER的帐号每个人都关心数据安全。如果不关心的话,可能没有意识到访问服务器中的敏感数据是非常容易的。因为SQLSERVER在这方面已经替我们考虑过了,所以在我们开发应用程序就可以直接使用SQLSERVER的安全策略。在SQLSERVER中,我们可以在ENTERPRISEMANAGER中创建一个登录帐号,并且赋予一定的权限,如果要做到我们的应用程序中呢?===========================================
系统 2019-08-12 01:51:28 2402
作为一个.NET开发者每次安装VisualStudio的时候我总是选择安装附带的SqlExpress数据库,这货比较小巧简单用来做开发最合适了,不过默认安装的SqlExpress没有管理客户端(即我们所说的ManagementStudio)也没有开启SA用户登录,这不是很方便,所以以前在安装完SqlExpress后我都是接着再安装一个SqlServerManagementStudioExpress作为管理器并先用集成认证方式登录进数据库再启用混合验证,以便
系统 2019-08-29 22:05:43 2401
原文DisplayDatabaseImageusingMSSQLServer2008ReportingServicesWiththenewreleaseofMSSQLServer2008ReportingServiceshasintroducedanewfeaturethatwillhelpreportdevelopers(BusinessIntelligenceBIprofessionals)todisplayimagesstoredindatabase
系统 2019-08-12 01:54:46 2401
1、数据库压缩日志GOALTERDATABASEwebsiteSETRECOVERYSIMPLE;--设置简单恢复模式GODBCCSHRINKFILE(website_Log,1);GOALTERDATABASEwebsiteSETRECOVERYFULL;--恢复为原模式GO2、重建所有索引execsp_msforeachtable'DBCCDBREINDEX(''?'')'重建索引DECLARE@namevarchar(100)DECLAREautho
系统 2019-08-12 01:54:32 2401
实例MD5加密“123456”:HashBytes('MD5','123456')结果:0xE10ADC3949BA59ABBE56E057F20F883E(提示:看完最后,结果要进行转换。)函数函数描述返回值HashBytesHashBytes('加密方式','待加密的值')加密方式=MD2|MD4|MD5|SHA|SHA1返回值类型:varbinary(maximum8000bytes)提示与注释123456的MD5有工具可知结果为:e10adc394
系统 2019-08-12 01:52:07 2401
在sqlserver中来计算一个字符串在另一个字符串中出现的次数,通常会去用循环来匹配,然后计算出出现的次数,这样的效能不是很高。现在讲一种比较简单的方法也能实现同样的功能,思路如下:1:设有字符串str1str2,现在要求str1在str2中出现的次数。2:将str1后面加上一个字符,如:str1+'_',设更改后的字符串為str3。3:在str2中如果有子串str1,将之替换成str3,替换后的字符串设為str4。4:str4与str2的长度之差即為s
系统 2019-08-12 01:51:30 2401
同样的命题在SQLServer2005中,微软发布了一个报表,可以直接查看,但是这个报表不能用于SQLServer2000。于是我就写了下面这几句话,可以返回同样的结果。createtabletmp(namevarchar(50),rowsint,reservedvarchar(50),datavarchar(50),index_sizevarchar(50),unusedvarchar(50))insertintotmp(name,rows,reserv
系统 2019-08-12 01:32:34 2401
今天发现rails连接sqlserver时在使用:limit和:offset的情况下会出现无效现象,最后查询sqlserver_adapter.rb发现sqlserver的适配器sql存在问题,解决办法:1、修改sqlserver_adapter.rb的方法add_limit_offset!,使其支持分页2、在进行Class.find(:all,:limit=>limit,ffset=>offset)查询是改为Class.find(:all,:limit=
系统 2019-08-29 22:41:00 2400
原文:SQLServer服务器磁盘测试之SQLIO篇数据库调优工作中,有一部分是需要排查IO问题的,例如IO的速度或者RAID级别无法响应高并发下的快速请求。最常见的就是查看磁盘每次读写的响应速度,通过性能计数器Avg.Disksec/Read(Write)我们可以很直观的看到他们。不同的业务,繁忙程度也不同,需要什么样的IO做支撑?难道都用最高配的IO去配置硬件吗?能否通过一些经验和基线来判断当下磁盘环境是否能满足需求呢?手上有4块InterSSDDCS
系统 2019-08-12 01:54:47 2400
SQLServer事务、异常和游标建议先阅读存储过程:SQLServer存储过程Ø事务在数据库中有时候需要把多个步骤的指令当作一个整体来运行,这个整体要么全部成功,要么全部失败,这就需要用到事务。1、事务的特点事务有若干条T-SQL指令组成,并且所有的指令昨晚一个整体提交给数据库系统,执行时,这组指令要么全部执行完成,要么全部取消。因此,事务是一个不可分割的逻辑单元。事务有4个属性:原子性(Atomicity)、一致性(Consistency)、隔离性(I
系统 2019-08-12 01:55:02 2399
-------------参考----------------------------假设我们有如下数据表------菜系表--------------店名菜系--------澳门豆捞川菜--澳门豆捞粤菜--澳门豆捞闽菜--为民大酒店鲁菜--为民大酒店粤菜--为民大酒店川菜------------------------------执行如下语句select店名,菜系=STUFF((select','+ltrim(菜系)from菜系表where店名=t.店名
系统 2019-08-12 01:53:50 2399