
SQL Server数据库管理
文章平均质量分 71
ulark
这个作者很懒,什么都没留下…
展开
-
SQL SERVER索引优化系列之二:索引性能考虑 (转)
在前面说过了索引能极大的提高数据的检索速度,那为什么不在每一个列上建索引呢?初学者可能会困惑这个问题,而且通常不知道哪些列该建索引,哪些不该建, 甚至于会把like模糊查询的列也作为索引列,其实like是不使用索引的,只有等于,大于,IN等操作符会使用索引。SQLSERVER对于数据的插入,更新和删除,都要更新相应的索引。这无疑会大大增加更新时间。另外,如果某个数据页已满,这时如果要在该页插入数据时,就会造成页分裂产生碎片(后面还会说到),而影响性能。所以仅当查询的性能比更新的性能更重要时才建索引。 考虑建转载 2010-09-29 11:17:00 · 677 阅读 · 0 评论 -
[转]SET TRANSACTION ISOLATION LEVEL (Transact-SQL)
SET TRANSACTION ISOLATION LEVEL (Transact-SQL)控制到 SQL Server 的连接发出的 Transact-SQL 语句的锁定行为和行版本控制行为。 Transact-SQL 语法约定 语法 SET TRANSACTION ISOLATION LEVEL { READ UNCOMMIT原创 2010-03-09 18:05:00 · 531 阅读 · 0 评论 -
数据库优化方法 (一)
我经常碰到有人会问一些数据库优化方面的问题,我觉得这是一最基本技能要求,特别是使用sql server 2005,对于sql server的优化,使用的专职dba或兼职dba们工作更轻松,效率更高了,但是还是有很多新人可能不大了解,我在这儿写一下最基本的一些介绍。 一、首先介绍一下sql server 2005中优化数据时使用到的两个工具 1.第一个工具sql server原创 2010-03-09 18:05:00 · 409 阅读 · 0 评论 -
sql查询,nolock写还是不写,这是一个问题
在做过的很多项目中,发现大家不管对什么表,逢select必定加上nolock(或者with(nolock)),好像已经是制度化的一种东西。有领导高人解释说加上nolock可以提高查询速度,不影响对数据表的其他并发操作。 但是真有必要每个查询都加nolock吗?个人认为加不加nolock还是值得我们根据实际情况斟酌一番的(至少需要知其然然后知其所以然吧)。下面就来简单分析一下加不加nolock原创 2010-03-09 18:03:00 · 1624 阅读 · 0 评论 -
SQL Server中“加锁选项”的功能说明
1 如何锁一个表的某一行 A 连接中执行 SET TRANSACTION ISOLATION LEVEL REPEATABLE READ begin tran select * from tablename with (rowlock) where id=3原创 2010-03-09 16:29:00 · 483 阅读 · 0 评论 -
SQL SERVER临时表的使用
drop table #Tmp --删除临时表#Tmpcreate table #Tmp --创建临时表#Tmp( ID int IDENTITY (1,1) not null, --创建列ID,并且每次新增一条记录就会加1 WokNo varchar(50), primary key (ID)原创 2009-12-25 10:02:00 · 960 阅读 · 0 评论 -
SQL server2005创建计划任务(转)
我们在开发过程中,经常遇到这样问题,就是要求定期进行数据库的检查,如果发现特定数据,那么就要进行某项操作,这个需求呢,可以利用Windows的计划任务,定期执行某一个应用程序,去检索数据;也可以让程序自己控制。其实SQL Server自己也可以创建计划任务,定期进行执行。如果数据库服务器允许,可以考虑采用这种方式。在SQL server2005创建计划任务具体步骤如下:首先要确认 sql serv原创 2010-03-03 09:36:00 · 394 阅读 · 0 评论 -
数据库设计技巧系列(一)——设计数据库之前
设计数据库之前1. 考察现有环境在设计一个新数据库时,你不但应该仔细研究业务需求而且还要考察现有的系统。大多数数据库项目都不是从头开始建立的;通常,机构内总会存在用来满足特定需求的现有系统(可能没有实现自动计算)。显然,现有系统并不完美,否则你就不必再建立新系统了。但是对旧系统的研究可以让你发现一些可能会忽略的细微问题。一般来说,考察现有系统对你绝对有好处。— Lamont Adams原创 2010-02-10 12:01:00 · 482 阅读 · 0 评论 -
SQL Server 2005中的文件和文件组
--> Title : SQL Server 2005中的文件和文件组 --> Author : wufeng4552--> Date : 2009-10-23 1、文件和文件组的含义与关系 每个数据库有一个主数据文件.和若干个从文件。文件是数据库的物理体现。 文件组可以包括分布在多个逻辑分区的文件,实现负载平衡。文件组允许对文件进行分组,以便于管理和数据的分配/放原创 2009-12-02 18:37:00 · 378 阅读 · 0 评论 -
通过日志恢复MSSQL数据例子
这段时间看了关于在SQL server 中通过日志和时间点来恢复数据。也看了一些网上的例子,看如何通过日志来恢复数据。 前提条件: 数据库的故障恢复改为非简单模式,去掉自动关闭和自动收缩两个选项 如果是简单模式: 类似下面的语句操作数据就不会记录到日志中: select * into t from [表名] 这时为保证数据的完原创 2009-12-02 18:33:00 · 490 阅读 · 0 评论 -
SQL Server 2005中的文件和文件组
1、文件和文件组的含义与关系 每个数据库有一个主数据文件.和若干个从文件。文件是数据库的物理体现。 文件组可以包括分布在多个逻辑分区的文件,实现负载平衡。文件组允许对文件进行分组,以便于管理和数据的分配/放置。例如,可以分别在三个硬盘驱动器上创建三个文件(Data1.ndf、Data2.ndf 和 Data3.ndf),并将这三个文件指派到文件组 fgroup1 中。然后,可以明确地在文件组原创 2010-03-09 18:17:00 · 483 阅读 · 0 评论 -
SQL server2005创建计划任务
我们在开发过程中,经常遇到这样问题,就是要求定期进行数据库的检查,如果发现特定数据,那么就要进行某项操作,这个需求呢,可以利用Windows的计划任务,定期执行某一个应用程序,去检索数据;也可以让程序自己控制。其实SQL Server自己也可以创建计划任务,定期进行执行。如果数据库服务器允许,可以考虑采用这种方式。在SQL server2005创建计划任务具体步骤如下:首先要确认 sql serv原创 2010-03-09 18:16:00 · 513 阅读 · 0 评论 -
浅谈数据库的架构优化(读书体会)
年前参加过一次培训,讲数据库架构优化。讲师中英文混杂讲的,个人英文很烂,大概记了三点。 通过负载均衡策略,有效的降低了单台机器的访问负载,降低了宕机的可能性;通过集群方案,解决了数据库宕机带来的单点数据库不能访问的问题;通过读写分离策略更是最大限度了提高了应用中读取(Read)数据的速度和并发量。 最近翻书又看到关于数据库架构优化。书中讲了三点:1.主从复制,读写原创 2010-03-10 17:38:00 · 432 阅读 · 0 评论 -
SQL SERVER索引优化系列之一:工作原理&聚簇索引|非聚簇索引 (转)
我们来简单地看看SQL SERVER索引是如何工作的,关于索引的一些概念就不说了。聚簇索引:(图A)我们来看图A,聚簇索引的结构图。数据页就是数据库里实际存储数据的地方,可以看到是按页1页1页存的。假设那个列是”LastName”。因为是聚集索引,所以它是按照顺序排下来的。可以看到,索引是一棵树,首先先看一下这棵树是怎么形成的。先看Page100和Page110的最上面,由它们形成了Page141,Page141的第一条数据是Page100的第一条数据,Page141的最后一条数据是Page110的第一条数转载 2010-09-29 10:48:00 · 882 阅读 · 0 评论 -
SQL SERVER索引优化系列之三:填充因子 (转)
建SQL SERVER索引的时候有一个选项,即Fillfactor(填充因子)。这个可能很少人会去注意它,但它也是比较重要的。大家可能也都知道有这个东西,但是如何去使用它,可能会比较迷糊。另外,即使你理解了它的原理,也不一定能使用好它,这个还要具体分析索引字段的更新频率等等。记得看书知道有这么个东西,但是都是看的迷迷糊糊的,不知道干吗的,好象设置不设置都一样的。其实,像索引这些东西,当数据达到几十万上百万的时候,它的效果就表现的很明显。填充因子定义:索引中叶级页的数据充满度。它的作用:当系统新建或重建索引时转载 2010-09-29 11:57:00 · 881 阅读 · 0 评论 -
使用Sqlserver事务发布实现数据同步(转)
<br />事务的功能在sqlserver中由来已久,因为最近在做一个数据同步方案,所以有机会再次研究一下它以及快照等,发现还是有很多不错的功能和改进的。这里以sqlserver2008的事务发布功能为例,对发布订阅的方式简要介绍一下操作流程,一方面做个总结备份,一方面与大家进行一下分享和交流。费话就不多说了,进入一下今天的正题:)<br /> 这里要说明一下环境:首先我在本地局域网内有两台安装有sqlserver2008的机器(注意:已发布的快照版本无法向老版本数据库兼容,意味着2008下创建的事转载 2010-06-04 11:13:00 · 486 阅读 · 0 评论 -
数据库优化系列(转)
<br />数据库的优化措施 索引优化<br />索引的作用就类似于书的目录,书的目录会按照章节的顺序排列,会指想某一张的位置。这样如果在一本数百页的书里面查找某个章节位置的时候,我们就可以只扫描书的目录,扫描的范围缩小了n倍,查询的效率自然就提高了。另外在sql server内存够用的情况下索引会被放到内存中,在内存中查找自然又会提高效率;所以我们必须得合理利用索引。<br />1)对什么列建索引<br />数据库默认情况下会对主键建聚集索引,除了这个索引之外还需要在哪些列上建索引呢?这个问题只能具体情况原创 2010-07-02 13:53:00 · 630 阅读 · 0 评论 -
程序员应知——数据库设计的两个误区(转)
<br />写在前面:本来“程序员应知”系列中应该写的都是与程序员密切相关的内容,而数据库设计似乎应该是数据库管理员的工作。然而,在实际的工作环境中,我所经历几乎所有的项目中,数据库设计工作都是由程序员来完成的;就算我们是不需要做数据库设计的程序员,也至少需要对数据库的结构有充分的理解,那样也便于我们编写和维护系统。思量再三,我还是将这篇与数据库设计相关的文章放在了这个系列当中。<br />在几乎所有的企业级应用程序中,包括各种MIS、ERP、CRM等等,都会使用数据库,这样的好处是显而易见的,很容易地实现转载 2010-07-02 13:47:00 · 690 阅读 · 0 评论 -
如何创建高性能的索引
设计好MySql的索引可以让你的数据库飞起来,大大的提高数据库效率。设计MySql索引的时候有一下几点注意:1,创建索引对于查询占主要的应用来说,索引显得尤为重要。很多时候性能问题很简单的就是因为我们忘了添加索引而造成的,或者说没有添加更为有效的索引导致。如果不加索引的话,那么查找任何哪怕只是一条特定的数据都会进行一次全表扫描,如果一张表的数据量很大而符合条件的结果又很少,那么不加索引会引起致原创 2010-04-19 16:24:00 · 516 阅读 · 0 评论 -
bcp命令详解
bcp 实用工具在 Microsoft? SQL Server? 2000 实例和数据文件之间以用户指定的格式复制数据。语法bcp {[[database_name.][owner].]{table_name | view_name} | "query"} {in | out | queryout | format} data_file [-m max_errors] [-f原创 2010-01-14 13:40:00 · 1194 阅读 · 0 评论 -
如何配置 SQL Server 2005 以允许远程连接
你好! 这是一个已知的错误类型:在默认情况下是不允许远程连接到Sql Server实例的。 看看microsoft公司的解决方法:如何配置 SQL Server 2005 以允许远程连接察看本文应用于的产品文章编号:914277最后修改:2007年11月30日修订:1.0本页简介更多原创 2010-01-14 11:56:00 · 390 阅读 · 0 评论 -
SQL锁机制和事务隔离级别(转)
NOLOCK和READPAST的区别。1.开启一个事务执行插入数据的操作。BEGIN TRAN tINSERT INTO CustomerSELECT a,a2.执行一条查询语句。SELECT * FROM Customer WITH (NOLOCK)结果中显示”a”和”a”。当1中事务回滚后,那么a将成为脏数据。(注:1中的事务未提交) 。NOLOCK表明没有原创 2010-01-08 15:11:00 · 504 阅读 · 0 评论 -
关于sql日志文件
一段时间来,每天的工作都比较杂,vb,asp,c#,sql,每项工作都要搞,实在是累!工作之余,想想公司和工作的情况,看来是有必要换个环境了。不过也要先把目前的工作处理完成啊。 最近又遇到一个问题:一家客户使用中的数据库,日志文件异常增大,平均每天增加大约一个G,而数据文件变化不大。这两天开始查这个问题,但是好几天时间过去了,一直没有头绪。已经做了重建索引,重装sql原创 2009-12-02 18:32:00 · 605 阅读 · 0 评论 -
SQL 2005数据类型说明
自动编号:设字段类型为:int ,然后列属性中 (是标识)选是,标识种子选1。用varchar(max)代替text。varchar的最大长度为8000,但是varchar(max)则可以存储多达2G的数据,因此其作用相当于SQL 2000中的text。但是微软可能会后续的SQL Server版本中移除text类型,从现在就应该用varchar(max) 来代替text。用nvarchar(max原创 2009-12-02 17:54:00 · 628 阅读 · 0 评论 -
SQL Server的 排序规则(collation)冲突和解决方案
什么是排序规则(collation) 关于SQL Server的排序规则,估计大家都不陌生,在创建数据库时我们经常要选择一种排序规则(conllation),一般我们会留意到每一种语言的排序规则都有许多种,比如标准大陆简体中文Chinese_PRC的排序规则就有数十种之多 这些排序规则有什么作用呢?让我们先来看看MS官方的解释:排序规则指定了表示每个字符的位模式。它还指定了原创 2010-01-22 11:42:00 · 668 阅读 · 0 评论 -
定期清理sql2005事务日志
因最近公司网站客户量的增加,后台数据库的日志也在不断的增加,为避免数据 库日志过大导致网站运行出错,就需定期对数据库事务日志进行清理 DUMP TRANSACTION [数据库名] WITH NO_LOG BACKUP LOG [数据库名] WITH NO_LOG DBCC SHRINKDATABASE([数据库名]) 并在sql2005资源管理器中做维护原创 2010-01-21 13:33:00 · 572 阅读 · 0 评论 -
SQL Server最受欢迎技巧:解读DBA
【IT168 技术分析】在向2009年告别之际,我们来回顾一下过去的一年中最受欢迎的SQL Server技巧,包括了OPENROWSET、FILESTREAM等函数的用法、密码工具介绍以及DBA日常工作建议等内容。 通过对这些精华文章的再次回顾,希望可以帮助您梳理一下这一年以来的工作以及学习心得,对未来一年更进一步打下更坚实的基础。 微软SQL Server中的批量复制程序(Bulk原创 2010-01-14 11:36:00 · 2608 阅读 · 0 评论 -
索引重建
继续学习与数据库性能相关的问题。 作为数据库管理员应该都知道,数据库需要定期维护,这其中有一点是非常重要的——索引重建。 如果长时间不维护索引,特别是大量应用索引的数据库,长期积累的结果就会是数据库用户连接数据库的速度越来越慢,数据库运行甚至慢的像个蜗牛。 下面是最近看书得来的“索引重建”脚本 : CodeCode highlighting produced原创 2009-11-05 17:26:00 · 387 阅读 · 0 评论 -
DBA的SQL Server 2005备份维护计划
作为一名DBA,他们最常见的日常任务是:1)定期完成数据库的完全备份或差异备份。2)定期清理备份文件,因为存储空间有限,可能只需要保存一个时期段内的文件(比如一周内或一月内)。而如何做到这两点呢?笔者相信在SQL SERVER2005版本出来之前要实现这种功能, 也是可以实现的,只是实现定期清理备份文件显得不那么直接,一般需要手写批处理作业维护,而在SQL Server 2005版本原创 2009-11-05 17:09:00 · 398 阅读 · 0 评论 -
用SQL Server保持会话状态
在调用服务器后要继续在服务器中保留数据通常很难,你可以用SQL Server来进行会话状态管理(用户会话数据)。以下教你怎样用它来进行管理。 在页面开发中,在服务器调用里保留数据是一个常见的不好解决的难题。你也许需要为你的应用程序或特殊用户的会话保存信息。存储这样的数据被称为状态管理,ASP.NET为你提供了一些方法,这些方法能让你通过各种途径完成这一任务。这包括将数据存储在一个状态服务器的原创 2009-11-05 14:12:00 · 537 阅读 · 0 评论 -
配置SQL Server 2005 以允许远程连接
SQL Server 2005 开发版不允许远程连接。 要允许远程连接SQL Server 2005 ,需要完成以下步骤: •在SQLServer 实例上启用远程连接。 •打开服务器 SQLBrowser 服务。•配置防火墙以允许SQLBrowser 服务和SQLServer服务网络通信。 在SQLServer 实例上启用远程连接1.指向“开始->程序->Microsoft SQL Ser原创 2009-11-05 14:00:00 · 402 阅读 · 0 评论 -
如何解决SQLServer占内存过多的问题
经常看见有人问,MSSQL占用了太多的内存,而且还不断的增长;或者说已经设置了使用内存,可是它没有用到那么多,这是怎么一回事儿呢? 首先,我们来看看MSSQL是怎样使用内存的。 最大的开销一般是用于数据缓存,如果内存足够,它会把用过的数据和觉得你会用到的数据统统扔到内存中,直到内存不足的时候,才把命中率低的数据给清掉。所以一般我们在看statistics io的时候,看到的physic原创 2009-11-05 13:43:00 · 661 阅读 · 0 评论 -
不同服务器数据库之间的数据操作
--创建链接服务器 exec sp_addlinkedserver ITSV , , SQLOLEDB , 远程服务器名或ip地址 exec sp_addlinkedsrvlogin ITSV , false ,null, 用户名 , 密码 --查询示例 select * from ITSV.数据库名.dbo.表名 -原创 2009-10-16 16:47:00 · 417 阅读 · 0 评论 -
清除SQL数据库日志文件
清除SQL数据库日志文件/*--压缩数据库的通用存储过程有两种方法 一是压缩日志,二是删除日志。一、压缩日志及数据库文件大小因为要对数据库进行分离处理所以存储过程不能创建在被压缩的数据库中/*--调用示例exec p_compdb test--*/use master --注意,此存储过程要建在master数据库中goif exists (select * from原创 2010-01-21 13:28:00 · 695 阅读 · 0 评论 -
sql2005 清除日志
因为数据库运行的过程发生了点错误。描述如下源 spid10s消息High priority system task thread: Operating system error Exception 0xAE encountered.查了下,可能是没打sql2005补丁的关系,但现在日志文件里这样的信息有25w笔之多占用了5g多的空间,但发觉居然无法清除。。网原创 2010-01-21 13:31:00 · 648 阅读 · 0 评论 -
SQL 表锁
其实你可以使用事务处理 比方说在一个字段里面添加一个boolean 的字段当你要处理该字段的时候就 True 哪么别的人都不可以进行操作 如果是False 哪么就可以进行操作~~呵可~~我是这样的 不过你可以看看 SQL锁机制 以下是我找的一些料 如果要理解SQL锁机制 最好把下来看完哦默认的事务隔离级别下:Insert,update ,delete下的是X锁, 会等待事务完成sel原创 2010-01-27 16:56:00 · 534 阅读 · 0 评论 -
MSsql每天自动备份自动清除日志的操作方法
1、每日自动备份 打开企业管理器,进入“管理”-“数据库维护计划”,在右侧窗口点击右键,选择“新建维护计划”,启动“数据库维护计划向导”;点击“下一步” 选择需要维护的数据库,维护特性数据库时,选择最后一个单选框并勾选需要维护的数据库名称;“下一步”选择更新数据优化信息、“下一步”检查数据库完整 性、“下一步”指定数据库备份计划、“下一步”指定备份存放位置、“下一步”指定事务日志备份计划、“原创 2009-12-02 17:59:00 · 861 阅读 · 0 评论 -
SQL Server 2005通过日志查看服务器的运行情况
4.6 通过日志查看服务器的运行情况SQL Server 2005可以将某些系统事件和用户自定义的事件记录到SQL Server错误日志和Windows应用程序日志中。这两种日志都会自动标上时间。4.6.1 在【事件查看器】中查看服务器的运行情况SQL Server 2005服务器的启动、关闭和暂停动作,都会产生一个事件记录,这个记录将会记在Windows的【事件查看器】中。如果在4.原创 2009-12-02 17:39:00 · 1373 阅读 · 1 评论 -
SQL锁表语句
字号: 大大 中中 小小 锁定数据库的一个表 SELECT * FROM table WITH (HOLDLOCK)注意: 锁定数据库的一个表的区别SELECT * FROM table WITH (HOLDLOCK) 其他事务可以读取表,但不能更新删除SELECT * FROM table WITH (TABLOCKX)原创 2010-01-27 16:45:00 · 559 阅读 · 0 评论 -
常用的存储过程-清除日志 不管有多少个G也可清除 (转)
来源于网上收集,整理使用。 SQL2005 1个多G的日志,有时候清不掉。所以找了这段代码。 有时候清理日志未清理成1M 请多执行几遍。一般清况下执行一次就可以的。 我碰到过要执行两遍的。 1 SELECT @LogicalFileName = Test_log, Test_log 为日志逻辑名称。 Code highlighting produced by原创 2010-01-27 10:09:00 · 492 阅读 · 0 评论