水滴石穿

渴望成为高手--Amy.Qiu
  博客园  :: 首页  :: 新随笔  :: 联系 :: 订阅 订阅  :: 管理

2014年9月26日

摘要: sql server远程备份和恢复SQLSERVER服务实例名称:192.168.0.2需要备份的数据库名称: a备份机器名称(Client端):192.168.0.3备份机用户:zf 密码:123备份机域名:domain备份机提供备份需求的文件夹:D:\sqlbak备份数据库第一步: 在备份机建立... 阅读全文

posted @ 2014-09-26 14:56 AmyQiu 阅读(1910) 评论(0) 推荐(0) 编辑

2013年4月26日

摘要: 本文阐述了批处理在 SQL Server 2005 中的缓存和重用方式,并就最大限度重用已缓存的计划提供了相应的最佳实务。另外,文中还说明了一些重新编译批处理的方案,并针对减少或消除不必要的重新编译,给出了最佳实务。 一、本白皮书的目的 此白皮书的目的有几个。阐述了批处理在 SQL Server 2005 中的缓存和重用方式,并就最大限度重用已缓存的计划提供了相应的最佳实务。另外,文中还说明了一些重新编译批处理的方案,并针对减少或消除不必要的重新编译,给出了最佳实务。本白皮书阐述了 SQL Server 2005 的“语句级重新编译”功能。另外,还介绍了许多工具及实用程序,它们可在查询编译.. 阅读全文

posted @ 2013-04-26 17:42 AmyQiu 阅读(203) 评论(0) 推荐(0) 编辑

摘要: 最近,为了能在数据库服务器中运行其他应用程序,在保持数据库操作系统版本不变的前提下对数据库服务器进行了软、硬件上的升级。在软件上,将操作系统从Windows 2000升级到Windows Server 2003;在硬件上,将服务器中的内存由原来的512MB增加到1GB(1024MB)。在升级后的开始几个星期之内,服务器在使用中表现良好。但是不久后就发现,在服务器上同时运行的其他应用程序却出现了异常,不时地报出内存分配不足的警告。经过几次跟踪后发现,原来是SQL Server吞去了大部分内存所致。被SQL Server占用的内存由升级前的不到400MB一下子增加到现在的900MB,并且有不断增长 阅读全文

posted @ 2013-04-26 17:33 AmyQiu 阅读(163) 评论(0) 推荐(0) 编辑

摘要: 把计划放入缓存之后,SQL Manager 按照执行要求逻辑进行检查,确定是否有更改的内容,是否需要重新编译。即使编译到执行之间时间间隔只有几毫秒,也可能有人会执行一条数据定义语句 (DDL),为关键的表加了索引。这种可能性不大,但是确实存在,因此 SQL Server 必须考虑这一点。有几种情况 SQL Server 必须重新编译存储规划。元数据的修改,例如增加或删除索引,是重新编译的最主要的原因。服务器必须确信所使用的计划反映了索引的当前状态。重新编译的另一种原因是统计情况发生变化。SQL Server 还维护不少数据使用频率的统计信息。如果数据使用频率分布情况变化很大,则可能需要另一个查 阅读全文

posted @ 2013-04-26 17:31 AmyQiu 阅读(175) 评论(0) 推荐(0) 编辑

摘要: 1 逻辑数据库和表的设计数据库的逻辑设计、包括表与表之间的关系是优化关系型数据库性能的核心。一个好的逻辑数据库设计可以为优化数据库和应用程序打下良好的基础。标准化的数据库逻辑设计包括用多的、有相互关系的窄表来代替很多列的长数据表。下面是一些使用标准化表的一些好处。A:由于表窄,因此可以使排序和建立索引更为迅速;B:由于多表,所以多镞的索引成为可能;C:更窄更紧凑的索引;D:每个表中可以有少一些的索引,因此可以提高insert update delete等的速度,因为这些操作在索引多的情况下会对系统性能产生很大的影响;E:更少的空值和更少的多余值,增加了数据库的紧凑性由于标准化,所以会增加了在获 阅读全文

posted @ 2013-04-26 17:17 AmyQiu 阅读(229) 评论(0) 推荐(0) 编辑

