-
自动清理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 -
SQLSERVER的排序问题结果不是想要的
在论坛里经常有人问这样的问题:同一个查询的结果集为什麽有时候是按他想要的顺序排列,有时候又不是,或者是在SQL2000里是这个顺序,到了SQL2005/2008又是那个顺序?其实,只要语句里没有指定“orderby”,SQLSERVER并不会按照顺序返回的。有可能你的表里有一个字段已经建立了索引你想结果集按照那个建立了索引的字段排序,那么你不指定“orderby”是没有问题的,因为表的存储顺序就是按照那个字段的顺序排好序了,所以可以不指定“orderby”,但是如果你没有在想排序的那个字段建立索引,或者在SQL2000里建立了索引,而在SQL2005/2008里没有建立索引,那么就要明确地用“orderby”指定...
数据库操作教程 2022-09-23 17:07:22 -
sqlserver附加.mdf权限问题解决
问题:数据库附加.mdf文件时,提示无法打开物理文件,操作系统错误5:"5(拒绝访问)"错误:5120。解决方案:数据库当前账户对存放.mdf文件的文件夹权限不足,该文件夹权限角色加入Everyone...
数据库操作教程 2022-09-23 17:07:10 -
一条select语句引起的瓶颈问题思考
情境还原:公司一项目新上线,刚上线的第2天,在后台发现数据库服务器与IIS服务器的网络IO出现瓶颈,1GB的网络带宽,占用了70%-100%,也就是每秒传输数据700MB-1GB,数据库使用内存高达21GB。IIS服务器CPU使用率时常爆至80%-90%,导致网站频频出现连接超时...
数据库操作教程 2022-09-23 17:06:35 -
诊断SQLSERVER问题常用的日志概述及使用
诊断SQLSERVER问题常用的日志这里主要有两个:(1)Windows事件日志(2)SQLSERVERErrorLog1、Windows事件日志EventLog作为一个Windows开启和管理的服务程序,Windows会在自己的系统日志systemlog里记录SQLSERVER这个服务的启动、正常关闭、异常关闭等信息。SQLSERVER也会把自己的一些概要信息同时记录在Windows的应用程序日志里ApplicationLog而Windows日志本身又能够反映操作系统的健康情况,是否有任何软件或硬件的异常...
数据库操作教程 2022-09-23 17:06:18 -
SQLServer高可用的常见问题分析
每次谈到SQLServer的高可用,很多的DBA,特别是SQLServerDBA心里一痛:因为大家都认为SQLServer无法或者很难实现SQLServer。也有很多的DBA朋友脑袋一拍,给出答案“高可用不就是微软的那几个技术吗,如Replication,FailoverClustering”…1.难道SQLServer在高可用上面就显得这么的无力吗?回答:不是的,其实SQLServer很给力...
数据库操作教程 2022-09-23 17:03:06 -
你真的了解触发器么数据实时同步更新问题剖析
当我们想更新一张动态表的时候(即:表中的数据不断的添加),也许我们会用数据库代理,通过写作业,然后让他定时查询动态表中最新添加的数据,然后更新数据。这样时能实现更新数据的要求,但是数据却不能实时同步更新...
数据库操作教程 2022-09-23 17:02:58 -
对有insert触发器表取IDENTITY值时发现的问题
问题是这样的:T1表上有一个INSERT的触发器,在插入数据的时候,会自动往T2表里面插一条记录这样当我在T1表上插入新的数据时,取@@IDENTITY的时候,返回的id值是T2表里面的新记录的值赶快查了下msdn,原来@@IDENTITY还有这么多讲究:在一条INSERT、SELECTINTO或大容量复制语句完成后,@@IDENTITY中包含语句生成的最后一个标识值。如果语句未影响任何包含标识列的表,则@@IDENTITY返回NULL...
数据库操作教程 2022-09-23 17:01:50 -
SQLServer使用Merge语句当源表数据集为空时,无法进行查询的问题
面举一个例子来具体说明一下:有两个表SourceTable为登陆表,TargetTable为授权表,如果访问用户在登陆表中,更新授权表的授权级别,否则授权0表示游客。sql语句如下:--SourceTable为登陆表,TargetTable为授权表--如果访问用户在登陆表中,更新授权表的授权级别,否则授权0表示游客...
数据库操作教程 2022-09-23 16:57:56 -
LinqtoSQL插入数据时的一个问题
复制代码代码如下:createtableRSSFeedRight(FeedIdintForeignKey(FeedId)ReferencesRSSFeed(FeedId)NOTNULL,--FeedId,UserIdintForeignKey(UserId)ReferencesUserInfo(UserId)NOTNULL,--UserId,RightValuebigintNOTNULLPrimarykey(UserId,FeedId),)插入数据的代码RSSFeedRightfeedRight=newRSSFeedRight();feedRight.UserId=userId;feedRight.FeedId=feedId;feedRight.RightValue=0;_Db.RSSFeedRights.InsertOnSubmit(feedRight);_Db.SubmitChanges();每次插入时都提示说FeedId不能插入空值,郁闷的不行,分明是给了非空值的!后来仔细检查,发现这个RSSFeedRight实体类中居然还有两个指向UserInfo和RSSFeed表的字段,后来...
数据库操作教程 2022-09-23 16:57:00 -
SQL查询分析中使用net命令问题
在DOS命令下(或Bat文件)执行:netuse192.168.100.1ipc$ks-c-001-11/user:administratorCOPY192.168.100.1xmXMSALE_DBC.*c:temp/yCOPY192.168.100.1xmXMsale07.*c:temp/yCOPY192.168.100.1xmXMsale10.*c:temp/yCOPY192.168.100.1xmXMsale11.*c:temp/ynetuse192.168.100.1ipc$/del查询分析中下执行:1.使用xp_cmdshell,最好在命令前加上"master.dbo.",因为存储过程“xp_cmdshell”属于master数据库。2.在设置连接IPC时,"user:"和"用户名"之间还要加上连接的IP或电脑名称.一、使用IP地址连接--1.设置连接EXECmaster.dbo.xp_cmdshell'netuse192.168.100.1ipc$ks-c-001-11/user:192.168.100.1administrator'--2.执行dos命令EXECmaste...
数据库操作教程 2022-09-23 16:56:42 -
union组合结果集时的order问题
近日,在一个项目中用到union组合两个select结果,调试sql时总是报错,所报错误也只是说在union附近有问题,因为sql中用到了group,我想也许是union不支持吧,由于时间紧,就先在程序中做了合并处理。但程序员对于代码的完美性要求总是不能放弃的,所以,常常会有如鲠在喉的感觉,不搞明白心里会不舒服...
数据库操作教程 2022-09-23 16:56:30