-
SQLServer出现System.OutOfMemoryException异常的解决方法
今天在用SQLServer2008执行一个SQL脚本文件时,老是出现引发类型为“System.OutOfMemoryException”的异常错误,脚本明明是从SQLServer2008导出的,应该不会出错,研究了好久问题才得以解决。出现这个错误的主要原因是由于SQL脚本文件太大,估计超过了100M了,解决方法就是把脚本文件分成几个脚本文件,分别去执行即可...
数据库操作教程 2022-09-23 17:56:39 -
sql数据库出现“只读”提示解决方法(sql错误5120)
1、描述:数据库服务器,磁盘满了,要将一个比较大的数据库文件,移到另一个磁盘,移完后,重新附加数据库出现“只读”提示。(如图)2、本以为,在“属性-选项-状态”中直接将“数据库为只读”选项,由true设为false,即可但Howfuckingitis!报如图错误3、sql错误5120该错误为文件权限错误,找到该数据库的数据库文件和日志文件,在安全中添加AuthenticatedUsers用户的权限,并设置“完全控制”4、再去数据库的属性中,将“数据库只读选项”同true改为false,数据库正常...
数据库操作教程 2022-09-23 17:45:17 -
SQL语句计算两个日期之间有多少个工作日的方法
/*因为工作中一个奇怪的需求,要用SQL语言计算两个日期间有多少个工作日。设定是一个星期有5个工作日,从星期一到星期五说明: 第一个星期的工作日数:DATEPART(dw,@begdt)-DATEPART(dw,@begdt),最少0天 末一个星期的工作日数:DATEPART(dw,@enddt),最多5天计算方法: 如果两个日期处在同一个星期内,直接计算“第一个星期的工作日数” 否则按下面的公式计算 (两个日期间的总天数-第一个星期的天数-末一个星期的天数)/7*5 +第一个星期的工作日数 +末一个星期的工作日数*/--计算并返回两个日期间的工作小时数(工作日*8)按周一到周五计算--必须先SETDATEFIRST1CREATEFUNCTIONdbo.CalcWorkHours(@bdateDATETIME,@edateDATETIME)RETURNSINTEGERASBEGINDECLARE@hoursINTEGERIF@@DATEFIRST<>1OR@bdate>@ed...
数据库操作教程 2022-09-23 17:38:54 -
解决SQLSERVER数据库备份时出现“操作系统错误5(拒绝访问)。BACKUPDATABASE正在异常终止。”错误的解决办法
SQLSERVER数据库进行备份时出现“操作系统错误5(拒绝访问)。BACKUPDATABASE正在异常终止...
数据库操作教程 2022-09-23 17:30:20 -
清除SQLSERVER错误日志出现操作系统错误的解决方法
之前在UAT环境搭建的SQLSERVER2008R2数据库一直用得比较正常,但最近发现在Sharepoint中不能进行任何操作了,开始以为是什么配置出了问题(因为一直在研究一些新的应用和集成,需要不断地测试),但后来发现是数据库硬盘没用一点空间了,那么自然是不能存任何数据了,所以最先开始清理一些无用的数据库日志,磁盘空间多了几个G的容量,但是等到第二天情况依然如此,数据库硬盘还是满了,问题依旧存在,后台仔细检查了一下所有数据库的容量(因为最初以为是数据库空间每天增长太快了把硬盘占满了),发现才十几个G的,而硬盘总空间有126G,因此进一步检查了这个磁盘空间,发现才三十多个G,一开始感觉很纳闷,为什么会缺少将近90G呢?后来发现是原来windows账号的关系,之前用的登录账号权限有限,无法获取磁盘的所有空间容量,因此换了管理员的账号登录后,发现原来是SQLSERVER有一个错误日志的容量将近90G,总算找到磁盘满的原因了,下一步就是如何去解决它。一开始听了同事的建议,直接通过文件剪贴的方式把这个SQLSERVER错误日志文件直接移动到另外一个硬盘上,折腾了好几个小时最终以失败告终,说明错...
数据库操作教程 2022-09-23 17:26:42 -
sqlserver数据库出现置疑的解决思路
先备份数据库,再用下面的办法:复制代码代码如下:USEMASTERGOSP_CONFIGURE'ALLOWUPDATES',1RECONFIGUREWITHOVERRIDEGOALTERDATABASEDatabase_NameSETEMERGENCYGOsp_dboption'Database_Name','singleuser','true'GODBCCCHECKDB('Database_Name','REPAIR_ALLOW_DATA_LOSS')GOALTERDATABASEDatabase_NameSETONLINEGOsp_configure'allowupdates',0reconfigurewithoverrideGOsp_dboption'Database_Name','singleuser','false'GO首先新建一个同名的数据库,然后再停掉sqlserver服务,用原数据库的数据文件覆盖掉这个新建的数据库文件,重启sqlserver服务。打开企业管理器,该数据库显示“置疑”,在查询分析器中执行上面的语句...
数据库操作教程 2022-09-23 17:17:15 -
基于SQLServer中如何比较两个表的各组数据图解说明
开始前一阵子,在项目中碰到这样一个SQL查询需求,有两个相同结构的表(table_left&table_right),如下:图1.检查表table_left的各组(groupId),是否在表table_right中存在有一组(groupId)数据(data)与它的数据(data)完全相等.如图1.可以看出表table_left和table_right存在两组数据完整相等:图2.分析从上面的两个表,可以知道它们存放的是一组一组的数据;那么,接下来我借助数学集合的列举法和运算进行分析。先通过集合的列举法描述两个表的各组数据:图3.这里只有两种情况,相等和不相等...
数据库操作教程 2022-09-23 17:16:46 -
SQLServer中通过reverse取某个最后一次出现的符号后面的内容(字符串反转)
sql语句复制代码代码如下:reverse(substring(reverse(Path),1,charindex('/',reverse(Path))-1))SQL如何取出一个字符串中最后一个特殊字符右边的字符,例如:10*20*300,怎样得到300?使用reverse配合charindex来实现。reverse是把字符串倒置,然后通过charindex来获取倒置之后第一个*的位置,然后使用substring函数进行字符串截取,截取后再使用reverse倒置回来即可...
数据库操作教程 2022-09-23 17:16:39 -
SqlServer:多行合并成一行,并做分组统计的两个方法
复制代码代码如下:--创建test表,插入数据CREATETABLEtest(codevarchar(50),[values]varchar(10),[count]int)INSERTtestSELECT'001','aa',1UNIONALLSELECT'001','bb',2UNIONALLSELECT'002','aaa',4UNIONALLSELECT'002','bbb',5UNIONALLSELECT'002','ccc',3; --方法一--将多行合并成一行,并做分组统计SELECTcode, [values]= stuff(b.[values]...
数据库操作教程 2022-09-23 17:08:19 -
获取数据库中两个时间字段的相差天数及ABS/DATEDIFF函数应用
复制代码代码如下:SELECTABS(DATEDIFF(dd,EndDate,BeginDate))FROMdbo.WorkingPlan其中,WorkingPlan为一张表,EndDate和BeginDate为WorkingPlan表中的结束时间和开始时间如果哪里有不正确的地方,欢迎批评指正,共同进步。...
数据库操作教程 2022-09-23 17:06:11 -
SQLserver2000企业版出现"进程51发生了严重的异常"错误的处理方法
情景:一直用到比较好,突然不行处理步骤:关了360等防火墙;(影响不大,但是有可能是因为杀毒软件处理时把某个关键文件heal了)装了微软补丁http://www.microsoft.com/downloads/details.aspx?FamilyID=9552d43b-04eb-4af9-9e24-6cde4d933600&displaylang=zh-cn#filelist重新启动就ok了。这个工具是微软SQLServer2000安全工具,描述为“SQLServer2000安全工具用于扫描SQLServer实例并检测安全漏洞,然后应用更新到被感染的文件...
数据库操作教程 2022-09-23 17:02:33 -
同一个sql语句连接两个数据库服务器
execsp_addlinkedserver'逻辑名称','','SQLOLEDB','远程服务器名或ip地址'execsp_addlinkedsrvlogin'逻辑名称','false',null,'用户名','密码'go建立完成之后就可以正常使用了select*from逻辑名称。数据库名称...
数据库操作教程 2022-09-23 16:57:50