-
清除SQLSERVER错误日志出现操作系统错误的解决方法
之前在UAT环境搭建的SQLSERVER2008R2数据库一直用得比较正常,但最近发现在Sharepoint中不能进行任何操作了,开始以为是什么配置出了问题(因为一直在研究一些新的应用和集成,需要不断地测试),但后来发现是数据库硬盘没用一点空间了,那么自然是不能存任何数据了,所以最先开始清理一些无用的数据库日志,磁盘空间多了几个G的容量,但是等到第二天情况依然如此,数据库硬盘还是满了,问题依旧存在,后台仔细检查了一下所有数据库的容量(因为最初以为是数据库空间每天增长太快了把硬盘占满了),发现才十几个G的,而硬盘总空间有126G,因此进一步检查了这个磁盘空间,发现才三十多个G,一开始感觉很纳闷,为什么会缺少将近90G呢?后来发现是原来windows账号的关系,之前用的登录账号权限有限,无法获取磁盘的所有空间容量,因此换了管理员的账号登录后,发现原来是SQLSERVER有一个错误日志的容量将近90G,总算找到磁盘满的原因了,下一步就是如何去解决它。一开始听了同事的建议,直接通过文件剪贴的方式把这个SQLSERVER错误日志文件直接移动到另外一个硬盘上,折腾了好几个小时最终以失败告终,说明错...
数据库操作教程 2022-09-23 17:26:42 -
SqlServer中tempdb的日志机制原理解析及示例分享
测试用例我们分别在用户数据库(testpage),tempdb中创建相似对象t1,#t1,并在tempdb中创建创建非临时表,然后执行相应的insert脚本(用以产生日志),并记录执行时间用以比较用以比较说明tempdb”快”Code用户数据库testpageusetestpagegocreatetablet1(idintidentity(1,1)notnull,str1char(8000))declare@tdatetime2=sysutcdatetime()declare@iintset@i=1while(@i<100000)begininsertintot1select@i,'aa'select@i=@i+1endselect[extime]=DATEDIFF(S,@t,sysutcdatetime())tempdbusetempdbgocreatetable#t1(idintnotnull,str1char(8000))declare@tdatetime2=sysutcdatetime()declare@iintset@i=1while(@i<100000)begi...
数据库操作教程 2022-09-23 17:25:50 -
理解SQLSERVER中的逻辑读,预读和物理读
SQLSERVER数据存储的形式 在谈到几种不同的读取方式之前,首先要理解SQLSERVER数据存储的方式.SQLSERVER存储的最小单位为页(Page).每一页大小为8k,SQLSERVER对于页的读取是原子性,要么读完一页,要么完全不读,不会有中间状态。而页之间的数据组织结构为B树(请参考我之前的博文).所以SQLSERVER对于逻辑读,预读,和物理读的单位是页. SQLSERVER一页的总大小为:8K 但是这一页存储的数据会是:8K=8192字节-96字节(页头)-36字节(行偏移)=8060字节 所以每一页用于存储的实际大小为8060字节. 比如上面AdventureWorks中的Person.Address表,通过SSMS看到这个...
数据库操作教程 2022-09-23 17:25:09 -
深入SQLSERVER合并相关操作Union,Except,Intersect的详解
对于结果集有几个处理,值得讲解一下1.并集(union,Unionall)这个很简单,是把两个结果集水平合并起来。例如SELECT*FROMAUNIONSELECT*FROMB【注意】union会删除重复值,也就是说A和B中重复的行,最终只会出现一次,而unionall则会保留重复行...
数据库操作教程 2022-09-23 17:25:01 -
使用cmd命令行窗口操作SqlServer的方法
osql工具是一个MicrosoftWindows32命令提示符工具,您可以使用它运行Transact-SQL语句和脚本文件。osql工具使用ODBC数据库应用程序编程接口(API)与服务器通讯...
数据库操作教程 2022-09-23 17:21:17 -
基于存储过程的详细介绍
存储过程简介--------------------------------------------------------------------------------什么是存储过程:存储过程可以说是一个记录集吧,它是由一些T-SQL语句组成的代码块,这些T-SQL语句代码像一个方法一样实现一些功能(对单表或多表的增删改查),然后再给这个代码块取一个名字,在用到这个功能的时候调用他就行了。存储过程的好处:1.由于数据库执行动作时,是先编译后执行的...
数据库操作教程 2022-09-23 17:18:43 -
CMD命令操作MSSQL2005数据库(命令整理)
打开CMD命令执行:sqlcmd/?这是sqlcmd命令的一些帮助信息通过上面可以知道怎么连数据库了执行:sqlcmd-S服务器地址-d数据库名称-U用户密码-P密码以下是操作数据库的一下命令复制代码代码如下:0.创建数据库CREATEDATABASEDB0011...
数据库操作教程 2022-09-23 17:17:52 -
SQLServer数据库基本操作语句总结
复制代码代码如下:--sql基本操作--创建数据库createdatabaseStudets--创建表createtablestudent(snochar(5),snamechar(20),ssexchar(2),sagesmallint,sdeptchar(15))createtablecourse(cnochar(3),cnamechar(30),cpnochar(3),ccreditsmallint)createtablesc(snochar(5),cnochar(3),gradeint)--查看表信息select*fromstudentselectsnoas学号fromstudentselect*fromcourseselect*fromsc--修改表--插入列altertablestudentadd scome datetime--修改列的字段类型altertablestudentaltercolumnscome char(50)--删除--删除列altertablestudentdropcolumnscome--删除表droptablestud...
数据库操作教程 2022-09-23 17:17:38 -
SQLServer2000报1053错误(服务没有及时响应或控制请求)的解决方法
今天启动SQLServer2000时报1053错误错误如下所示:发生错误1053-(服务没有及时响应或控制请求。),此时正在MSSQLServer服务上执行该服务操作...
数据库操作教程 2022-09-23 17:17:15 -
SQLSERVER的非聚集索引结构深度理解
我们知道SQLSERVER的数据行的存储有两种数据结构:A:堆 B:B树(binary二叉树)数据按照这种两种的其中一种来排序和存储,学过数据结构的朋友应该知道二叉树,为什麽用二叉树,因为方便用二分查找法来快速找到数据。如果是堆,那么数据是不按照任何顺序排序的,也没有任何结构,数据页面也不是首尾相连的,不像B树,数据页面使用双向链表首尾相连...
数据库操作教程 2022-09-23 17:17:01