摘要: 如何加快查询速度?1、升级硬件2、根据查询条件,建立索引,优化索引、优化访问方式,限制结果集的数据量。3、扩大服务器的内存4、增加服务器CPU个数5、对于大的数据库不要设置数据库自动增长,它会降低服务器的性能6、在查询Select语句中用Where字句限制返回的行数,避免表扫描,如果返回不必要的数据,浪费了服务器的I/O资源,加重了网络的负担降低性能。如果表很大,在表扫描的期间将表锁住,禁止其他的联接访问表,后果严重。7、查询时不要返回不需要的行、列8、用select top 100 / 10 Percent 来限制用户返回的行数或者SET ROWCOUNT来限制操作的行9、在IN后面值的列表 阅读全文

posted @ 2013-04-26 17:16 AmyQiu 阅读(138) 评论(0) 推荐(0) 编辑

摘要: SQL 语句优化原则:1. IN 操作符 用IN写出来的SQL的优点是比较容易写及清晰易懂,这比较适合现代软件开发的风格。 但是用IN的SQL性能总是比较低的,从执行的步骤来分析用IN的SQL与不用IN的SQL有以下区别: 将其转换成多个表的连接,如果转换不成功则先执行IN里面的子查询,再查询外层的表记录,如果转换成功则直接采用多个表的连接方式查询。由此可见用IN的SQL至少多了一个转换的过程。一般的SQL都可以转换成功,但对于含有分组统计等方面的SQL就不能转换了。推荐方案:在业务密集的SQL当中尽量不采用IN操作符。可以用exists代替。 SQL Server例子:Exists用法:se 阅读全文

posted @ 2013-04-26 16:31 AmyQiu 阅读(118) 评论(0) 推荐(0) 编辑

摘要: 昨天看到网上有一个关于SQL SERVER 课件,便随手下载了下来看看主要讲了些什么内容,于是看到了下面两个PPT页面 由于第一张PPT上的内容不太准确(日志文件中没有“日志页”的概念,只有VLF的概念,可能是我们对“数据页”的概念太深刻了,因此弄了以“日志页”的概念出来,而PPT中说先更新高速缓冲区中的数据页,然后将事务日志写入到“日志页”,很容易让人理解成先更改高速缓冲区,然后将日志写入到磁盘上的“日志页”),再加上我看PPT时比较"囫囵"(只看到前一张PPT,没有往后翻两下看后面一张PPT).因此我觉得PPT的作者在日志的写入顺序上有问题.索性查了一下资料,然后比较深 阅读全文

posted @ 2013-04-26 16:27 AmyQiu 阅读(175) 评论(0) 推荐(0) 编辑

摘要: 第一部分:SQL SERVER是通过哪个组件以及如何来和客户端进行“接受要求”及“提供结果”的交互的SQL SERVER 服务器于客户端的交互主要依靠Open Data Services(简称ODS)组件,中文名 “开放数据服务”。在《SQL SERVER 2000技术内幕》中,译者将Open Data Services 翻译为“开放式数据服务”,但是这里的OPEN应该意味着“把数据开放”,“开放式”有一点不准确,联系上下文来看的话,无伤大雅。ODS组件主要负责监听新的连接,清理失败的连接,以及将关系引擎返回的数据集、消息和状态值等信息返回给客户端。ODS组件可以响应一下三种事件:连接事件、语 阅读全文

posted @ 2013-04-26 16:26 AmyQiu 阅读(377) 评论(0) 推荐(0) 编辑

2010年4月16日

摘要: 如何使用MDX编写同比和环比在做BI项目中,会经常提出类似这样的需求:1. 本月比上月的销售额增长了多少?百分比是多少?2. 本季度第一个月比上季度第一个月的销售额增长了多少?百分比是多少?环比需求:本月比上个月的销售额增长了多少个百分点?MDX语句如下:WITHMEMBERMeasures.[AmountChangeRate]AS[Measures].[InternetSalesAmount]/... 阅读全文

posted @ 2010-04-16 16:22 AmyQiu 阅读(702) 评论(0) 推荐(0) 编辑

2010年4月14日

摘要: SSIS2008组件使用测试Author: Amy.QiuuControl Flow1. Foreach Loop ContainerEg. 循环Excel文件。a. 配置foreach, 双击后选择Collection-> Enumerator-> Foreach File Enumerator;Variable Mappings-> Variable.@ExcelFilePa... 阅读全文

