Welcome 微信登录

首页 / 数据库 / SQLServer

SQL Server 压缩日志与减少SQL Server 文件大小的方法

SQL Server 压缩日志与减少SQL Server 文件大小的方法

一般不建议做第4,6两步,第4步不安全,有可能损坏数据库或丢失数据。第6步如果日志达到上限,则以后的数据库处理会失败,在清理日志后才能恢复。 1.清空日志 DUMP TRANSACTION 库名 WITH NO_LOG 2.截断事务日志 BACKUP LOG 数据库名 WITH NO_LOG 3.收缩数据库文件 (如果不压缩,数据库的文件不会减小企业管理器--右键你要压缩的数据库--所有任务--收缩数据库--收缩文件 选择日志文件--在收缩方...
sql 聚集索引和非聚集索引(详细整理)

sql 聚集索引和非聚集索引(详细整理)

聚集索引 一种索引,该索引中键值的逻辑顺序决定了表中相应行的物理顺序。聚集索引确定表中数据的物理顺序。聚集索引类似于电话簿,后者按姓氏排列数据。由于聚集索引规定数据在表中的物理存储顺序,因此一个表只能包含一个聚集索引。但该索引可以包含多个列(组合索引),就像电话簿按姓氏和名字进行组织一样。 聚集索引对于那些经常要搜索范围值的列特别有效。使用聚集索引找到包含第一个值的行后,便可以确保包含后续索引值的行在物理相邻。例如,如果应用程序执行 的一个查...
查询Sqlserver数据库死锁的一个存储过程分享

查询Sqlserver数据库死锁的一个存储过程分享

使用sqlserver作为数据库的应用系统,都避免不了有时候会产生死锁, 死锁出现以后,维护人员或者开发人员大多只会通过sp_who来查找死锁的进程,然后用sp_kill杀掉。利用sp_who_lock这个存储过程,可以很方便的知道哪个进程出现了死锁,出现死锁的问题在哪里.创建sp_who_lock存储过程CREATE procedure sp_who_lock as begin declare @spid int declare @blk int dec...
SQL Server中的Forwarded Record计数器影响IO性能的解决方法

SQL Server中的Forwarded Record计数器影响IO性能的解决方法

一、简介 最近在一个客户那里注意到一个计数器很高(Forwarded Records/Sec),伴随着间歇性的磁盘等待队列的波动。本篇文章分享什么是forwarded record,并从原理上谈一谈为什么Forwarded record会造成额外的IO。二、存放原理 在SQL Server中,当数据是以堆的形式存放时,数据是无序的,所有非聚集索引的指针存放指向物理地址的RID。当数据行中的变长列增长使得原有页无法容纳下数据行时,数据将会移动到新的页中,并在...
强制SQL Server执行计划使用并行提升在复杂查询语句下的性能

强制SQL Server执行计划使用并行提升在复杂查询语句下的性能

通过观察执行计划,发现之前的执行计划在很多大表连接的部分使用了Hash Join,由于涉及的表中数据众多,因此查询优化器选择使用并行执行,速度较快。而我们优化完的执行计划由于索引的存在,且表内数据非常大,过滤条件的值在一个很宽的统计信息步长范围内,导致估计行数出现较大偏差(过滤条件实际为15000行,步长内估计的平均行数为800行左右),因此查询优化器选择了Loop Join,且没有选择并行执行,因此执行时间不降反升。由于语句是在存储过程中实现,因此我们直...
随机抽取的sql语句 每班任意抽取3名学生

随机抽取的sql语句 每班任意抽取3名学生

学校有一、二、三。。。。至十班。假设每个班上有30名学生。张、李、刘、苏等现有这样的表 student ,字段 class 及name 。其中class 表示班级,name 表示每班学生姓名。要求每班任意抽取3名学生出来,进行学校大扫除。请写出这样的SQL语句。select name from (select (row_number() over (partition by class order by checksum(newid()))) id,* f...
Linux环境中使用BIEE 连接SQLServer业务数据源

Linux环境中使用BIEE 连接SQLServer业务数据源

1、客户端 在客户端首先配置odbc数据源,可以直接在运行中输入odbcad32,打开配置界面--系统DNS---添加 选择SQLserver的相关驱动,一般选择wire protocol型的驱动,配置sqlserver数据库连接信息,测试一下是否连接成功,并保存退出。 注意此时的ODBC数据源名称要记录下来,而且一旦确定以后最好不要改动。因为如果改动,服务器端也要做修改。 打开Administrator tools,选择导入元数据,选择配置好的sqlse...
获取SQL Server2014的安装时间

获取SQL Server2014的安装时间

如果你没有特意记录安装日期(实际大部分人都不会这样做),那么有没有办法从SQL Server里查询到呢? 想想我们在安装的时候,肯定会有Windows认证登录账号的创建信息,我们可以通过查询它来确定安装日期。查询的T-SQL如下:SELECT * FROM SYS.SERVER_PRINCIPALS 其输出的结果如下:从结果中,我们可以看到create_date这一栏,比如通过name为NT AUTHORITYSYSTEM的登录账号的创建日期,就知道SQL...
SQL中DATEADD和DATEDIFF的用法示例介绍

SQL中DATEADD和DATEDIFF的用法示例介绍

通常,你需要获得当前日期和计算一些其他的日期,例如,你的程序可能需要判断一个月的第一天或者最后一天。你们大部分人大概都知道怎样把日期进行分割(年、月、日等),然后仅仅用分割出来的年、月、日等放在几个函数中计算出自己所需要的日期!在这篇文章里,我将告诉你如何使用DATEADD和DATEDIFF函数来计算出在你的程序中可能你要用到的一些不同日期。 在使用本文中的例子之前,你必须注意以下的问题。大部分可能不是所有例子在不同的机器上执行的结果可能不一样,这完全由哪...
SQL Server 2012无法连接到WMI提供程序(Cannot connect to WMI provider)解决方案

SQL Server 2012无法连接到WMI提供程序(Cannot connect to WMI provider)解决方案

今天一位同事在启动自己工作机的SQL Server 2012配置管理器时遇到如下报错:无法连接到 WMI 提供程序。您没有权限或者该服务器无法访问。请注意,您只能使用 SQL Server 配置管理器来管理 SQL Server 2005 服务器。 找不到指定的模块。 [0x80041010]Cannot connect to WMI provider. You do not have permission or the server is unreach...
使用sql语句创建和删除约束示例代码

使用sql语句创建和删除约束示例代码

使用sql语句创建和删除约束 约束类型 主键约束(Primary Key constraint) --:要求主键列数据唯一,并且不允许为空。唯一约束(Unique constraint) --:要求该列唯一,允许为空,但只能出现一个空值。检查约束(Check constraint) --:某列取值范围限制,格式限制等,如有关年龄、邮箱(必须有@)的约束。默认约束(Default constraint) --:某列的默认值,如在数据库里有一项数据很多重复,可...
<< 301 302 303 304 305 306 307 308 309 310 >>