首页 > 资讯列表 >  本页面生成EEC专题报道,EEC滚动新闻,EEC业界评论等相关报道!
  • 自动清理MSSQLServerTableCollation问题的解决方法

    自动清理MSSQLServerTableCollation问题的解决方法

    在一个团队项目中,没有约定好Collation,在MSSQLServer中编程就会遇到这样的问题:Cannotresolvethecollationconflictbetween"Latin1_General_CI_AS"and"SQL_Latin1_General_CP1_CI_AS"intheequaltooperation.因为编码问题,不同编码的字符串并不能直接进行比较,这种有两个解决方法,1是在query中指定用某一个collation进行比较,另外一个就是修改column的collationtype来避免这种错误。第二种方法,一个一个column改起来很累,写了个script,除了被当作constraints比如primarykey,foreignkey之外的varchar,char,nvarchar都可以统一修改成一个collation…完整sql代码:复制代码代码如下:declare@CollationNamevarchar(500);set@CollationName='SQL_Latin1_General_CP1_CI_AS'createtable#tmp(sqlS...

    数据库操作教程 2022-09-23 17:07:58
  • 一条select语句引起的瓶颈问题思考

    一条select语句引起的瓶颈问题思考

    情境还原:公司一项目新上线,刚上线的第2天,在后台发现数据库服务器与IIS服务器的网络IO出现瓶颈,1GB的网络带宽,占用了70%-100%,也就是每秒传输数据700MB-1GB,数据库使用内存高达21GB。IIS服务器CPU使用率时常爆至80%-90%,导致网站频频出现连接超时...

    数据库操作教程 2022-09-23 17:06:35
  • SQLServer误区30日谈第2天DBCCCHECKDB会导致阻塞

    SQLServer误区30日谈第2天DBCCCHECKDB会导致阻塞

    误区#2:DBCCCHECKDB会引起阻塞,因为这个命令默认会加锁这是错误的!   在SQLServer7.0以及之前的版本中,DBCCCHECKDB命令的本质是C语言实现的一个不断嵌套循环的代码并对表加表锁(循环嵌套算法时间复杂度是嵌套次数的N次方,作为程序员的你懂得),这种方式并不和谐,并且…..   在SQLServer2000时代,一个叫SteveLindell的哥们(现在仍然在SQLServerTeam)使用分析事务日志的方法来检查数据库的一致性的方式重写了DBCCCHECKDB命令。DBCCCHECKDB会阻止截断日志...

    数据库操作教程 2022-09-23 17:04:37
  • SQLServer误区30日谈第27天使用BACKUPWITHCHECKSUM可以替代DBCCCheckDB

    SQLServer误区30日谈第27天使用BACKUPWITHCHECKSUM可以替代DBCCCheckDB

    误区#27:使用BACKUP...WITHCHECKSUM可以替代DBCCCheckDB错误    乍一看,由于BACKUPWITHCHECKSUM会检测所有分配出去的页的校验和的值,这个误区貌似是这么回事,但实际上并不是这么回事,原因如下:    由SQLServer2000或是更早版本升上来的数据库pagechecksums必须开启,在开启后,并不是数据库中所有的页都会被叫上页校验和,当页损坏发生时,IO系统可不会区分损坏的页是有页校验和还是没有校验和的。所以使用BACKUP...WITHCHECKSUM就有可能导致一些损坏页不被发现,造成的后果……    除此之外,还有一个问题是完整备份的时间间隔相对比较长,假如说一个月,而相对于DBCCCheckDB的最佳实践是一个礼拜,这导致WITHCHECKSUM不能替代CHECKDB...

    数据库操作教程 2022-09-23 17:03:22
  • 关于SQL中CTE(公用表表达式)(CommonTableExpression)的总结

    关于SQL中CTE(公用表表达式)(CommonTableExpression)的总结

    一.WITHAS的含义WITHAS短语,也叫做子查询部分(subqueryfactoring),可以让你做很多事情,定义一个SQL片断,该SQL片断会被整个SQL语句所用到。有的时候,是为了让SQL语句的可读性更高些,也有可能是在UNIONALL的不同部分,作为提供数据的部分...

    数据库操作教程 2022-09-23 17:01:44
  • SQLServer误区30日谈第15天CheckPoint只会将已提交的事务写入磁盘

    SQLServer误区30日谈第15天CheckPoint只会将已提交的事务写入磁盘

    误区#15:CheckPoint只会将已提交的事务写入磁盘错误这个误区是由于太多人对日志和恢复系统缺少全面的了解而存在已久。CheckPoint会将自上次CheckPoint以来所有在内存中改变的页写回磁盘(译者注:也就是脏页),或是在上一个CheckPoint读入内存的脏页写入磁盘...

    数据库操作教程 2022-09-23 17:00:27
  • selectinto和insertintoselect两种表复制语句

    selectinto和insertintoselect两种表复制语句

    第一句:SELECT*INTO[ToTable]FROM[FromTable]第二句:INSERTINTO[ToTable]([fild_One],[fild_Two])SELECT[fild_One],8FROM[FromTable]以上两句都是将[FromTable]的数据插入到[ToTable],但两句又有区别的:第一句(SELECTINTOFROM)要求目标表[ToTable]不存在,因为在插入时会自动创建。第二句(INSERTINTOSELECTFROM)要求目标表[ToTable]存在,由于目标表已经存在,所以我们除了插入源表[FromTable]的字段外,还可以插入常量,如例中的:8...

    数据库操作教程 2022-09-23 16:55:15
  • executesql存储过程

    executesql存储过程

    复制代码代码如下:declare@ttvarchar(20)set@tt='monisubbouns'declare@intintdeclare@sqlnvarchar(500)set@sql='select@int=count(*)from'+@ttexecsp_executesql@sql,N'@intintoutput'...

    数据库操作教程 2022-09-23 16:54:51
  • sqlcast,convert,QUOTENAME,exec函数学习记录

    sqlcast,convert,QUOTENAME,exec函数学习记录

    语法使用CAST:CAST(expressionASdata_type)使用CONVERT:CONVERT(data_type[(length)],expression[,style])参数expression是任何有效的MicrosoftSQLServer"表达式。有关更多信息,请参见表达式...

    数据库操作教程 2022-09-23 16:54:49
  • DBCCCHECKIDENT重置数据库标识列从某一数值开始

    DBCCCHECKIDENT重置数据库标识列从某一数值开始

    DBCCCHECKIDENT(N'dbo.Orders',RESEED,0);DBCCCHECKIDENT语法DBCCCHECKIDENT(table_name[,{NORESEED|{RESEED[,new_reseed_value]}}])[WITHNO_INFOMSGS]参数table_name是要对其当前标识值进行检查的表名。指定的表必须包含标识列...

    数据库操作教程 2022-09-23 16:54:38
  • mssqlinsertinto和insertintoselect性能比较

    mssqlinsertinto和insertintoselect性能比较

    使用insertintotable(field,...)values(value,...),insertintotable(field,...)values(value,...)...的情况 使用insertintotable(field,...)select(value,...)unionallselect(value,...)unionallselect(value,...)...的情况我一次插入的数据是:1190条。用insertinto所用的时间在510毫秒上下徘徊,而用insertintoselect所用的时间在16毫秒上下徘徊...

    数据库操作教程 2022-09-23 16:52:19
  • 编写SQL需要注意的细节Checklist总结

    编写SQL需要注意的细节Checklist总结

    复制代码代码如下:/*--注意:准备数据(可略过,非常耗时)CREATETABLECHECK1_T1(IDINT,C1CHAR(8000))CREATETABLECHECK1_T2(IDINT,C1CHAR(8000))DECLARE@IINTSET@I=1WHILE@I<=10000BEGININSERTINTOCHECK1_T1SELECT@I,'C1'INSERTINTOCHECK1_T2SELECT10000+@I,'C1'SET@I=@I+1ENDCREATETABLECHECK2_T1(IDINT,C1CHAR(8000))DECLARE@IINTSET@I=1WHILE@I<=10000BEGININSERTINTOCHECK2_T1SELECT@I,'C1'SET@I=@I+1ENDINSERTINTOCHECK2_T1VALUES(10001,'C2')INSERTINTOCHECK2_T1VALUES(10002,'C1')CREATETABLECHECK3_T1(IDINT,C1CHAR(7000))CREATETABLECHECK3_T2(IDINT...

    数据库操作教程 2022-09-23 16:48:48

站长搜索

http://www.adminso.com

Copyright @ 2007~2024 All Rights Reserved.

Powered By 站长搜索

打开手机扫描上面的二维码打开手机版


使用手机软件扫描微信二维码

关注我们可获取更多热点资讯

站长搜索目录系统技术支持