-
sql中varchar和nvarchar的区别与使用方法
问:sql server中的varchar和Nvarchar有什么区别啊,varchar好像是一个英文和一个汉字都站两个字节,而Nvarchar则是一个英文占一个字节,汉字占两个字节。可是这个对asp程序有什么影响?答:varchar(n)长度为 n 个字节的可变长度且非 Unicode 的字符数据...
数据库操作教程 2022-09-23 20:17:50 -
sqlserver数据库危险扩展删除和恢复代码
曾经遇过,差点抓狂,有装MSSQL的朋友,赶紧试一下,删除以下的组件.当然,前提是你要把自己的数据库搞定后再去删除,否则组件删除后很多功能不能用,为了安全,就得牺牲某些功能,当然,像我这类的,我除了把MSSQL导入后,基本上一年用不到两次,所以,我是会毫不犹豫地删除,嘿...
数据库操作教程 2022-09-23 20:17:48 -
SQL重复记录问题的处理方法小结
1、查找重复记录①如果只是不想在查询结果中存在重复记录,可以加Distinctselectdistinct*fromTestTable②如果是想查询重复的记录及其数量selectUserID,UserName,count(*)as'记录数'fromTestTableGroupbyUserID,UserNamehavingcount(*)>1③ID不重复,但是字段重复的记录只显示一条select*fromTestTablewhereUserIDin(selectmax(UserID)asUserIDfromTestTablegroupbyUserName,Sex,Place)2、删除重复记录①一种思路是利用临时表,把查询到的无重复记录填充到临时表,再把临时表的记录填充回原始表selectdistinct*into#TempfromTestTabledroptableTestTableselect*intoTestTablefrom#Tempdroptable#Temp②删除ID不重复,但是字段重复的记录(就是按字段查询出相同字段记录中最大的ID,然后保留此记录,删除其他记录).(g...
数据库操作教程 2022-09-23 20:17:42 -
sql版本详解让你认识跟sql2000的区别
SQL2005Express没了「企业管理器」和「查询分析器」 SQL2005分五个版本,如下所列: 1.Enterprise(企业版) 2.Development(开发版) 3.Workgroup,(工作群版) 4.Standard,(标准版) 5.Express.(嗯,姑且就叫它简易版吧) 这几个版本,我们究竟应该使用哪一版呢?这是许多初学SQL2005的人最常问的问题。 简单的比较一下Enterprise,Development和Express等三个版本:以功能言,Enterprise版和Development版的功能一模一样...
数据库操作教程 2022-09-23 20:17:38 -
SQLServer2005按照日期自动备份的方法
SqlServer自动作业备份1、打开SQLServerManagementStudio2、启动SQLServer代理3、点击作业->新建作业4、"常规"中输入作业的名称5、新建步骤,类型选T-SQL,在下面的命令中输入下面语句复制代码代码如下:DECLARE@strPathNVARCHAR(200)set@strPath=convert(NVARCHAR(19),getdate(),120)set@strPath=REPLACE(@strPath,':','.')set@strPath='D:bak'+'databasename'+@strPath+'.bak'BACKUPDATABASE[databasename]TODISK=@strPathWITHNOINIT,NOUNLOAD,NOSKIP,STATS=10,NOFORMAT(D:bak改为自己的备份路径,databasename修改为想备份的数据库的名称)6、添加计划,设置频率,时间等。确定,完成...
数据库操作教程 2022-09-23 20:17:23 -
SQLServer优化SQL语句in和notin的替代方案
但是用IN的SQL性能总是比较低的,从SQL执行的步骤来分析用IN的SQL与不用IN的SQL有以下区别:SQL试图将其转换成多个表的连接,如果转换不成功则先执行IN里面的子查询,再查询外层的表记录,如果转换成功则直接采用多个表的连接方式查询。由此可见用IN的SQL至少多了一个转换的过程...
数据库操作教程 2022-09-23 20:16:38 -
在SQLServer上查看SQL语句的执行时间的方法
1:下面这种是比较简单的查询方法,通过查询前的时间和查询后的时间差来计算的复制代码代码如下:declare@begin_datedatetimedeclare@end_datedatetimeselect@begin_date=getdate()<这里写上你的语句...>select@end_date=getdate()selectdatediff(ms,@begin_date,@end_date)as'用时/毫秒'2:下面这种方法比较全面,将执行每个语句时采取的步骤作为行集返回,通过层次结构树的形式展示出来复制代码代码如下:setstatisticsprofileonsetstatisticsioonsetstatisticstimeongo<这里写上你的语句...>gosetstatisticsprofileoffsetstatisticsiooffsetstatisticstimeoff有时候我们需要知道一段SQL语句执行的时间有多长。下面是其中一种办法...
数据库操作教程 2022-09-23 20:16:20 -
SQLserver实现分组统计查询(按月、小时分组)
设置AccessCount字段可以根据需求在特定的时间范围内如果是相同IP访问就在AccessCount上累加。复制代码代码如下:CreatetableCounter(CounterIDintidentity(1,1)notnull,IPvarchar(20),AccessDateTimedatetime,AccessCountint)该表在这儿只是演示使用,所以只提供了最基本的字段现在往表中插入几条记录insertintoCounterselect'127.0.0.1',getdate(),1unionallselect'127.0.0.2',getdate(),1unionallselect'127.0.0.3',getdate(),11根据年来查询,以月为时间单位通常情况下一个简单的分组就能搞定复制代码代码如下:selectconvert(varchar(7),AccessDateTime,120)asDate,sum(AccessCount)as[Count]fromCountergroupbyconvert(varchar(7),AccessDateTime,120)像这样分...
数据库操作教程 2022-09-23 20:16:18 -
sqlserver不存在sqlserver拒绝访问第1/3页
最近做一个项目(Asp.net+Sql Server 2000),在原来开发的机器上运行没有任何问题.但当我在另外一台机器上调试程序(本机调试)的时候,总出现“SQL Server不存在或访问被拒绝”。相信在任何一个搜索网站输入这样的检索词,一定会获得n多的页面...
数据库操作教程 2022-09-23 20:16:14 -
mssql@@ERROR使用
mssql错误日志文件存放位置:C:ProgramFilesMicrosoftSQLServerMSSQLLOG用记事本查看@@ERROR返回一个整数0为正常sysmessages存放的错误信息系统表(master)USEmasterselect*fromsysmessageswhereerror=错误编号可查询错误的原因触发器中可用RAISERROR(50009,16,10)抛出错误,其中50009就是错误编号,也可以是错误信息说明1610具体的行和列可自已定也可定义自定义的消息将自定义的消息添加到sysmessages。USEmasterEXECsp_addmessage50001,16,N'Percentageexpectsavaluebetween20and100.Pleasereexecutewithamoreappropriatevalue.','us_english',false,replaceEXECsp_addmessage50001,16,'员工代码没有找到','简体中文',false,replace5000116必须一致先添加us_english版的,再添加'简体...
数据库操作教程 2022-09-23 20:16:10 -
SQLServer口令sqlserver安全性第1/2页
如果你细心跟踪一下SQL Server数据库服务器的登录过程,你会发现口令计算其实是非常脆弱的,SQL Server数据库的口令脆弱体现两方面:1、网络登陆时候的口令加密算法 2、数据库存储的口令加密算法。 下面就分别讲述: 1、网络登陆时候的口令加密算法 SQL Server网络加密的口令一直都非常脆弱,网上有很多写出来的对照表,但是都没有具体的算法处理,实际上跟踪一下SQL Server的登陆过程,就很容易获取其解密的算法:好吧,我们还是演示一下汇编流程: 登录类型的TDS包跳转到4126a4处执行: 004DE72E:根据接收到的大小字段生成对应大小的缓冲区进行下一步的拷贝 004DE748从接收到的TDS BUF偏移8处拷贝出LOGIN的信息 004DE762:call sub_54E4D0:将新拷贝的缓冲压入进行参数检查的处理 依次处理TDS包中的信息,各个字段气候都应该有各个域的长度,偏移0X24处与长度进行比较...
数据库操作教程 2022-09-23 20:15:54 -
SQL中函数replace的参数1的数据类型ntext无效的解决方法
今天将一个ACC的数据库转换成ms-sql以后发现在使用replace替换语句的时候出现:SQL中函数replace的参数1的数据类型ntext无效。找了半天找到了解决办法:因为ntext需要转化下用如下语句即可解决:复制代码代码如下:UPDATE表SET字段=REPLACE(cast(字段ASvarchar(8000)),'被替换的内容','将要替换成的内容')varchar(8000)是字段类型...
数据库操作教程 2022-09-23 20:15:52