Welcome 微信登录

首页 / 数据库 / SQLServer

SQLSERVER聚集索引和主键(Primary Key)的误区认识

SQLSERVER聚集索引和主键(Primary Key)的误区认识

很多人会把Primary Key和聚集索引搞混起来,或者认为这是同一个东西。这个概念是非常错误的。 主键是一个约束(constraint),他依附在一个索引上,这个索引可以是聚集索引,也可以是非聚集索引。所以在一个(或一组)字段上有主键,只能说明他上面有个索引,但不一定就是聚集索引。 例如下面: 复制代码 代码如下: USE [pratice] GO CREATE TABLE #tempPKCL ( ID INT PRIMARY KEY CLUSTERED...
自动化收集SQLSERVER诊断信息的工具选择及使用介绍

自动化收集SQLSERVER诊断信息的工具选择及使用介绍

自动化收集SQLSERVER诊断信息相信很多人都遇到过当SQLSERVER出现问题的时候,而你又解决不了需要DBA或者微软售后支持工程师去帮忙解决问题,那么他们一般需要你收集一些系统信息和SQLSERVER诊断信息。而收集这些信息又需要图形工具,又需要指令,步骤又非常复杂。我们要按照步骤一步一步把需要的信息收集全,在收集的过程中,往往折腾几次就头痛了解决问题的工具这个问题随着一个在SQL2005里的工具的出现而得到了解决这个工具可以自动收集很多信息,扩展了...
诊断SQLSERVER问题常用的日志概述及使用

诊断SQLSERVER问题常用的日志概述及使用

诊断SQLSERVER问题常用的日志这里主要有两个:(1)Windows事件日志(2)SQLSERVER ErrorLog1、Windows事件日志 Event Log作为一个Windows开启和管理的服务程序,Windows会在自己的系统日志system log里记录SQLSERVER这个服务的启动、正常关闭、异常关闭等信息。SQLSERVER也会把自己的一些概要信息同时记录在Windows的应用程序日志里Application Log而Windows日...
SQLSERVER如何查看索引缺失及DMV使用介绍

SQLSERVER如何查看索引缺失及DMV使用介绍

当大家发现数据库查询性能很慢的时候,大家都会想到加索引来优化数据库查询性能,但是面对一个复杂的SQL语句,找到一个优化的索引组合对人脑来讲,真的不是一件很简单的事。好在SQLSERVER提供了两种“自动”功能,给你建议,该怎么调整索引第一种是使用DMV第二种是使用DTA (database engine tuning advisor) 数据库引擎优化顾问这篇文章主要讲第一种从SQL2005以后,在SQLSERVER对任何一句语句做编译的时候,都会去评估一下...
SQLSERVER记录登录用户的登录时间(自写脚本)

SQLSERVER记录登录用户的登录时间(自写脚本)

前一阵子经理问我能不能把用户最后一次登录我们的业务数据库的时间记录下来,因为之前有人修改过数据库sa用户的登录密码,所以我们要记录一下。 我查了一下资料,好像不能记录谁登录过业务库,只能记录谁登录过SQLSERVER 数据库版本是SQL2005 ,操作系统:Windows7 下面是本人写的一个脚本,我的实现原理是使用触发器,触发器是登录触发器,范围是整个服务器范围,如果有人登录过,就使用 bcp命令把登录信息记录日志文件 1、如果原来数据库已经存在触发器把...
SQLSERVER对索引的利用及非SARG运算符认识

SQLSERVER对索引的利用及非SARG运算符认识

写SQL语句的时候很多时候会用到filter筛选掉一些记录,SQL对筛选条件简称:SARG(search argument/SARG) 复制代码 代码如下: where amount>4000 and amount<6000上面这句就是筛选条件 当然这里不是说SQLSERVER的where子句,是说SQLSERVER对索引的利用在SQLSERVER对于没有SARG运算符的表达式,索引是没有用的,SQLSERVER对它们很难使用比较优化的做法。...
将备份的SQLServer数据库转换为SQLite数据库操作方法

将备份的SQLServer数据库转换为SQLite数据库操作方法

操作方法:先要安装好SQLServer2005,并且记住安装时自己设置的用户名和密码。下面以恢复SQLServer下备份的数据库文件epdmdb20101008.bak为SQLite数据库为例来说明操作的步骤。① 打开SQLServer2005,如下图所示:在登陆界面输入登录名和密码,点“连接”。登录之后的界面如下:② 新建一个数据库。点左边导航栏的数据库,右键-新建数据库;如下图所示:在弹出的新建数据库窗口中输入“数据库名称”,点“添加”。添加成功之后点...
sql not in 与not exists使用中的细微差别

sql not in 与not exists使用中的细微差别

上面两个简单的Sql,我们从表面理解,查询的最终结果应该是一样的,但实际结果却和我们想象的不一样第一条sql查询的结果有一条数据第二条sql查询的结果却为空原因:not exists的子查询,对于子查询不返回行和子查询返回行的查询结果是有区别的这些细小的差别千万不要被我们所忽视,一旦项目庞大了,想跟踪到具体的错误所花费的时间也是可观的。尽量把这些不必要的错误扼杀在摇篮里。啰嗦了,呵呵。上面两个简单的Sql,我们从表面理解,查询的最终结果应该是一样的,但实际...
一条select语句引起的瓶颈问题思考

一条select语句引起的瓶颈问题思考

情境还原: 公司一项目新上线,刚上线的第2天,在后台发现数据库服务器与IIS服务器的网络IO出现瓶颈,1GB的网络带宽,占用了70%-100%,也就是每秒传输数据700MB-1GB,数据库使用内存高达21GB。 IIS服务器CPU使用率时常爆至80%-90%,导致网站频频出现连接超时。 原因:晚上只好暂时关闭网站,进行服务器维护,作全面的检查跟踪,发现是一句Select语句导致: Select * From Table1 这条语句,语法是没问题的,但在应用...
简化SQL Server备份与还原到云工作原理及操作方法

简化SQL Server备份与还原到云工作原理及操作方法

除了硬盘和磁带,现在您可以使用 SQL Server 的本机备份功能来备份您的 SQL Server Database到 Windows AzureBlob 存储服务。在此版本中,您可以使用 T-SQL 和SMO备份到Windows AzureBlob存储。在SQL Server 户内实例上的SQLServer Databases或在宿主环境中,如运行在 Windows Azure VMs上的 SQL Server 实例都可以利用此功能。好处:· 灵活、 ...
SQL Server遍历表中记录的2种方法(使用表变量和游标)

SQL Server遍历表中记录的2种方法(使用表变量和游标)

SQL Server遍历表一般都要用到游标,SQL Server中可以很容易的用游标实现循环,实现SQL Server遍历表中记录。本文将介绍利用使用表变量和游标实现数据库中表的遍历。 表变量来实现表的遍历 以下代码中,代码块之间的差异已经用灰色的背景标记。 复制代码 代码如下: DECLARE @temp TABLE ( [id] INT IDENTITY(1, 1) , [Name] VARCHAR(10) ) DECLARE @tempId INT ...
<< 121 122 123 124 125 126 127 128 129 130 >>