posted @ 2010-04-14 16:41 AmyQiu 阅读(1744) 评论(0) 推荐(0) 编辑

2010年4月7日

摘要: 1说明:查询在所有州都销售的品牌。with set [SoldInUSA] as 'Filter([Product].[Brand Name].Members, Not IsEmpty( ([USA], [Unit Sales]) ))'member [Measures].[SoldInState] as 'iif( IsEmpty(([Product].CurrentMember, [Unit ... 阅读全文

posted @ 2010-04-07 16:34 AmyQiu 阅读(960) 评论(0) 推荐(0) 编辑

摘要: MDX涉及的一些概念 MDX主要涉及到了如下概念:成员、成员名和成员键、计算成员、成员函数、元组、元组函数、元组和维数、集合、聚合函数、集合和维数、命名集成员: 成员是代表维度中一次或多次数据出现的项。请把维度中的成员看作基础数据库中的一个或多个记录,其该列内的值归入该分类。成员是描述多维数据集中的单元数据时的最低参照层次。 例如,下面的关系图加入阴影以表示"时间.[下半年].[第三季度]"成员 ... 阅读全文

posted @ 2010-04-07 16:21 AmyQiu 阅读(990) 评论(0) 推荐(1) 编辑

摘要: SQL Server Analysis Service中Cube的结构 SSAS中Cube的结构 在SSAS(SQL Server Analysis Services)中构建Cube和编写MDX的时候,我们很容易被一些名词弄糊涂,比如:Dimension(维度),Measures Dimension(度量维度),Measure(度量),Hierarchy(层次结构),Attribute hiera... 阅读全文

posted @ 2010-04-07 16:21 AmyQiu 阅读(471) 评论(0) 推荐(1) 编辑

摘要: MDX中函数的应用[代码] 阅读全文

posted @ 2010-04-07 16:20 AmyQiu 阅读(630) 评论(0) 推荐(0) 编辑

摘要: MDX优化Set操作—SUM中的CrossJoin 1. 优化Set操作的关键在于:把大的SET操作变成小的SET操作。2. 由于CrossJoin代价(CPU、内存)巨大,所以最好用其他操作代替CrossJoin操作。SUM中的CrossJoin作者认为:要避免SUM一个包含多个CrossJoin的Set,你可以用其他的操作(比如嵌套SUM)进行替换。据此,我测试了一下两组语句: W... 阅读全文

posted @ 2010-04-07 16:19 AmyQiu 阅读(819) 评论(1) 推荐(0) 编辑

摘要: MDX中的Where vs. Subselect/SubcubeWhere和Subselect/Subcube在MDX都是经常使用的语句,有的时候它们能起到相同的效果,而有的时候却又不能,这究竟是什么原因呢?本文将尝试就这些情况作一些分析(不对之处,欢迎大家及时指出)。以下MDX语句可以在SSAS(打了SP2补丁的版本)的示例库:Adventure Works中运行。 相同和不同Where和Sub... 阅读全文

posted @ 2010-04-07 16:17 AmyQiu 阅读(625) 评论(1) 推荐(0) 编辑

摘要: MDX中一些边界问题的处理 在编写MDX中,各种各样的边界情况存在,比如:Member不存在,被0除,或则某个部分在cube和维度中并不存在等等,本文对这些情况下如何来处理做了一个小结。以下MDX语句可以在SSAS的示例库:Adventure Works中运行。 Member不存在的情况在使用Member的一些函数(比如:Lag,Lead,ParalledPeriod等)的时候,我们经常需要得到当... 阅读全文

posted @ 2010-04-07 16:14 AmyQiu 阅读(413) 评论(0) 推荐(0) 编辑

摘要: MDX中常见的计算方法 本文介绍了一些经常编写的MDX语句的写法。以下MDX语句可以在SSAS的示例库:Adventure Works中运行。例子模型以下的MDX中用到的Hierarchy如下:百分比1)某个子项占总体的百分比。比如:每种Product的销售额占所有Product销售额的百分比。WITHMEMBER[Measures].[SaleAmountRatio]AS'[Measures].... 阅读全文

posted @ 2010-04-07 16:12 AmyQiu 阅读(4271) 评论(1) 推荐(1) 编辑

2010年3月12日

