-
详解SQLServer如何修改数据库物理文件的存在位置
前言大家应该都知道SQLServer创建新库时,默认会把数据存放在C盘中,一旦数据库中的存储数据多了以后,C盘的空间就会所剩无几。解决方案是将存放数据的物理文件迁移到其他盘...
数据库操作教程 2022-09-23 18:20:55 -
sql查询出各科成绩最好的学生信息
1.相关数据表Score表 [User]表SQL语句如下:复制代码代码如下:--查询出各科成绩最好的学生信息--自连接--SELECTTOP1*FROMScoreBWHEREB...
数据库操作教程 2022-09-23 18:00:12 -
MSSQL自动重建出现碎片的索引的方法分享
1.索引碎片的产生?由于在表里大量的插入、修改、删除操作而使索引页分裂。如果索引有了高的碎片,有两种情况,一种情况是扫描索引需要花费很多的时间,另一种情况是在查询的时候索引根本不使用索引,都会导致性能降低...
数据库操作教程 2022-09-23 17:59:04 -
SQLServer出现System.OutOfMemoryException异常的解决方法
今天在用SQLServer2008执行一个SQL脚本文件时,老是出现引发类型为“System.OutOfMemoryException”的异常错误,脚本明明是从SQLServer2008导出的,应该不会出错,研究了好久问题才得以解决。出现这个错误的主要原因是由于SQL脚本文件太大,估计超过了100M了,解决方法就是把脚本文件分成几个脚本文件,分别去执行即可...
数据库操作教程 2022-09-23 17:56:39 -
SqlServer修改数据库文件及日志文件存放位置
--查看当前的存放位置selectdatabase_id,name,physical_nameASCurrentLocation,state_desc,sizefromsys.master_fileswheredatabase_id=db_id(N'数据库名');--修改文件的存放位置下次启动生效--testDb为数据库名,alterdatabase数据库名modifyfile(name=文件名(不包含后缀),filename='文件存储路径');alterdatabase数据库名modifyfile(name=文件名(不包含后缀),filename='文件存储路径');eg...
数据库操作教程 2022-09-23 17:56:21 -
mssqlserver中实现的unix时间戳函数(含生成和格式化,可以和mysql兼容)
直接上代码:CREATEFUNCTIONUNIX_TIMESTAMP(@ctimestampdatetime)RETURNSintegerASBEGIN/*Functionbody*/declare@returnintegerSELECT@return=DATEDIFF(SECOND,{d'1970-01-01'},@ctimestamp)return@returnENDCREATEFUNCTIONfrom_unixtime(@tsinteger)RETURNSdatetimeASBEGIN/*Functionbody*/declare@returndatetimeselect@return=DATEADD(second,@ts,{d'1970-01-01'})return@returnEND用法跟MySQL下的一样类似:selectdbo.UNIX_TIMESTAMP('2013-1-1')selectdbo...
数据库操作教程 2022-09-23 17:47:59 -
sql数据库出现“只读”提示解决方法(sql错误5120)
1、描述:数据库服务器,磁盘满了,要将一个比较大的数据库文件,移到另一个磁盘,移完后,重新附加数据库出现“只读”提示。(如图)2、本以为,在“属性-选项-状态”中直接将“数据库为只读”选项,由true设为false,即可但Howfuckingitis!报如图错误3、sql错误5120该错误为文件权限错误,找到该数据库的数据库文件和日志文件,在安全中添加AuthenticatedUsers用户的权限,并设置“完全控制”4、再去数据库的属性中,将“数据库只读选项”同true改为false,数据库正常...
数据库操作教程 2022-09-23 17:45:17 -
解决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的位运算功能巧妙解决多选查询方法
无论使用int还是varchar,对于Status的多选查询都是不易应对的。举例,常规思维下对CustomerStatus的Enum设置如下:复制代码代码如下:[Serializable]publicenumCustomerStatus{New=0,Active=1,Overdue=2,Suspended=3,Closing=4,Closed=5}在数据库中以int形式存储了Status值...
数据库操作教程 2022-09-23 17:25:14 -
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中通过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