天高地厚

  博客园  :: 首页  :: 新随笔  :: 联系 :: 订阅 订阅  :: 管理

随笔分类 -  SQL Server

SQL Server
摘要:摘要:本文主要阐述如何实现SQL Server双节点群集高可用性部署实施,通过微软MSCS技术使SQL Server达到企业级安全应用要求。另外 ,本文介绍SQL Server 2005中新增的镜像服务功能,相比MSCS SQL Server 群集,SQL Server数据库镜像是基于软件的高可用性解决方案。1.概述本方案目标是通过微软MSCS技术使SQLServer达到企业级应用要求,内容包含双节点主动/被动模式群集和主动/主动模式群集。另外 ,本文介绍SQL Server 2005中新增的镜像服务功能,相比MSCS SQL Server 群集,SQL Server数据库镜像是基于软件的高可 阅读全文

posted @ 2012-12-18 15:56 天高地厚-GNU 阅读(279) 评论(0) 推荐(0)

摘要:1.操作系统:排除可能是木马或病毒等。2.应用系统:(a)重要表的索引建立和使用,(b)执行效率低的SQL导致查询或更新进程的阻塞,直至引发的死锁现象。这都将成为引发SQL Server响应异常缓慢,CPU占用率高居不下的主要原因。(1).首先执行sp_lock,排除X锁和IX锁。(2).查询是否是由于重要表引起的CPU占用率高:SELECT TOP 5 total_worker_time, last_worker_time, max_worker_time, min_worker_time,SUBSTRING(st.text, (qs.statement_start_offset/2) + 阅读全文

posted @ 2012-12-18 14:52 天高地厚-GNU 阅读(149) 评论(0) 推荐(0)

摘要:一、行转列1、建立表格ifobject_id('tb')isnotnulldroptabletbgocreatetabletb(姓名varchar(10),课程varchar(10),分数int)insertintotbvalues('张三','语文',74)insertintotbvalues('张三','数学',83)insertintotbvalues('张三','物理',93)insertintotbvalues('李四','语文',74)in 阅读全文

posted @ 2012-12-18 14:39 天高地厚-GNU 阅读(187) 评论(0) 推荐(0)

摘要:二、SQL SERVER 和EXCEL的数据导入导出1、在SQL SERVER里查询Excel数据:-- ======================================================SELECT * FROM OpenDataSource( 'Microsoft.Jet.OLEDB.4.0','Data Source="c:\book1.xls";User ID=Admin;Password=;Extended properties=Excel 5.0')...[Sheet1$]下面是个查询的示例,它通过用于 阅读全文

posted @ 2012-12-18 11:49 天高地厚-GNU 阅读(135) 评论(0) 推荐(0)

摘要:1、触发器。定义:何为触发器?在SQLServer里面也就是对某一个表的一定的操作,触发某种条件,从而执行的一段程序。触发器是一个特殊的存储过程。常见的触发器有三种:分别应用于Insert,Update,Delete事件。(SQLServer2000定义了新的触发器,这里不提)我为什么要使用触发器?比如,这么两个表:CreateTableStudent(--创建学生表StudentIDintprimarykey,--学号,定义主键约束....)CreateTableBorrowRecord(--创建借书记录表BorrowRecordintidentity(1,1),--自动增长流水号Stude 阅读全文

posted @ 2012-12-18 11:39 天高地厚-GNU 阅读(125) 评论(0) 推荐(0)

摘要:本周:select * from table where datediff(week,C_CALLTIME,getdate())=0 --C_CALLTIME 为日期字段本月:select * from table where datediff(Month,C_CALLTIME,getdate())=0 --C_CALLTIME 为日期字段本季:select * from table where datediff(qq,C_CALLTIME,getdate())=0 前半年1-6,后半年7-12:select * from table where datepart(mm,C_CALLTIME) 阅读全文

posted @ 2012-12-18 11:26 天高地厚-GNU 阅读(148) 评论(0) 推荐(0)

摘要:大家最常见的是使用sql命令来进行数据库备份,最常用的sql语句如下:backup [dbname] to disk=[路径+文件名]restore [dbname] from disk=[路径+文件名]另外可以使用SQLDMO来实现数据库备份的功能SQLDMO(SQLDistributedManagementObjects,SQL分布式管理对象)封装MicrosoftSQLServer2000数据库中的对象。SQL-DMO允许用支持自动化或COM的语言编写应用程序,以管理SQLServer安装的所有部分。SQL-DMO是SQLServer2000中的SQLServer企业管理器所使用... 阅读全文

posted @ 2012-12-18 11:23 天高地厚-GNU 阅读(231) 评论(0) 推荐(0)

摘要:利用T-SQL语句,实现数据库的备份与还原的功能这种方式感觉实现起来也不错,我是使用这种方式来完成数据库备份还原的功能的。需要指出下面这些存储过程是在网上搜索到的。谢谢代码的提供者。在此转载利用T-SQL语句,实现数据库的备份与还原的功能体现了SQL Server中的四个知识点: 1. 获取SQL Server服务器上的默认目录 2. 备份SQL语句的使用 3. 恢复SQL语句的使用,同时考虑了强制恢复时关闭其他用户进程的处理 4. 作业创建SQL语句的使用 /*1.--得到数据库的文件目录@dbname 指定要取得目录的数据库名如果指定的数据不存在,返回安装SQL时设置的默认数据目录如果指定 阅读全文

posted @ 2012-12-18 11:22 天高地厚-GNU 阅读(189) 评论(0) 推荐(0)

摘要:局部性原理 所谓的局部性原理分为时间和空间上的。由于程序是顺序执行的,因此当前数据段附近的数据有可能在接下来的时间被访问到。这就是所谓的空间局部性。而程序中还存在着循环,因此当前被访问的数据有可能在短时间内被再次访问,这就是所谓的时间局部性原理。 因此在了解了局部性原理之后,我们可以通过以下几个手段来减少磁盘的IO。提前读(Read-Ahead) 提前读也被称为预读。根据磁盘原理我们不难看出,在磁盘读取数据的过程中,真正读取数据的时间只占了很小一部分,而大部分时间花在了旋转延迟和寻道时间上,因此根据空间局部性原理,SQL Server每次读取数据的时间不仅仅读取所需要的数据,还将所请求数据附近 阅读全文

posted @ 2012-12-18 09:36 天高地厚-GNU 阅读(455) 评论(0) 推荐(0)

摘要:简介 理解SQL Server对于内存的管理是对于SQL Server问题处理和性能调优的基本,本篇文章讲述SQL Server对于内存管理的内存原理。二级存储(secondary storage) 对于计算机来说,存储体系是分层级的。离CPU越近的地方速度愉快,但容量越小(如图1所示)。比如:传统的计算机存储体系结构离CPU由近到远依次是:CPU内的寄存器,一级缓存,二级缓存,内存,硬盘。但同时离CPU越远的存储系统都会比之前的存储系统大一个数量级。比如硬盘通常要比同时代的内存大一个数量级。 图1.计算机存储体系 因此对于SQL Server来说,正常的生产系统所配置的内存通常不能装载所有. 阅读全文

posted @ 2012-12-18 09:17 天高地厚-GNU 阅读(125) 评论(0) 推荐(0)

摘要:简介 在SQL SERVER中,数据库在硬盘上的存储方式和普通文件在Windows中的存储方式没有什么不同,仅仅是几个文件而已.SQL SERVER通过管理逻辑上的文件组的方式来管理文件.理解文件和文件组的概念对于更好的配置数据库来说是最基本的知识。理解文件和文件组 在SQL SERVER中,通过文件组这个逻辑对象对存放数据的文件进行管理. 先来看一张图: 我们看到的逻辑数据库由一个或者多个文件组构成 而文件组管理着磁盘上的文件.而文件中存放着SQL SERVER的实际数据.为什么通过文件组来管理文件 对于用户角度来说,需对创建的对象指定存储的文件组只有三种数据对象:表,索引和大对象(LOB. 阅读全文

posted @ 2012-12-18 09:13 天高地厚-GNU 阅读(171) 评论(0) 推荐(0)

摘要:SQL SERVER数据存储的形式 在谈到几种不同的读取方式之前,首先要理解SQL SERVER数据存储的方式.SQL SERVER存储的最小单位为页(Page).每一页大小为8k,SQL SERVER对于页的读取是原子性,要么读完一页,要么完全不读,不会有中间状态。而页之间的数据组织结构为B树(请参考我之前的博文).所以SQL SERVER对于逻辑读,预读,和物理读的单位是页. SQL SERVER一页的总大小为:8K 但是这一页存储的数据会是:8K=8192字节-96字节(页头)-36字节(行偏移)=8060字节 所以每一页用于存储的实际大小为8060字节. 比如上面AdventureW. 阅读全文

posted @ 2012-12-18 09:12 天高地厚-GNU 阅读(248) 评论(0) 推荐(0)