摘要: [代码] 阅读全文

posted @ 2010-03-12 16:43 AmyQiu 阅读(517) 评论(0) 推荐(0) 编辑

2010年1月14日

摘要: 在SQL Server的性能调优中,有一个不可比拟的问题:那就是如何在一段需要长时间的代码或被频繁调用的代码中处理临时数据集?表变量和临时表是两种选择。记得在给一家国内首屈一指的海运公司作SQL Server应用性能评估和调优的时候就看到过大量的临时数据集处理需求,而他们的开发人员就无法确定什么时候用临时表,什么时候用表变量,因此他们就简单的使用了临时表。实际上临时表和表变量都有特定的适用环境。 ... 阅读全文

posted @ 2010-01-14 16:36 AmyQiu 阅读(307) 评论(0) 推荐(0) 编辑

2009年11月3日

摘要: [代码][代码][代码] 阅读全文

posted @ 2009-11-03 14:41 AmyQiu 阅读(616) 评论(1) 推荐(0) 编辑

2009年10月16日

摘要: sql中的某个字段用“,”分隔数据,需要获取数据的时候直接把“,”拆分成数据,获得一个数据的list。例如:需要查询某字段是否包含一个值,111是否存在于1111,2111,1112,1121,1113这个字段中。因为根据“,”逗号分开,要求的答案是:不在字段中。用传统的like '%111%',显然不合适,这样虽然111不存... 阅读全文

posted @ 2009-10-16 12:23 AmyQiu 阅读(1816) 评论(2) 推荐(3) 编辑

2009年7月13日

摘要: 下面具体演示一下如何用SSIS完成这样的处理:1. 准备测试环境-- 1. 在数据库中创建下面的对象USE tempdbGOCREATE TABLE dbo.tb( id int PRIMARY KEY, name nvarchar(128))GO-- 2. 准备两个文本文件, 放在d:\test 目录下, 文件的内容如下t1.txtid name1 张三2 李四t2.txtid name1 张三... 阅读全文

posted @ 2009-07-13 16:35 AmyQiu 阅读(616) 评论(0) 推荐(0) 编辑

摘要: Project REAL:业务智能 ETL 设计实施策略发布日期: 2005年12月19日发布者 Erik VeermanSQL Server 技术文章技术审阅:Donald Farmer、Grant Dickinson合作伙伴:Intellinet适用于:SQL Server 2005摘要:了解 SQL Server 2005 Integration Services (SSIS) 的使用。在称... 阅读全文

posted @ 2009-07-13 16:14 AmyQiu 阅读(592) 评论(0) 推荐(0) 编辑

摘要: 这个帖子主要总结在触发器方面的应用。 对于没有使用过触发器的兄弟可以先看下面关于使用触发器的文章。 http://msdn.microsoft.com/library/chs/default.asp?url=/library/CHS/vdbt7/html/dvtskworkingwithtriggers.asp 大家可以在下面的链接来搜索CSDN技术社区文档,很大的技术宝藏。 http://sea... 阅读全文

posted @ 2009-07-13 16:07 AmyQiu 阅读(274) 评论(0) 推荐(0) 编辑

摘要: >服务器端编程>创建供前端应用程序通过Web服务调用的存储过程。首先,我们在SQL Server 2005示例数据库AdventureWorks中创建两个存储过程—GetProducts和UpdateproductPrice。后面,我们将通过SQL Server本机Web服务来访问这两个存储过程。创建它们的相应SQL脚本代码如下所示:USE AdventureWorksGO... 阅读全文

posted @ 2009-07-13 16:05 AmyQiu 阅读(242) 评论(0) 推荐(0) 编辑

摘要: 查询死锁进程的方法:一条SQL2005里查询进程信息的SQL语句虽然简单,估计大家都能写出来,不过比较实用,返回的信息包括进程阻塞信息、登录的相关信息、执行的SQL语句信息、进程所消耗的CPU、内存、I/O信息、以及客户端IP信息,具体如下:with tbas(select blocking_session_id,session_id,db_name(database_id) as dbname,... 阅读全文

posted @ 2009-07-13 15:51 AmyQiu 阅读(916) 评论(0) 推荐(0) 编辑

摘要: HOW TO FIX SQLSERVER DATABASE SUSPECT?如何修复数据库状态"置疑"?**********************************************************Author:黄山光明顶mail:leimin@jxfw.comversion:1.0.0date:2004-1-30(如需转载,请注明出处!,如果有问题请发MAIL给我:-))*... 阅读全文

posted @ 2009-07-13 15:39 AmyQiu 阅读(290) 评论(0) 推荐(0) 编辑

摘要: *基本还原数据库方法*http://community.csdn.net/Expert/topic/5111/5111602.xml?temp=.9495661http://community.csdn.net/Expert/topic/4991/4991655.xml?temp=.515011SQL Server 2005还原问题http://community.csdn.net/Expert/... 阅读全文

posted @ 2009-07-13 15:33 AmyQiu 阅读(246) 评论(0) 推荐(0) 编辑

摘要: 一、 镜像简介1、 简介数据库镜像是将数据库事务处理从一个SQL Server数据库移动到不同SQL Server环境中的另一个SQL Server数据库中。镜像不能直接访问;它只用在错误恢复的情况下才可以被访问。要进行数据库镜像所需的最小需求包括了两个不同的SQL Server运行环境。主服务器被称为“主机”,第二个服务器被称作“备机”。主机数据库... 阅读全文

posted @ 2009-07-13 15:28 AmyQiu 阅读(440) 评论(0) 推荐(0) 编辑

摘要: 1.数据库镜像 通过新数据库镜像方法,将记录档案传送性能进行延伸。您将可以使用数据库镜像,通过将自动失效转移建立到一个待用服务器上,增强您SQL服务器系统的可用性。2.在线恢复 使用SQL2005版服务器,数据库管理人员将可以在SQL服务器运行的情况下,执行恢复操作。在线恢复改进了SQL服务器的可用性,因为只有正在被恢复的数据是无法使用的,而数据库的其他部分依然在线、可供使用。3.在线检索操作 在... 阅读全文

posted @ 2009-07-13 15:26 AmyQiu 阅读(247) 评论(0) 推荐(0) 编辑

摘要: 物理日志文件:这个比较好理解,实实在在的东西,数据库目录下面的.ldf文件就是,有些人喜欢改后缀,感觉不大好,数据库的事务日志记录就在这里面虚拟日志:对于一个或多个连续的物理日志文件,SQL SERVER在这些文件的内部又划分成了多个小的文件,称为虚拟日志文件,他是日志文件收缩和日志截断的最小单位,比如物理日志文件是400M,内部划分了4个100M的虚拟文件,收缩时你得到的是300M,200M,不... 阅读全文

posted @ 2009-07-13 15:22 AmyQiu 阅读(337) 评论(0) 推荐(0) 编辑

摘要: Master   Master数据库保存有放在SQLSERVER实体上的所有数据库,它还是将引擎固定起来的粘合剂。由于如果不使用主数据库,SQLSERVER就不能启动,所以你必须要小心地管理好这个数据库。因此,对这个数据库进行常规备份是十分必要的。   这个数据库包括了诸如系统登录、配置设置、已连接的SERVER等信息,以及用于该实体的其他系统和用户数据库的一般信息。主数据库还存有扩展存储过程,它... 阅读全文

posted @ 2009-07-13 15:21 AmyQiu 阅读(930) 评论(0) 推荐(0) 编辑

2009年6月30日

摘要: [代码][代码] 阅读全文

posted @ 2009-06-30 16:15 AmyQiu 阅读(323) 评论(0) 推荐(0) 编辑

2009年6月23日

摘要: [代码][代码] 阅读全文

posted @ 2009-06-23 17:54 AmyQiu 阅读(418) 评论(0) 推荐(0) 编辑

2009年4月25日

摘要: [代码] 阅读全文

posted @ 2009-04-25 16:20 AmyQiu 阅读(247) 评论(0) 推荐(0) 编辑

摘要: [代码] 阅读全文

posted @ 2009-04-25 15:46 AmyQiu 阅读(174) 评论(0) 推荐(0) 编辑

2009年4月24日

摘要: [代码] 阅读全文

posted @ 2009-04-24 16:30 AmyQiu 阅读(220) 评论(0) 推荐(0) 编辑

摘要: [代码] 阅读全文

posted @ 2009-04-24 11:49 AmyQiu 阅读(564) 评论(0) 推荐(0) 编辑