《非程序员》-第42期发行

dbbdggdbbdgg 2004-10-28 03:43:29
《非程序员》第42期发行

请到http://www.umlchina.com/xprogrammer/Index1.htm 或 http://www.umlchina.com/xprogrammer/cat42.htm 下载,9M

如出现“403... Forbidden字样”,那是因为由于服务商设置原因,同一时间只能一个IP下载,所以,请换一个镜像或多试几次,或用网络蚂蚁跟踪!

UMLChina(http://www.umlchina.com)以电子杂志方式发行免费电子杂志《非程序员》。杂志从“软件以用为本”出发,重点关注UML/OOAD/CBD。

非常需要您的意见!欢迎来信: think@umlchina.com

有关征稿信息请见:
http://www.umlchina.com/xprogrammer/xprogrammer.htm

《非程序员》第42期目录


【新闻】

Borland为微软的VSTS提供UML支持
IBM Rational新开发平台对非洲的影响
Aonix发布High-Integrity Profile for Ameos
Metamill公司发布Metamill 4.0-支持UML2.0的UML CASE工具

【访谈】

连接三种建模技术――王晓昀访谈

...一般大公司里会有三个软件:用Rose或Together画UML,用PowerDesigner或者ERWin做数据库设计,还有企业流程建模的工具。如果说只允许选择一种工具来完成上面三个任务,一般人都会选PowerDesigner。因此微软的动作对我们来说影响不大,我们支持微软,不和微软竞争。像某些厂商那样集成度高有好处也有坏处,很容易造成重复购买。应该允许从这家买点这个,从那家买点那个,这样有选择的话,厂家就不容易提价。...

重构极限编程(上)

...从根源来说,我最早是几年前在OTUG(the Object Technology User Group),主要是与Bob Martin和Ron Jeffries,开始关于XP的争论。在热烈讨论克莱斯勒C3项目的下马到底是公司所声称的成功还是在我们很多人看来的失败时,这场争论达到了白热化。我随后的一些幽默讽刺被广为接受,特别是我在UMLWorld主题演讲并且在最近的Rational用户大会再次演说的《Alice in Use Case Land》 ...

【方法】

使用Borland ALM解决方案的统一过程

...统一过程 (UP) 和它的一个广为人知的改进产品——IBM Rational 统一过程或称RUP,都包含一个最佳实践的集合。以下6个实践都来自于对成功开发团队的观察资料。[RUPBP]下面的部分将描述Borland ALM解决方案是如何在对这些最佳实践的支持中领先于同类产品的。...

Charles Simonyi的新方向

...如果你让Simonyi 解释怎样使像工蜂那样的编程工作可以自动完成,从而消除由于人为差错造成的程序错误,他会给你举出喷气发动机的例子。他说,拿涡轮叶片来说,它们必须做得非常精确。即使由很细心的熟练工人加工叶片,仍然不可能达到你要求的精度,而必须另造一台机器来加工叶片。其中会有人干预这个过程吗?当然,制造、维修和调整机器必须由人来完成。机器也会出错,机器一旦出错会很显著,你能马上发现,并改正它。程序编码也是如此。不需要人去接触编码。否则程序易于出错。人能制造这种机器。...

XP和FDD的比较

...XP几乎完全省略了这个步骤。来自XP社区的建议是:“我们建议你应该写一个能够满足需求的程序,文档尽可能少”。FDD也不需要创建设计文档。在Process One的最后,开发者创建一个UML图的描述,用来记录一些被否决的可选方法以及该决定的原因。这些文档以后会有用:在一个耗时很长的项目里,人们可能会忘记最初决定的细节,文档可以作为提醒。如果用户要求,正式的用户需求可以在这个文档的基础上撰写。 ...

开源软件的可用性

...但是当为这些非技术用户设计产品时,传统的可用性问题就出来了。在Greenstone研究(Nichols et al., 2001)中,一些命令行的使用习惯,如正确的执行没有提示会使用户迷惑。使用名词’man’(UNIX命令行)来代表帮助系统,在GNOME界面中使用名词’regexp’(正则表达式)都是典型的将开发人员的术语呈现给最终用户的案例。开源软件方法在解决可用性问题时失效了,因为查看界面的都是一些“错误的眼球”,他们不能发现可用性问题。从某些方面来说,开源软件可用性的问题重现了早期商业软件开发中的一些问题:最初,大多数应用是计算机专家为另一些计算机专家开发的,但随着时间推移,系统的使用者中的大多数变成了非专家用户。向非专家用户转移,开源软件和商业软件走过了相同的轨迹,只是开源软件晚了几年。 ...
...全文
63 1 打赏 收藏 举报
写回复
1 条回复
切换为时间正序
当前发帖距今超过3年,不再开放新的回复
发表回复
jackie615 2004-10-28
GOOD
  • 打赏
  • 举报
回复
相关推荐
个性化,网速快,可登录合为一体 Google公司出版的浏览器,超好用 软件概述 Google Chrome是由Google开发的一款设计简单、高效的Web浏览工具。 Chrome Android Chrome Android Google Chrome的特点是简洁、快速。GoogleChrome支持多标签浏览,每个标签页面都在独立的“沙箱”内运行,在提高安全性的同时,一个标签页面的崩溃也不会导致其他标签页面被关闭。此外,Google Chrome基于更强大的JavaScript V8引擎,这是当前Web浏览器所无法实现的。 另有手机版的Chrome浏览器,于2012年发布了Chrome浏览器移动版,提供IOS系统、安卓系统以及Windows Phone系统的Chrome浏览器,在保持浏览器原有特点的情况下,实现了多终端使用浏览器,具有共享收藏历史信息等功能,是手机浏览器的一次巨大突破。随着Android系统的份额不断扩大而市场占有率不断飙升。 ·Chrome浏览器基于开源引擎WebKit、Blink,其中包含谷歌Gears。 ·Chrome提供了浏览器扩展框架,可以制作与Adobe-AIR类似的混合应用。 ·包含V8 Javascript虚拟机,这个多线程的虚拟机可以加速Javascript的执行。 ·具备隐私浏览模式,可以让用户无需在本地机器上登录即可使用,这个功能与微软IE8中的Incognito类似。 ·浏览器将内置防止“网络钓鱼“及恶意软件功能。 Google曾在自己的官方博客中宣布在Beta版Chrome25 中将加入网络语音API(Web SpeechAPI),让用户在某些嵌入了JavaScript的网页中可以更方便地使用语音指令、听写等功能。同时新版本在内容安全策略标头(Content Security Policy header)方面也有所改进,开发者可以创建网页、资源白名单,以此来提升浏览器的安全性。 软件名称 Google Chrome浏览器 Google Chrome浏览器 Google Chrome,又称谷歌浏览器,是一个由Google(谷歌)公司开发的免费网页浏览器。“Chrome”是化学元素“铬”的英文名称;过去也用Chrome称呼浏览器的外框。本软件的程式码是基于其他开放源代码软件所撰写,包括WebKit和Mozilla,目标是提升稳定性、速度和安全性,并创造出简单且有效率的使用者界面。软件的名称是来自于又称作“Chrome”的网络浏览器图形使用者界面(GUI)。 软件优点 不易崩溃  最新版Google Chrome 最新版Google Chrome Chrome最大的亮点就是其多进程架构,保护浏览器不会因恶意网页和应用软件而崩溃。每个标签、窗口和插件都在各自的环境中运行,因此一个站点出了问题不会影响打开其它站点。通过将每个站点和应用软件限制在一个封闭的环境中这种架构,这进一步提高了系统的安全性。 速度快 使用WebKit引擎。WebKit简易小巧,并能有效率的运用存储器,对新开发者来说相当容易上手。Chrome具有DNS预先截取功能。当浏览网页时,“Google Chrome”可查询或预先截取网页上所有链接的IP地址。目标网页。Chrome具有GPU硬件加速:当激活GPU硬件加速时,使用“Google Chrome”浏览那些含有大量图片之网站时可以更快渲染完成并使页面滚动时不会出现图像破裂的问题。 2013年4月份,Google宣布称将为Chrome浏览器开发新的自主浏览器引擎Blink,在最新的Chrome开发版本中,Blink已经正式现身。 [7] 几乎隐身 说Chrome的界面简洁不足以说明其简洁程度。Chrome几乎不像是一款应用软件,屏幕的绝大多数空间都被用于显示用户访问的站点,屏幕上不会显示Chrome的按钮和标志。Chrome的设计人员表示,他们希望用户忘记自己在使用一款浏览器软件,他们的目标基本上实现了。 搜索简单 Chrome的标志性功能之一是Omnibox--位于浏览器顶部的一款通用工具条。用户可 以在Omnibox中输入网站地址或搜索关键字,或者同时输入这两者,Chrome会自动执行用户希望的操作。Omnibox能够了解用户的偏好,例如, 如果一名用户喜欢使用PCWorld网站的搜索功能,一旦用户访问该站点,Chrome会记得PCWorld网站有自己的搜索框,并让用户选择是 否使用该站点的搜索功能。如果用户选择使用PCWorld网站的搜索功能,系统将自动执行搜索操作。 标签灵活 Chrome为标签式浏览提供了新功能。用户可以“抓住”一个标签,并将它拖放到单独的窗口中。用户可以在一个窗口中整合多个标签。Chrome在启动时可以使用用户喜欢的某个标签的配置,其它浏览器需要三方插件才能够提供这一功能。 更加安全 黑名单(Blacklists):“Google Chrome”会定地更新防止网络钓鱼和恶意软件的黑名单,并在用户试图浏览可能造成电脑损害的网站时予以警告。这项服务也可通过使用其他的免费自由应用程序接口(API)“GoogleSafe Browsing API” 来取得。在更新维护这些黑名单的同时,Google也会通知被列入的网站,以避免网站持有者本身不知道网站存有恶意软件。 沙箱(Sandboxing):“Google Chrome”中的每一个标签页都是一个沙箱(sandbox),以防止“恶意软件破坏用户系统”或“利用标签页影响其他标签页”。遵守最小权限原则,每个动作的权限都会被限制,仅能运算而无法写入文件和从敏感区域读取文件(如我的文档、桌面)。沙盒小组(Sandbox Team)是一种表示他们“使用了现有的运行程序限制,并让这些限制变成一座监狱”,例如在其中一个标签页运作的恶意软件,将无法窃取信用卡号码、干扰鼠标运作,或告诉系统在启动时运行某个程序,并且恶意软件会在标签页关闭时立即中止。 插件(Plugins):插件通常并没有统一的标准,且无法像标签页般沙盒化。这些通常需要运行在浏览器本身的安全等级或更高的等级。为了降低被攻击的风险,插件是独立运行的。从5.0版本起,“Google Chrome”内置Adobe Flash Player以确保使用的为最新版本降低被攻击的风险。其后在9.0版本将Flash播放器内置在沙盒中独立运行。这项技术是Chrome安全性进步的一座里程碑。对Windows XP用户特别重要,因为它是平台上唯一提供Flash嵌入沙盒运行的浏览器。从8.0版本起,“Google Chrome”内置在沙盒中独立运行的PDF阅读器。 多进程(Multiprocessing):能容许多个程序同时运行而互不影响,每个网页标签独立于窗口程序存在,当资源过高或崩溃时,不会因为一个停顿而整个程序当掉。 任务管理器(Task Manager):常有特色的工具,用户可以查看哪些网站占用了最多的内存、下载流量和CPU资源,有利于管理各个标签页与插件,也便于用户终止恶意操作。 诈骗和恶意程序保护:当“Google Chrome”侦测到浏览网站可能有害时,便会发出实时警告。浏览器会将造访网址的一部分传送给Google,以了解该网址是否列在诈骗与恶意网站清单中。(网络钓鱼及恶意软件的侦测功能)。 自动更新(Auto-updates):为确保受到最新版安全性更新的保护,“Google Chrome”会定检查更新,以确保更新永远为最新版本。更新检查可确保会使用最新版的安全性功能与修正程序,浏览器自动更新新的版本,不需要用户采取任何动作,更新后会在下一次启动中自动使用。 专业测评 HTML5测试 HTML5测试(3张) CSS3测评 Acid1及Acid2均顺利通过。 早先,在Acid3中只能获得78分,最新的测试版已达到100分,部分WebKit核心浏览器已取得100分通过。 CSS3 Selectors Test中578项全部通过。 HTML5测评 支持W3C最新WEB协议HTML5且表现良好支持HTML5视频编号格式有 H.264 OggTheora WebM 版本发布编辑 2015年8月21日正式版(44.0.2403.157)发布 [1] 1. 修复了部分网页加载缓慢的问题 2015年8月11日正式版(44.0.2403.155)发布 1、 关于内部审计的各种修正、模糊测试和其他措施等;   2、改善运行速度、安全性、稳定性以及硬件兼容性;   3、大幅提升 64 位版 Chrome 的安全性;   4、增强 64 位版 Chrome 稳定性,渲染器处理崩溃率大大降低;   5、内置组件 Adobe Flash Player 更新至 v18.0.0.232正式版; 2015年4月15日正式版(42.0.2311.90)发布 [8] 1、内置Adobe Flash Player已更新至17.0.0.169   2、新增海量应用扩展和Web平台API   3、大幅提升软件性能和稳定性   4、Chrome 42 正式停止对NPAPI插件的支持,现在默认安装仅支持5款PPAPI插件   5、向“生命、宇宙以及万事终极答案”致敬!(根据道格拉斯·亚当斯的小说《银河系漫游指南42是“生命、宇宙以及任何事情的终极答案”。因此,42这个数字也经常被用来向这一作品致敬) 2014年9月3日下午正式版(37.0.2062.103)发布 [9] 该版本首发于9月3日下午,更新编号为37.0.2062.119(平台版本为5978.80.0/5978.81.0)。 新增加的特性有: 1、多用户登录支持(Multi Sign),多账户切换更便捷; 2、Chrome启动器中已可查看应用信息(App Info); 3、设置(Setting)窗口不再出现在新标签页中; 4、隐身模式(Incognito Mode)新增“保存到Google Drive”功能; 5、可通过chrome.enterprise.platformKeys API使用客户端证书管理器(Client Certificate Management); 6、书签管理(Managed Bookmarks)--推送和管理你的书签; 7、新增加密码管理工具。 2014年1月14日 正式版(32.0.1700.76)发布 Chrome 32.0.1700.76包含以下几个bug修复和体验提升: 1、在音频、视频、摄像头等标签上展示对应的图标; 2、Win8 Metro模式的新形象; 3、自动阻止恶意软件; 4、提供一些新的app或扩展的API; 5、更多高级功能。 2013年12月5日 正式版(31.0.1650.63)发布 Chrome 31.0.1650.63包含15个安全修复,例如同步会话的302定向、v8缓冲区溢出、模态对话框中的地址栏欺诈…… Chrome 31支持Web支付,在用户的授权下,Web开发人员可以通过程序调用浏览器的自动填充数据。这样,在支付时,用户可以直接选择存储在浏览器上的数据,或者通过一个浏览器界面来输入新的支付信息,然后开发人员再继续他们现有的支付流程。 Chrome 31还新增了便携式本机客户端(PNaCl,Portable Native Client),可以让开发者一劳永逸,只需一次编译就能在任何硬件平台上运行。 2013年10月16日Chrome 30正式版(30.0.1599.101)发布: 修复了5个安全漏洞以及一些之前版本存在的Bug,完善了浏览器性能。 2013年8月20日Chrome 29正式版(Chrome 29.0.1547.57)发布: 1、基于你曾经访问的站点对 Omnibox 建议进行改进;   2、可以重置个人 Profile 到之前的状态;   3、很多新的应用和扩展API;   4、大量稳定性和性能的提升;   5、安全相关问题修复。 2013年7月10日Chrome 28新版特性: 1、使用Blink内核; 2、开始支持通知中心服务。 2013
CruiseYoung提供的带有详细书签的电子书籍目录 http://blog.csdn.net/fksec/article/details/7888251 SQL Server求生秘籍(SQL Server故障排除圣经) 基本信息 原书名: SQL Server 2005 Practical Troubleshooting: The Database Engine 原出版社: Addison-Wesley 作者: (美)Ken Henderson    微软SQL Server开发小组和支持部门 译者: 若启 一辉 瞿杰 丛书名: 图灵程序设计丛书.数据库系列 出版社:人民邮电出版社 ISBN:9787115191113 上架时间:2009-2-5 出版日:2009 年2月 开本:16开 页码:342 版次:1-1 编辑推荐    微软SQL Server内部技术资料大曝光.    来自SQL Server开发小组和支持部门的梦之队打造..    SQL Server故障排除圣经... 内容简介   本书帮助你解决众多数据库引擎方面的问题,每一章从关键的sql server 组件入手,然后探讨用户遇见的常见问题,并给出解决方案。本书的主要内容包括等待和阻塞、数据毁坏和恢复、内存、过程缓存、查询进程等。本书的作者都是来自微软公司sql server 开发团队和客户支持服务部门的支持专家。在你的sql server 系统遇到问题时,本书将变得不可或缺。   本书适合数据库管理员和数据库开发人员阅读。   作者简介:   ken henderson(1967-2008)sql sewer世界级权威。生前供职于微软sql sewer开发组。以guru's guide系列经典著作和sqldiag等工具享誉业界。   创作团队 来自sql server开发小组的7位开发人员和来自微软客户支持服务机构的3位支持专家,他们都有丰富的开发经验,熟悉sql sewer源代码。 作译者   本书的创作团队由来自SQL Server开发小组的开发人员以及来自微软的客户支持服务机构的支持专家组成。其中7位来自SQL Server开发小组,3位来自微软的客户支持服务部门。.   SQL Server开发小组   August Hill是一位具有30多年开发经验的开发人员。在过去的6年里,他一直是SQL Server Service Broker小组中的一员。他为该产品在可支持性方面做出了许多贡献。在业余时间里他喜欢弹吉他以及品味华盛顿葡萄酒。他的联系方式是august.hill@microsoft.com。   Cesar Galindo-Legaria是SQL Server查询优化器部门的主管.他于1992年获得哈佛大学计算机科学专业(数据库方向)的博士学位.在波士顿的一家图形公司工作过一段时间以后,他又返回到数据库领域,在欧洲研究中心进行博士后访问.他于1995年加入微软从事新型关系型查询处理器的工作,该处理器随SQL Serverc7.0一起首次发布,其中引入了一个完全基于开销的查询优化器、一套丰富的执行算法以及许多自动管理的特性.从那时起,他就一直从事SQL Server查询处理的工作.他在查询处理和优化领域拥有多项专利,并且在该领域内发表了许多研究论文.   Ken Henderson是一位具有25年以上开发经验的开发人员.他从1990年开始就从事SQL Server的工作并在其职业生涯内为多家公司开发软件,包括H&R Block、美国中央情报局、美国海军、美国空军、Borland国际公司、摩根大通(JP Morgan)等公司.他于2001年加入微软,目前是SQL Server开发小组中易管理性平台部门(Manageability Platform Group)的一位开发人员.他是SQL Server 2005中SQLDiag工具的开发者,并专注于SQL Server管理工具及相关技术的工作.他是8本涉及多种计算机主题的作者,包括出版自Addison-Wesley公司的SQL Server畅销图书Guru’s Guide系列.他和全家住在达拉斯,他的电子邮箱是khen@khen.com.   Sameer Tejani出生于坦桑尼亚阿鲁沙,在过去的10年里工作于微软的SQL Server部门.他的工作经历使他能够接触到SQL Server引擎的不同领域,包括T-SQL执行框架、开放数据服务(ODS)、连接管理、用户模式调度器(UMS)以及其他领域.他就是那个令支持专家们痛恨的臭名昭著的“non-yielding scheduler”错误消息的唯一负责人!他目前是SQL Server安全小组的软件开发主管.在业余时间内,Sameer喜欢户外活动和长途骑车.他和妻子Farhat住在西雅图...   Santeri Voutilainen,更为常用的名字是Santtu,自从1999年以来就在SQL Server存储引擎小组担任软件设计工程师.他的工作与页分配、闩锁以及锁管理器密切相关.他毕业于哈佛大学,并在华盛顿大学获得计算机科学的硕士学位.尽管称西雅图为自己的家乡,但Santeri生于芬兰,并在尼泊尔渡过了大部分的青年时光.他常热衷于旅游和户外运动,在闲暇时间内携其妻子与一岁大的儿子在西北太平洋地区进行探险.Santtu的联系方式是santtu@vode.net.   Slava Oks是SQL Server的存储引擎和基础结构小组的软件架构师.他在微软渡过了9年多的时光.在SQL Server 2005的开发项目中,他负责SQLOS的架构和实现.他为该产品在性能、可扩展性、可支持性以及可测试性方面做出了许多贡献.他也是SQL Server的热门博客blogs.msdn.com/slavao的作者.他喜欢在业余时间进行体育运动或者与家人和朋友们一起娱乐.   Wei Xiao从1996年—2006年4月在微软负责SQL Server存储引擎的设计.他主要专注于访问方式、并发模型、空间管理、日志记录以及恢复机制.他也曾从事过SQL Server性能监控和故障排查的工作.他在几次行业会议中做过演讲,包括微软技术大会(TechEd)以及SQL PASS.他目前正在从事微软内部的一个数据存储项目的工作.   微软客户支持服务   Bart Duncan已经从事SQL Server及相关技术有大约10年时间了.他目前是SQL Server产品支持部门的专家级工程师.Bart与他的妻子Andrea Freeman Duncan医生居住在得克萨斯州达拉斯市.   Bob Ward是在位于得克萨斯州艾文市的微软区域支持中心的微软客户服务和支持部门工作的资深专家级工程师.他在微软服务了13年, 并且迄今为止已经支持过微软SQL Server的每一个发行版本, 从OS/2平台下的1.1版到SQL Serverc2005.他在计算机行业的背景持续了20年,包括像在通用动力(General Dynamics)、Harris Hospital以及美国航空公司这样的公司中从事数据库开发项目.Bob于1986年在贝勒大学获得了计算机科学的学士学位.他目前和妻子Ginger以及两个儿子Troy和Ryan居住在得克萨斯州North Richland Hills市.Bob在业余时间会把精力放在青少年体育辅导,支持本地职业体育运动队,并努力提高自己的高尔夫球水平以实现参加PGA巡回赛的梦想.   Cindy Gross从2000年开始成为得州微软PSS的SQL Server和Analysis Services支持小组的成员.在此间,她担任过许多角色,包括支持工程师、内容主管以及Yukon readiness主管.在加入微软以前,Cindy曾经是一位具有7年经验的SQL Server DBA,负责SQL Server 1.11版及其后续版本的工作.她还是一位热忱的科幻小说读者,关注女性独立的相关图书.她最喜欢的技术作家是Sheri S. Tepper.Cindy在周末经常开着她的越野摩托(目前是一辆2004年款的本田CRF250X)赛车.你可以从Cindy的网站联系到她:http://cindygross.spaces.live.com/ 目录 封面 -13 封底 -12 扉页 -11 版权 -10 版权声明 -9 作者简介 -8 前言 -6 致谢 -4 目录 -3 1章 等待和阻塞 1 1.1 等待类型 1 1.2 对阻塞问题进行故障排查 2 1.3 识别阻塞 3 1.3.1 通过sys.dm_os_waiting_tasks来识别阻塞 3 1.3.2 从统计上识别阻塞 5 1.4 确定阻塞的原因 8 1.4.1 当前的语句和计划 8 1.4.2 阻塞模式 8 1.4.3 阻塞链 9 1.5 资源类型的细节 10 1.5.1 闩锁 10 1.5.2 锁 18 1.5.3 外部等待类型 29 1.5.4 计时器和队列等待类型 29 1.5.5 IO操作的等待类型 30 1.5.6 其他等待类型 31 1.6 死锁 32 1.7 监视阻塞 33 1.7.1 等待的统计信息 33 1.7.2 当前的等待信息 33 1.8 小结 36 1.9 其他资源 36 2章 数据损坏及恢复 37 2.1 基本原理 38 2.2 SQL Server 2005存储内幕 39 2.2.1 数据库及文件状态 39 2.2.2 资源数据库 40 2.2.3 目录视图和基本系统表 41 2.2.4 分配结构 50 2.2.5 数据库校验和 53 2.2.6 快速恢复 53 2.2.7 延事务 54 2.2.8 只读的压缩数据库 54 2.3 SQL Server 2005增强 55 2.3.1 备份增强 55 2.3.2 还原增强 55 2.3.3 DBCC CHECKDB增强 56 2.4 数据恢复最佳实践 58 2.4.1 备份/还原最佳实践 58 2.4.2 数据库及日志最佳实践 59 2.4.3 DBCC CHECKDB最佳实践 60 2.5 数据恢复故障排查场景 61 2.5.1 系统数据库恢复 61 2.5.2 恢复资源数据库 68 2.5.3 创建tempdb故障 69 2.5.4 重装操作系统 69 2.6 用户数据库不可访问 69 2.6.1 数据库被标记为RECOVERY_PENDING 70 2.6.2 处理延迟事务 77 2.6.3 数据库被标记为SUSPECT 78 2.6.4 粘贴数据库故障 79 2.7 BACKUP/RESTORE故障 80 2.7.1 BACKUP故障 80 2.7.2 RESTORE故障 84 2.8 数据库一致性错误 85 2.8.1 处理数据库一致性运行时错误 85 2.8.2 处理DBCC CHECKDB错误 89 2.8.3 修复与还原 100 2.8.4 每个错误表示什么 101 2.8.5 解释 101 2.8.6 用户动作 101 2.8.7 REPAIR_ALLOW_DATA_LOSS真正的意思是什么 102 2.8.8 进行恢复之前的根本原因分析 102 2.8.9 如果修复没有用,应该怎么办 103 2.8.10 复制数据与修复 103 2.8.11 找出损坏的根本原因:清单 103 3章 内存 110 3.1 Windows内存管理入门 110 3.1.1 内部的虚拟内存——虚拟地址空间 110 3.1.2 外部虚拟内存 113 3.1.3 内部物理内存 113 3.1.4 外部物理内存 114 3.1.5 内存压力 115 3.1.6 NUMA支持 117 3.2 SQLOS和SQL Server的内存管理 118 3.2.1 内存结点 118 3.2.2 内存clerk 119 3.2.3 内存对象 119 3.2.4 内存缓存 120 3.2.5 缓冲池 123 3.2.6 故障排查 127 4章 过程缓存 143 4.1 过程缓存的架构 143 4.1.1 缓存对象的类型 144 4.1.2 过程缓存的结构 147 4.1.3 过程缓存和内存 148 4.1.4 缓存计划和零成本计划 150 4.1.5 计划的共享 151 4.1.6 重编译 151 4.1.7 参数化 152 4.1.8 缓存查找如何工作 156 4.1.9 缓存计划复用 157 4.1.10 刷新过程缓存 158 4.2 常见缓存相关问题及解决方案 158 4.2.1 使用过程缓存来确定代价昂贵的查询 158 4.2.2 参数截取 160 4.2.3 较差的计划复用造成较高的编译时间 169 4.2.4 由于过度的缓存查找时间导致的高CPU问题 173 4.2.5 由过程缓存所引起的内存压力 173 4.3 小结 175 5章 查询处理器 176 5.1 查询处理器基础 176 5.1.1 编译—执行序列 176 5.1.2 执行计划 178 5.1.3 查询编译和计划选择 180 5.1.4 特殊的优化方法及场景 182 5.2 常见问题 185 5.2.1 编译时间和参数化 185 5.2.2 索引化 189 5.2.3 基数和开销估算 191 5.3 故障排查 192 5.3.1 诊断 192 5.3.2 控制 198 5.4 最佳实践 208 5.4.1 使用面向集合的编程模型 209 5.4.2 提供约束和统计的信息 209 5.4.3 注意复杂的构造 209 5.4.4 尽可能地避免动态语言特性 210 5.5 进阶阅读 210 6章 服务器崩溃和其他致命故障 212 6.1 基础知识 212 6.1.1 SQL Server 2005服务器恢复内幕 212 6.1.2 SQL Server 2005的增强特性 218 6.2 致命错误与服务器恢复故障排查 221 6.2.1 服务器启动故障排查 221 6.2.2 对服务器致命错误进行故障排查 227 6.2.3 服务器挂起问题的故障排查 255 7章 Service Broker相关问题 259 7.1 Broker总览 260 7.1.1 为什么要使用Service Broker 260 7.1.2 Service Broker的对象和术语 260 7.1.3 内部架构 261 7.2 主要的诊断工具和方法 261 7.2.1 传输队列视图 261 7.2.2 SQL Profiler——Service Broker跟踪事件 262 7.2.3 错误日志和NT事件日志 264 7.3 Broker故障排查实践 265 7.4 其他Service Broker诊断工具 272 7.4.1 视图 272 7.4.2 Perfmon 283 7.4.3 DBCC CHECKDB 285 7.5 进阶阅读 286 8章 SQLOS和调度问题 287 8.1 SQLOS架构 288 8.1.1 内存和CPU结点 289 8.1.2 调度器 290 8.1.3 任务和worker 291 8.1.4 SQL Server和SQLOS 291 8.2 配置和故障排查 291 8.2.1 结点配置 291 8.2.2 网络连接关联 292 8.2.3 调度器 294 8.2.4 任务与worker 296 8.2.5 调度器之间的负载均衡任务 297 8.2.6 Max Worker Threads配置 298 8.2.7 Lightweight Pooling配置 299 8.2.8 Affinity Mask配置 300 8.2.9 磁盘I/O完成处理 301 8.2.10 抢占式I/O完成处理 302 8.2.11 调度器监视器 303 8.2.12 硬件配置 314 8.2.13 专用管理员连接 316 8.3 进阶阅读 318 9章 tempdb相关问题 319 9.1 SQL Server 2005中有何改进 320 9.1.1 tempdb日志文件的IO动作少了 321 9.1.2 tempdb数据文件自动增长更快 321 9.1.3 改进tempdb的并行访问的可扩展性 321 9.1.4 改进tempdb中多个文件的可扩展性 322 9.2 tempdb空间是如何使用的 322 9.2.1 什么是用户对象 323 9.2.2 什么是内部对象 323 9.2.3 什么是版本存储对象 324 9.3 故障排查实践 325 9.3.1 如果tempdb空间不足,你该怎么办 325 9.3.2 什么是tempdb页面闩锁竞争 327 9.4 小结 328 10章 群集问题 329 10.1 示例 329 10.2 工具 331 10.3 将性能调整到可接受的水平上 333 10.3.1 添加结点 334 10.3.2 为什么群集SQL Server实例发生故障转移 337 10.3.3 为什么故障转移要花这么长时间 338 10.3.4 故障转移之后没人可以连接 338 10.3.5 添加磁盘 339 10.3.6 替换磁盘 339 10.3.7 转移数据库 339 10.4 小结 339 前言   原本我想在本书中让微软技术支持工程师撰写多年来在SQL Server的技术支持工作中所学到的知识。当我加入微软后,令我惊奇的是,技术支持工程师们并没有把关于产品支持的实践知识(在认识论中叫作“领域知识”)记录下来。这些知识仅仅停留在口口相传的状态。.   当然,这导致了一个问题:人们并不知道如何做好工作,除有热心人来向他们展示该如何做。这也是一种常容易犯错误的方式,会导致一些最重要的产品支持知识集中在少数人手中——这些经验被他们充分利用,但其他的支持团队却不了解这些知识。   加入微软之前,我做全职软件开发工程师已经20多年了。令我十分惊讶的是,原来支持部门的高端人群都是些曾经做过开发的人。通常,在成为技术支持工程师之前,他们都有3~5年的开发或相关工作经验。作为一名职业开发人员,我很难想象技术支持也可以做长工。对于我来说,支持工作似乎与软件开发世界中的看门人类似。他们不得不帮那些编写乱糟糟代码的开发者“擦屁股”的人。虽然我知道这很重要,但是私下里还是觉得把技术支持工作作为职业并不是一件开心的事。尽管如此,确实有好几个程序员前辈呆在技术支持部门,这让我感到迷惑。   于是,我开始思考如何创造人人机会均等的局面,让原本只有技术支持的上层梯队才能拥有的知识可以传达给每个人。奥林匹斯山上的家伙们对拥有产品支持的全面知识和领域知识引以为豪,对于我来说,这些知识应该分享给组织中的每个人。每一个做产品支持的人都应该有相同的权限来了解它们。   我最初打算在我写的The Guru’s Guide to SQL Server Architecture and Internals一书中加入如何对产品进行故障排查的内容。然而,我很快意识到,开发软件或从开发人员的角度理解软件与故障排查有本质上的不同。可以说,它们是两种完全不同的领域知识。虽然有些部分是重叠的,但对产品故障排查而言,肯定有一些属于它自己特有的东西。   在我最终完成那本关于架构的书后,开始回过头来思考这个问题——如何把支持组在多年里学到的关于产品故障排查的许多低层次的细节和洞察记录下来,并不会有很多关于产品如何运行的详细信息,而是如何解决与产品有关的问题的详细信息。于是我开始与一些支持工程师探讨这个想法,并试探他们对此的兴趣。我建议做一个多作者的项目,在该项目中他们可以把一些难得的故障排查经验发表出来——这不仅仅是为了那些做技术支持的同事们,也为了客户。许多东西还从未被出版过,我感到,如果他们可以看到自己的文字出现在出版物中,最终会激励他们投身于写一些可能只有微软内部的少数人知道的东西。..   什么样的回应都有,从不太热情到很热情。在翻遍了关于哪些人感兴趣和哪些人不感兴趣的花名册之后,我发现,很明显,我需要更多的作者加入到本书的写作队伍中来。在支持部门中,愿意并能够投身到该项目中的人寥寥无几。   我本可以抛开支持组,而跑到微软咨询服务部门,或干脆去找那些最有价值专家(MVP)和类似的人选,但其实我很想把作者队伍限制在那些看过SQL Server源代码的人之中。访问过源代码并一步一步调试过,这种经历是不可替代的。通过研究产品代码,可以更深地理解SQL Server技术,从一定意义上讲,其他方法是做不到这一点的。   因此,我们还需要多引入一些作者,我决定向产品组的一些顶级开发人员发出邀请。虽然微软的产品组与支持组截然不同,他们关注的是开发产品,而不是提供技术支持,但我私下认识他们中的许多人,并知道他们已经花了大量的时间来调试和解决产品中的一些复杂问题,特别是对他们自己所创建的那部分。如果你从不调试代码,是写不出复杂代码的。我相信他们肯定会觉得新颖且有趣,愿意为本书增加一些实际的故障排查知识。   产品组的同事给我的答复都很热情,有好几个来自SQL Server组的顶级开发人员同意参加这个写作项目。我终于成功邀请到了真正写代码的人来探讨如何进行复杂且常见的问题的故障排查。在其他书中,你是找不到这些的,作为参与者,能够让你看到这些内容让我感到激动。   我那本讲架构的书告诉你SQL Server是怎样运转的,这本书则告诉你SQL Server要是不转了怎么办。前一本书,不管你要处理SQL Server的哪一块,都用得上。而现在这本,按说只用于极端情形(因为SQL Server这个产品并不会经常挂掉),然而你的SQL Server应用是一直能让用户满意呢,还是会随时引起用户的怒火,有没有本书差别可就大喽。当然我希望你不会在使用SQL Server时遇到问题。如果遇到了,本书将是你开始故障排查征程的起点。   在此,我要感谢SQL Server产品组中那些做开发的同事们,他们为本书提供了不少内容,分别是:August Hill, Cesar Galindo-Legaria, Sameer Tejani, Santeri (Santtu)Voutilainen, Slava Oks和Wei Xiao;我也要感谢几位技术支持工程师,是他们为这个项目提出了宝贵意见:Bart Duncan, Bob Ward和Cindy Gross。他们都有自己独特的思考(和写作!)方式,但帮助你处理SQL Server故障排查中的一些实际问题,这帮人再合适不过了。...   Ken Henderson    媒体评论   “本书的内容是其他任何博客、网站和图书都没有的。系统出问题时,它将成为你的救命稻草。”.   ——Pinal Dave,微软MVP   “此书写得常好,涵盖了对大量复杂问题进行故障排查的详细解析。我认为每一位优秀的MSSQL DBA都应该拥有。”...   ——Amazon.com评论   
CruiseYoung提供的带有详细书签的电子书籍目录 http://blog.csdn.net/fksec/article/details/7888251 SQL Server 2008实战(SQL Server程序员和DBA不可或缺的权威参考手册) 基本信息 原书名: SQL Server 2008 Transact-SQL Recipes: A Problem-Solution Approach 原出版社: Apress 作者: (美)Joseph Sack 译者: 金迎春 丛书名: 图灵程序设计丛书 数据库 出版社:人民邮电出版社 ISBN:9787115221063 上架时间:2010-3-5 出版日:2010 年2月 开本:16开 页码:713 版次:1-1 编辑推荐    SQL Server程序员和DBA不可或缺的权威参考手册    查询方便,迅速解决工作中的难题    大量来自微软内部的技巧 内容简介    t-sql一直以来都是 sql server编程的基础。和传统的 t-sql书籍不同,本书以独特的 “技巧 ”形式来介绍知识点,涵盖了数据处理(增删改、视图、索引、存储过程、触发器等)、数据应用(web服务、 clr集成、分布式查询等)和数据库配置(主体、安全、数据库镜像和快照、备份等)3个方面的内容。其中每一个技巧中都包含了有代表性的示例和精炼的解析。    本书实用、高效、技巧性强,适用于 sql server专业技术人员,也可供初学者学习参考。 作译者   Joseph Sack 世界知名的SQL Server技术专家,微软认证数据库管理员(MCDBA),有10多年的SQL Server开发和管理工作经验。目前就职于微软公司高级现场工程组(Premier Field Engineering team)。除本书外,他撰写的SQL Server 2000 Fast Answers for DBAs and Developers(即本书前身)是Amazon五星著作,与人合写的Pro SQL Server 2005也广受好评。他的博客地址是http://joesack.com/WordPress/。 目录 封面 -19 封底 -18 扉页 -17 版权 -16 版权声明 -15 译者序 -14 前言 -12 致谢 -11 目录 -10 1章 SELECT 1 1.1 基本的SELECT语句 1 1.1.1 从表中选择指定列 2 1.1.2 从所有行中选择所有列 2 1.2 使用基本WHERE子句进行有选择的查询 3 1.2.1 使用WHERE子句指定结果集中返回的行 3 1.2.2 组合搜索条件 4 1.2.3 否定搜索条件 5 1.2.4 保持WHERE子句无歧义 5 1.3 使用运算符和表达式 6 1.3.1 在日范围搜索中使用BETWEEN 7 1.3.2 使用比较运算符 8 1.3.3 检测NULL值 9 1.3.4 基于一组值返回行 9 1.3.5 LIKE和通配符结合使用 9 1.3.6 声明变量及为变量赋值 11 1.4 数据分组 12 1.4.1 使用GROUP BY子句 12 1.4.2 使用GROUP BY ALL 13 1.4.3 使用HAVING选择性地查询分组的数据 13 1.5 对结果排序 14 1.5.1 使用ORDER BY子句 15 1.5.2 在排序的结果中使用TOP关键字 16 1.6 SELECT子句技术 18 1.6.1 使用DISTINCT消除重复值 18 1.6.2 在聚合函数中使用DISTINCT 18 1.6.3 使用列别名 19 1.6.4 使用SELECT创建脚本 20 1.6.5 字符串拼接 21 1.6.6 使用SELECT创建逗号分隔的列表 21 1.6.7 使用INTO子句 22 1.7 子查询 23 1.8 从多个数据源查询 24 1.8.1 使用内联结 25 1.8.2 使用外联结 26 1.8.3 使用交叉联结 27 1.8.4 在同一查询中多次引用同一个表 27 1.8.5 使用衍生表 28 1.8.6 使用UNION组合结果集 29 1.9 使用APPLY来为每行调用表值函数 30 1.9.1 使用CROSS APPLY 30 1.9.2 使用OUTER APPLY 32 1.10 数据源高级技术 33 1.10.1 使用TABLESAMPLE来返回随机行 33 1.10.2 使用PIVOT把单列值转化为多列和聚合数据 34 1.10.3 使用UNPIVOT规范化数据 36 1.10.4 使用EXCEPT和INTERSECT返回不重复的或匹配的行 38 1.11 汇总数据 40 1.11.1 使用CUBE汇总数据 40 1.11.2 使用ROLLUP来汇总数据 42 1.11.3 使用分组集创建自定义汇总 43 1.11.4 展现GROUPING生成的行 44 1.11.5 使用GROUPING_ID标识分组级别 46 1.12 公共表表达式 49 1.12.1 使用递归的公共表表达式 49 1.12.2 使用递归的公共表表达式 52 2章 执行、捕获和跟踪数据修改 55 2.1 INSERT 55 2.1.1 向表中插入一行 55 2.1.2 使用默认值插入行 56 2.1.3 显式向一个IDENTITY列插入值 57 2.1.4 在表中插入拥有uniqueidentifier列的行 59 2.1.5 使用INSERT...SELECT语句插入行 59 2.1.6 调用存储过程插入数据 60 2.1.7 通过VALUES插入多个行 62 2.1.8 将VALUES作为表源来使用 62 2.2 UPDATE 63 2.2.1 更新一行 64 2.2.2 根据FROM和WHERE子句更新行 65 2.2.3 更新大值数据类型的列 66 2.2.4 使用OPENROWSET和BULK插入或更新图片文件 68 2.2.5 在维护SQL Server事务控制时向文件系统存储结构化数据 69 2.2.6 “就地”赋值并修改数据库值 73 2.3 DELETE 75 2.3.1 删除行 75 2.3.2 截断表 76 2.4 高级数据修改技术 77 2.4.1 使用TOP分块修改数据 77 2.4.2 在一条语句中执行INSERT、UPDATE和DELETE 78 2.5 捕获和跟踪数据修改的改变 81 2.5.1 返回数据修改语句影响的行 81 2.5.2 异步捕获表数据修改 83 2.5.3 从CDC表查询所有变更 87 2.5.4 从CDC表查询净变更 89 2.5.5 翻译CDC更新掩码 90 2.5.6 使用LSN边界 92 2.5.7 禁用对表和数据库的变更数据捕获 93 2.5.8 以最小的磁盘开销跟踪净数据更改 93 3章 事务、锁定、阻塞和死锁 100 3.1 事务控制 100 3.1.1 使用显式事务 101 3.1.2 使用DBCC OPENTRAN显示最早的活动事务 104 3.1.3 通过会话查询事务信息 104 3.2 锁定 106 3.2.1 查看锁的活动 108 3.2.2 控制表的锁升级行为 109 3.3 事务、锁定和并发 110 3.4 阻塞 115 3.4.1 找到并解决阻塞进程 116 3.4.2 配置语句等待锁释放的时长 118 3.5 死锁 118 3.5.1 使用跟踪标志位找出死锁 119 3.5.2 设置死锁优先级 121 4章 表 123 4.1 表基础 123 4.1.1 创建表 126 4.1.2 为既有表添加列 126 4.1.3 修改列定义 127 4.1.4 创建计算列 128 4.1.5 减少NULL列的存储空间 129 4.1.6 删除表中的列 131 4.1.7 报告表信息 132 4.1.8 删除表 132 4.2 排序规则基础 133 4.2.1 查看排序规则元数据 133 4.2.2 指定列的排序规则 134 4.3 键 134 4.3.1 创建有主键的表 135 4.3.2 为既有表增加主键约束 136 4.3.3 创建一个有外键引用的表 136 4.3.4 为既有表增加外键 137 4.3.5 创建递归外键引用 138 4.3.6 允许外键的级联修改 139 4.4 代理键 140 4.4.1 在创建表的时候使用IDENTITY属性 141 4.4.2 使用DBCC CHECKIDENT来查看和纠正IDENTITY种子值 142 4.4.3 使用ROWGUIDCOL属性 143 4.5 约束 143 4.5.1 创建唯一约束 144 4.5.2 为既有表增加UNIQUE约束 145 4.5.3 使用CHECK约束 145 4.5.4 为既有表增加CHECK约束 146 4.5.5 禁止和启用约束 147 4.5.6 在表创建时使用DEFAULT约束 148 4.5.7 为既有表增加DEFAULT约束 149 4.5.8 从表删除约束 150 4.6 临时表和表变量 150 4.6.1 使用临时表在批处理中进行多次查找 151 4.6.2 创建表变量来保存临时结果集 152 4.7 管理超大型表 153 4.7.1 实现表分区 154 4.7.2 确定数据在分区中的位置 157 4.7.3 增加新的分区 158 4.7.4 移除分区 160 4.7.5 把分区移动到不同的表 161 4.7.6 移除分区函数和分区方案 162 4.7.7 用文件组提高VLDB的可管理性 162 4.7.8 用数据压缩减少磁盘空间使用 164 5章 索引 167 5.1 索引预览 167 5.1.1 创建表索引 169 5.1.2 在键列上强制唯一性 170 5.1.3 在多个列上创建索引 171 5.1.4 定义索引列排序方向 172 5.1.5 查看索引元数据 172 5.1.6 禁用索引 174 5.1.7 删除索引 174 5.1.8 使用DROP_EXISTING改变既有索引 174 5.2 控制索引创建的性能和并发性 175 5.2.1 在tempdb中创建临时索引 175 5.2.2 控制索引创建的并行执行计划 176 5.2.3 在索引创建过程中允许用户表访问 176 5.3 索引选项 177 5.3.1 使用索引INCLUDE 177 5.3.2 使用PAD_INDEX和FILLFACTOR 178 5.3.3 禁用页和/或行索引锁定 178 5.4 管理超大型索引 179 5.4.1 在文件组上创建索引 180 5.4.2 实现索引分区 180 5.4.3 为行的子集做索引 181 5.4.4 减小索引的大小 182 6章 全文搜索 183 6.1 全文索引和全文目录 183 6.1.1 创建全文目录 183 6.1.2 创建全文索引 184 6.1.3 修改全文目录 186 6.1.4 修改全文索引 187 6.1.5 检索全文目录和索引元数据 189 6.1.6 从全文索引中去掉普通字符串 190 6.1.7 删除全文索引 193 6.1.8 删除全文目录 193 6.2 基本搜索 194 6.2.1 使用FREETEXT来搜索全文索引的列 194 6.2.2 使用CONTAINS来搜索单词 195 6.3 高级搜索 196 6.3.1 使用CONTAINS和通配符来搜索 196 6.3.2 使用CONTAINS来搜索变形匹配 196 6.3.3 使用CONTAINS根据词的相邻搜索结果 197 6.4 排名搜索 197 6.4.1 根据含义返回排名搜索结果 198 6.4.2 根据权值返回排名搜索结果 199 7章 视图 201 7.1 普通视图 201 7.1.1 创建基本视图 202 7.1.2 查询视图定义 203 7.1.3 显示视图及其结构 204 7.1.4 刷新视图定义 205 7.1.5 修改视图 206 7.1.6 删除视图 206 7.1.7 使用视图修改数据 206 7.2 视图加密 207 7.3 索引视图 208 7.3.1 创建索引视图 208 7.3.2 强制优化器为索引视图使用索引 210 7.4 分区视图 211 8章 SQL Server函数 216 8.1 聚合函数 216 8.1.1 返回平均值 217 8.1.2 返回行总数 217 8.1.3 找出表达式中的最小值和最大值 218 8.1.4 返回值的和 218 8.1.5 使用统计聚合函数 219 8.2 数学函数 219 8.3 字符串函数 221 8.3.1 把字符值转化为ASCII以及把ASCII转回字符 222 8.3.2 返回整数和字符Unicode值 222 8.3.3 获取某个字符串在另一个字符串中的起始位置 223 8.3.4 使用通配符找到某个字符串在另一个字符串中的起始位置 223 8.3.5 检测字符串相似度 224 8.3.6 获取字符串最左和最右部分 224 8.3.7 检测字符串中的字符数或者字节数 225 8.3.8 把字符串的一部分替换成另一个字符串 226 8.3.9 把字符串填充到字符串中 226 8.3.10 在小写和大写之间进行转化 227 8.3.11 移除前导空格和尾部空格 228 8.3.12 重复一个表达式N次 228 8.3.13 重复一个空格N次 229 8.3.14 逆序输出表达式 229 8.3.15 返回表达式的一块 229 8.4 处理NULL 230 8.4.1 用另一个值替换NULL值 230 8.4.2 使用ISNULL进行灵活的搜索 230 8.4.3 返回表达式列表中一个NULL值 232 8.4.4 当两个表达式相等的时候返回NULL值,否则返回一个表达式 232 8.5 日函数 233 8.5.1 返回当前日和时间 233 8.5.2 在时区间进行转换 234 8.5.3 增加或减少日值 235 8.5.4 找出两个日的差 236 8.5.5 显示日一部分的字符串值 237 8.5.6 使用DATEPART显示日一部分的整数值 237 8.5.7 使用YEAR、MONTH和DAY显示日一部分的整数值 238 8.6 类型转换 238 8.6.1 转换数据类型 238 8.6.2 将日转换为文本形式 239 8.6.3 以字符串字面量表示二进制数据 240 8.6.4 计算表达式返回的数据类型 241 8.7 排名函数 242 8.7.1 生成递增行号 242 8.7.2 根据排名返回行 244 8.7.3 根据无间隔排名返回行 245 8.7.4 使用NTILE 246 8.8 使用系统函数检测服务器、数据库以及连接级别的配置 246 8.8.1 确定每周的一天 246 8.8.2 查看当前会话使用的语言 247 8.8.3 查看和设置当前连接锁超时设置 247 8.8.4 显示当前存储过程上下文的嵌套级别 248 8.8.5 返回当前SQL Server实例名和SQL Server版本 248 8.8.6 返回当前连接的会话ID(SPID) 249 8.8.7 返回打开事务的数量 249 8.8.8 获取之前语句影响的行数 250 8.8.9 获取系统统计信息 250 8.8.10 显示数据库和SQL Server设置 251 8.8.11 返回当前数据库ID和名称 252 8.8.12 返回数据库对象名和ID 253 8.8.13 返回当前用户会话的应用程序和主机 253 8.8.14 获取当前用户和登录名上下文 253 8.8.15 查看用户连接选项 254 8.9 IDENTITY和uniqueidentifier函数 255 8.9.1 返回最后一个标识值 255 8.9.2 返回标识列的种子和增量值 256 8.9.3 创建新的uniqueidentifier值 256 9章 条件处理、流控制和游标 258 9.1 条件处理 258 9.1.1 使用CASE来计算单个输入表达式 258 9.1.2 使用CASE来计算布尔表达式 260 9.1.3 使用IF...ELSE 261 9.2 流控制 262 9.2.1 使用RETURN 263 9.2.2 使用WHILE 264 9.2.3 使用GOTO 266 9.2.4 使用WAITFOR 267 9.3 游标 268 10章 存储过程 273 10.1 存储过程基础 273 10.1.1 创建基本的存储过程 274 10.1.2 创建带参数的存储过程 275 10.1.3 使用OUTPUT参数 277 10.1.4 修改存储过程 278 10.1.5 删除存储过程 279 10.1.6 在SQL Server启动时自动执行存储过程 279 10.1.7 报告存储过程元数据 281 10.1.8 为存储过程建立文档 281 10.2 存储过程安全 282 10.2.1 加密存储过程 282 10.2.2 使用EXECUTE AS来指定过程的安全上下文 283 10.3 重新编译和缓存 286 10.3.1 每次存储过程执行时重新编译 286 10.3.2 清空过程缓存 287 11章 用户定义函数和类型 289 11.1 UDF基础 289 11.1.1 创建标量用户定义函数 290 11.1.2 创建内联用户定义函数 294 11.1.3 创建多语句用户定义函数 296 11.1.4 修改用户定义函数 299 11.1.5 查看UDF元数据 300 11.1.6 移除用户定义函数 301 11.2 从UDF获益 301 11.2.1 维护可重用的代码 302 11.2.2 交叉引用的自然键值 303 11.2.3 使用多语句UDF替代视图 306 11.3 UDT基础知识 308 11.3.1 创建和使用用户定义类型 308 11.3.2 找出使用用户定义类型的列和参数 310 11.3.3 删除用户定义类型 311 11.3.4 传入表值参数 312 12章 触发器 315 12.1 DML触发器 316 12.1.1 创建AFTER DML触发器 316 12.1.2 创建INSTEAD OF DML触发器 319 12.1.3 在DML触发器中处理事务 322 12.1.4 根据修改的列控制DML触发器 324 12.1.5 查看DML触发器元数据 325 12.2 DDL触发器 326 12.2.1 创建审核数据库级别的事件的DDL触发器 326 12.2.2 创建审核服务器级别的事件的DDL触发器 328 12.2.3 使用登录触发器 329 12.2.4 查看DDL触发器元数据 331 12.3 管理触发器 332 12.3.1 修改触发器 332 12.3.2 启用和禁止表触发器 333 12.3.3 限制触发器嵌套 334 12.3.4 控制触发器递归 335 12.3.5 设置触发器触发次序 336 12.3.6 删除触发器 338 13章 CLR集成 339 13.1 CLR概述 339 13.2 什么时候使用(不使用)程序集 340 13.3 CLR对象概述 341 13.4 创建CLR数据库对象 341 13.4.1 启用SQL Server的CLR支持 342 13.4.2 为CLR存储过程写程序集 342 13.4.3 把程序集编译成DLL文件 345 13.4.4 把程序集载入SQL Server 345 13.4.5 创建CLR存储过程 346 13.4.6 创建CLR标量用户定义函数 348 13.4.7 创建CLR触发器 350 13.5 管理程序集 352 13.5.1 查看程序集元数据 352 13.5.2 修改程序集权限 352 13.5.3 从数据库移除程序集 353 14章 XML、分层和空间数据 354 14.1 使用原生XML 354 14.1.1 创建XML数据类型列 354 14.1.2 插入XML数据到列 355 14.1.3 使用架构验证XML数据 356 14.1.4 获取XML数据 358 14.1.5 修改XML数据 361 14.1.6 XML索引 362 14.2 在XML文档与关系型数据之间进行转换 363 14.2.1 将关系型数据格式化为XML 363 14.2.2 将XML转换为关系型 366 14.3 使用原生分层数据 368 14.3.1 存储分层数据 368 14.3.2 返回指定的祖先 370 14.3.3 返回子节点 371 14.3.4 返回节点的深度 371 14.3.5 返回根节点 372 14.3.6 确定节点是否为当前节点的子节点 372 14.3.7 更改节点位置 372 14.4 原生空间数据 373 14.4.1 存储空间数据 373 14.4.2 查询空间数据 376 15章 提示 380 15.1 使用联结提示 380 15.2 使用查询提示 382 15.3 使用表提示 384 15.3.1 不锁定执行查询 385 15.3.2 强制SEEK覆盖SCAN 385 16章 错误处理 388 16.1 系统定义和用户定义的错误消息 388 16.1.1 查看系统错误信息 388 16.1.2 创建用户定义错误消息 389 16.1.3 删除用户定义错误消息 391 16.2 手动引发错误 391 16.3 捕获和处理应用程序错误 393 16.3.1 旧风格的错误处理 394 16.3.2 使用TRY...CATCH进行错误处理 396 16.3.3 不重编写存储过程来应用TRY...CATCH 398 16.3.4 嵌套错误处理 398 17章 主体 401 17.1 Windows级别的主体 401 17.1.1 创建Windows登录名 402 17.1.2 查看Windows登录名 403 17.1.3 修改Windows登录名 403 17.1.4 删除Windows登录名 404 17.1.5 拒绝Windows用户或用户组的SQL Server访问 405 17.2 SQL Server级别的主体 405 17.2.1 创建SQL Server登录名 407 17.2.2 查看SQL Server登录名 407 17.2.3 修改SQL Server登录名 408 17.2.4 管理登录名的密码 409 17.2.5 删除SQL登录名 409 17.2.6 管理服务器角色成员 410 17.2.7 报告固定服务器角色信息 411 17.3 数据库级别的主体 412 17.3.1 创建数据库用户 413 17.3.2 报告数据库用户信息 414 17.3.3 修改数据库用户 414 17.3.4 从数据库删除数据库用户 415 17.3.5 修复孤立的数据库用户 415 17.3.6 报告固定数据库角色信息 416 17.3.7 管理固定数据库角色成员 417 17.3.8 管理用户定义的数据库角色 418 17.3.9 管理应用程序角色 420 18章 安全对象、权限和审核 423 18.1 权限总览 424 18.2 服务器范围的安全对象和权限 426 18.2.1 管理服务器权限 428 18.2.2 查询服务器权限 429 18.3 数据库范围的安全对象和权限 430 18.3.1 管理数据库权限 431 18.3.2 查询数据库权限 432 18.4 架构范围的安全对象和权限 434 18.4.1 管理架构 436 18.4.2 管理架构的权限 437 18.5 对象的权限 438 18.6 管理权限访问安全对象范围 440 18.6.1 检测当前连接的安全对象的权限 440 18.6.2 通过安全对象范围报告主体的权限 441 18.6.3 改变安全对象所有权 445 18.6.4 允许SQL登录名访问SQL Server的资源 446 18.7 对安全对象的主体审核SQL实例和数据库级别活动 447 18.7.1 定义审核数据源 447 18.7.2 捕获SQL实例范围的事件 450 18.7.3 捕获数据库范围的事件 452 18.7.4 查询捕获的审核数据 455 18.7.5 管理、修改和移除审核对象 458 19章 加密 462 19.1 通过通行短语加密 462 19.2 主密钥 464 19.2.1 备份及还原服务主密钥 465 19.2.2 创建、重新生成以及删除数据库主密钥 466 19.2.3 备份及还原数据库主密钥 467 19.2.4 从数据库主密钥删除服务主密钥加密 468 19.3 对称密钥加密 469 19.3.1 创建对称密钥 469 19.3.2 查看当前数据库中的对称密钥 470 19.3.3 修改对称密钥的私钥密码 470 19.3.4 使用对称密钥对数据进行加密和解密 471 19.3.5 删除对称密钥 473 19.4 对称密钥加密 473 19.4.1 创建对称密钥 474 19.4.2 查看当前数据库中的对称密钥 475 19.4.3 改变对称密钥加密方式 475 19.4.4 使用对称密钥进行加密和解密 476 19.4.5 删除对称密钥 479 19.5 证书加密 479 19.5.1 创建数据库证书 479 19.5.2 查看数据库中的证书 480 19.5.3 备份和还原证书 480 19.5.4 管理证书的私钥 482 19.5.5 使用证书加密和解密 483 19.5.6 通过对称密钥自动打开和解密 484 19.6 透明数据加密 486 19.6.1 启用透明数据加密 486 19.6.2 管理和移除TDE 487 20章 Service Broker 489 20.1 示例场景:在线书店 489 20.2 创建基本的Service Broker应用程序 490 20.2.1 启用数据库的Service Broker活动 491 20.2.2 创建加密用的数据库主密钥 491 20.2.3 管理消息类型 492 20.2.4 创建约定 493 20.2.5 创建队列 494 20.2.6 创建服务 496 20.2.7 启动对话 497 20.2.8 查询队列中传入的消息 499 20.2.9 检索并响应消息 499 20.2.10 结束会话 501 20.2.11 设定Service Broker会话的优先级 503 20.3 创建用来处理消息的存储过程 505 20.4 远程服务器Service Broker的实现 507 20.4.1 启用传输安全模式 510 20.4.2 启用对话安全模式 512 20.4.3 创建路由和远程服务绑定 514 20.5 事件通知 517 21章 配置和查看SQL Server的选项 520 22章 创建和配置数据库 524 22.1 创建、修改和删除数据库 524 22.1.1 使用默认配置创建数据库 524 22.1.2 查看数据库信息 525 22.1.3 使用文件选项创建数据库 526 22.1.4 使用用户定义文件组创建数据库 528 22.1.5 设置数据库用户访问 530 22.1.6 重命名数据库 532 22.1.7 删除数据库 533 22.1.8 分离数据库 533 22.1.9 附加数据库 535 22.2 配置数据库选项 535 22.2.1 查看数据库选项 536 22.2.2 配置ANSI SQL选项 536 22.2.3 配置自动选项 538 22.2.4 创建或修改允许外部访问的数据库 539 22.2.5 使用服务器默认排序规则创建或改变数据库 540 22.2.6 配置游标选项 541 22.2.7 启用日相关性优化 542 22.2.8 修改数据库参数化行为 543 22.2.9 为事务启用读取一致性 546 22.2.10 配置数据库恢复模式 547 22.2.11 配置页验证 548 22.3 控制数据库访问和拥有关系 550 22.3.1 修改数据库状态为联机、离线或紧急状态 550 22.3.2 修改数据库拥有者 551 22.4 管理数据库文件和文件组 552 22.4.1 为既有的数据库添加数据文件或日志文件 552 22.4.2 从数据库删除数据或日志文件 553 22.4.3 重新分配数据或事务日志文件 554 22.4.4 修改文件的逻辑名称 555 22.4.5 增加数据库文件的大小和修改它的增长选项 556 22.4.6 为既有的数据库添加文件组 557 22.4.7 设置默认文件组 557 22.4.8 删除文件组 558 22.4.9 使数据库或文件组为只读 559 22.5 查看和管理数据库空间使用 560 22.5.1 查看数据库空间使用情况 560 22.5.2 收缩数据库或数据库文件 561 23章 数据库完整性和优化 565 23.1 数据库检查 565 23.1.1 使用DBCC CHECKALLOC检查磁盘空间分配结构的一致性 565 23.1.2 使用DBCC CHECKDB检查所有数据库的分配和结构完整性 567 23.2 表和约束 569 23.2.1 使用DBCC CHECKFILEGROUP检查文件组中所有表的分配和结构完整性 569 23.2.2 使用DBCC CHECKTABLE检查表和索引视图的数据完整性 570 23.2.3 使用DBCC CHECKCONSTRAINTS检查表的完整性 573 23.2.4 使用DBCC CHECKCATALOG检查系统表的一致性 574 23.3 索引维护 575 23.3.1 重建索引 575 23.3.2 索引碎片整理 577 23.3.3 重建堆 578 24章 维护数据库对象和对象依赖关系 579 24.1 数据库对象维护 579 24.1.1 修改用户创建的数据库对象的名称 579 24.1.2 修改对象的架构 581 24.2 对象依赖关系 581 24.2.1 标识对象依赖关系 581 24.2.2 标识引用和被引用的实体 583 24.2.3 查看对象定义 585 25章 数据库镜像 587 25.1 上下文中的数据库镜像 587 25.2 数据库镜像体系结构 588 25.3 设置数据库镜像 589 25.3.1 创建镜像端点 590 25.3.2 备份和还原主体数据库 593 25.3.3 创建数据库镜像会话 595 25.4 设置总结 597 25.5 运行数据库镜像 598 25.5.1 改变运行模式 598 25.5.2 进行故障转移 599 25.5.3 暂停或继续镜像会话 600 25.5.4 停止镜像会话和删除端点 600 25.6 镜像和配置选项 601 25.6.1 监视镜像状态 601 25.6.2 配置连接超时时限 601 26章 数据库快照 603 26.1 快照基础 603 26.1.1 创建和查询数据库快照 603 26.1.2 删除数据库快照 605 26.1.3 从数据库快照恢复数据 605 27章 链接服务器和分布式查询 608 27.1 链接服务器基础 608 27.1.1 为另一SQL Server实例创建链接服务器 609 27.1.2 配置链接服务器属性 610 27.1.3 查看链接服务器信息 611 27.1.4 删除链接服务器 611 27.2 链接服务器登录名 612 27.2.1 添加链接服务器登录名映射 612 27.2.2 查看链接登录名 613 27.2.3 删除链接服务器登录名映射 613 27.3 执行分布式查询 614 27.3.1 在链接服务器上执行分布式查询 614 27.3.2 创建和使用引用4部分组成的链接服务器名的别名 615 27.3.3 使用OPENQUERY执行分布式查询 616 27.3.4 使用OPENROWSET执行临时的查询 617 27.3.5 使用OPENROWSET BULK选项从文件中读取数据 618 28章 查询性能调优 621 28.1 查询性能技巧 622 28.2 捕捉和评估查询性能 623 28.2.1 使用sys.dm_exec_requests捕捉执行的查询 623 28.2.2 使用T-SQL命令查看评估的查询执行计划 624 28.2.3 查看执行运行时信息 627 28.2.4 查看性能统计信息和缓存的查询计划 629 28.2.5 基于查询或计划模式查看聚合的性能统计信息 630 28.2.6 标识出最大瓶颈 632 28.2.7 通过数据库和文件标识出I/O争用 633 28.3 索引调优 634 28.3.1 显示索引碎片 635 28.3.2 显示索引使用情况 637 28.4 统计信息 638 28.4.1 手动创建统计信息 639 28.4.2 行子集上创建统计信息 640 28.4.3 更新统计信息 640 28.4.4 生成及更新所有表的统计信息 641 28.4.5 查看详细的统计信息 642 28.4.6 删除统计信息 643 28.5 杂项技术 643 28.5.1 使用动态SQL的替代方法 644 28.5.2 强制SQL Server使用查询计划 646  28.5.3 不修改应用程序的SQL去应用提示 648 28.5.4 从缓存创建计划指南 651 28.5.5 检查计划指南的有效性 653 28.5.6 使用计划指南将参数化查询参数化 653 28.5.7 限制查询资源消耗竞争 656 29章 备份与恢复 662 29.1 创建备份和恢复计划 662 29.2 生成备份 663 29.2.1 执行基本的完全备份 665 29.2.2 压缩备份 666 29.2.3 命名和描述备份和媒体 668 29.2.4 配置备份保持 669 29.2.5 条带化备份集 670 29.2.6 使用命名的备份设备 670 29.2.7 镜像备份集 672 29.2.8 执行事务日志备份 673 29.2.9 不破坏备份序列创建备份 674 29.2.10 执行差异备份 675 29.2.11 备份单个文件或文件组 675 29.2.12 执行部分备份 677 29.2.13 查看备份元数据 678 29.3 还原数据库 679 29.3.1 从完全备份还原数据库 679 29.3.2 从事务日志备份还原数据库 682 29.3.3 从差异备份还原数据库 684 29.3.4 还原文件或文件组 685 29.3.5 执行部分(PARTIAL)还原 686 29.3.6 还原页面 687 29.3.7 用多种恢复路径识别数据库 688 索引 691 译者序   不知不觉我已经从事数据库相关工作十年了,可以说是与SQL Server一起成长起来的,6.5、7.0、2000、2005,到现在的2008,每一次版本的更新都显著地增强了SQL Server的性能。   比如SQL Server 7.0带来了OLE DB和MSDE。服役时间最长的SQL Server 2000及后续的Service Pack带来了诸如Notification Services、Reporting Services、对Web的支持以及对XML的支持。SQL Server 2005新增了多种T-SQL指令,例如PIVOT/UNPIVOT和公共表表达式(Common Table Expression,CTE)等,强化了XML的处理能力,并新增了原生XML数据类型以及支持原生XML数据类型的XML查询操作符,大幅强化了数据库引擎的安全性功能,并支持数据结构变更的触发程序(DDL Trigger)等。   而本书介绍的SQL Server 2008在T-SQL方面带来了:   可以由管理者设置以调整执行资源的资源调节器(Resource Governer);   数据压缩能力;   DDL(数据定义语言)审核能力;   透明数据加密(Transparent Data Encryption);   本地的DATE和TIME分割的数据类型,并且支持时间位移的DATETIMEOFFSET和更精确的DATETIME2数据类型;   稀疏字段(Sparse Column)的支持,可节省因为NULL值所占据的存储空间;   空间数据类型,包含geometry以及geography数据类型,分别用来存储地理和几何的数据,有助于GIS系统的开发;   变更数据捕获(Change Data Capture);   hierarchyid数据类型,可以存储分层数据;   MERGE命令,可根据与来源数据表联结的结果,在目标数据表上执行插入、更新或删除操作;   ……   因为本书的重点是在T-SQL,其他方面的新增功能就不再阐述了。可以看到,新增的内容还是很多的,而这些内容会贯穿于本书所有章节。   本书在以下几个方面特色鲜明。   知识面广,几乎涵盖所有SQL Server 2008 T-SQL的内容。在学习和工作中遇到的任何T-SQL问题都可以在本书中找到答案。   讲解通俗,突出基础,言简意赅。你可以通过本书迅速找到你关心的T-SQL内容,并很快理解它是如何使用的。   示例丰富。书中提供了大量的代码示例,方便读者理论与实践相结合。通过实际操作,让读者更容易理解相应的内容。   本书主要适合如下读者阅读。 .  初学者可以从头到尾把书细读下来,同时跟着示例在测试环境中做练习。   数据库工作人员可以把它当作参考书,在工作中遇到问题就去查对应的内容。   程序开发人员在做数据库相关的开发工作时,也会从中得到很好的支持。   在校学生通过本书掌握相关知识和技能,在职场竞争中就多一样有力的武器。   在此,我要感谢麦格特尔网络科技有限公司技术部的所有同事,没有他们对我工作的支持,我是没办法完成本书的翻译的。翻译过程中得到了朱晔和孙铭先生的帮助,在此表示感谢。最后,感谢我的父母和妻子,他们是我完成本书的最大动力!还要感谢在我翻译间出生的宝宝金曼妮,你的诞生是我最好的礼物,你的到来让我的人生更有意义。   由于时间仓促,书中难免存在错漏之处,欢迎读者指正。读者在阅读过程中发现任何问题,都可以发邮件到TSQLRecipes@hotmail.com和我交流。    前言   本书的目的在于快速提供使用T-SQL语言解决问题和执行任务的技巧。为了让你快速了解各个任务及其相关的T-SQL解决方案,我以问题/解决方案的形式编写了本书。你可以从中查找你希望执行的任务,看一下怎么做,然后在你自己的系统中执行。本书编写时遵循了以下几条关键原则。   保持简洁,仅提供完成工作所需要的信息。   让各种技巧之间和各章之间彼此独立——尽量避免交叉引用和内容分散。   主要关注可完全使用T-SQL执行操作的特性。例如,书中会讨论新的资源调控器特性,因为DBA一般会使用T-SQL对它进行部署,但是不会讨论基于策略的管理,因为它对SQL Server代理、SQL Server Management Objects(SMO)和SQL Server Management Studio有底层依赖。幸运的是,大多数新的SQL Server引擎改进都是完全基于T-SQL的,因此本书会讨论这些内容。   涵盖了从初级到高级的各种技巧。每一章都是从基本的技巧开始,然后逐渐上升到更高级的主题。   SQL Server 2008的新特性会贯穿在本书应用它们的各章节中。如果你只是想查找T-SQL更新了哪些新特性,也不用担心,对于每章涉及的新特性,我都会在章首处列出。   尽管本书的关键原则是保持内容简洁,但你会注意到本书还是很厚。这是SQL Server特性集持续扩展的结果,然而请放心,技巧部分还是比较简洁的,并且本书的编排让你能够快速找到完成工作所需要的答案。   本书适合SQL Server开发人员、管理员、应用程序开发人员以及那些负责开发数据库或管理SQL Server环境的IT多面手阅读。你可以从头到尾阅读本书,也可以直接翻到你感兴趣的主题来读。你可以在应聘或考试之前使用本书重温一下某些主题。对于有经验的SQL Server专业人士来说,如果有些命令或技术忘记了,本书可以帮助他们迅速拾起它们的用法。   感谢你的阅读!   
理解Microsoft专家认证程序 理解Microsoft认证的不同等级和类型 选择成为MCP(Microsft认证专家)的考试科目 选择成为MCSD的考试科目 选择成为MCT的考试科目 MCSE认证考试的科目 选择合适的MCSE课程组合 核心课程考试 选修课程考试 考试编号的识别 课程内容和考试内容的对照 理解微软的MCSE长远考虑 理解微软出题的方式 使用本书帮助备考 在Internet上寻找对考试有帮助的信息 寻求微软认可的课程指导 寻找高质量的和三方帮助 寻找可利用的评估软件拷贝 报名参加考试 考试的费用问题 考前的自我调整 使用考试中心提供的考试工具 参加模拟测试 熟悉使用计算机进行考试 充分利用考试时间 考题的形式 理解多重选择题型 理解对错题题型 理解多重选择多重答案题型 理解基于解决方案型的问题 理解“建议方法”类型的考题 分析考试结果 准备重新考试 合理安排考试课程的顺序 熟悉Windows系列产品 比较Windows NT Server和NT Workstation 比较Windows NT Workstaton和Windows 95 在Windowx 95和Windows NT Workstation之间作出选择 关于Microsoft Windows NT的70-069号考试:实现和支持Microsoft Windows NT Server 4.0 70-069号考试(实现和支持Microsoft Windows NT Server 4.0)覆盖的内容 Windows NT 4.0界面简介 Windows NT 4.0任务栏(taskbar)的使用 Windows NT回收站简介 Windows NT帐号简介 理解单域模型支持和帐号数量 安全认证号简介 使用管理向导(Administrative Wizards)创建帐号 使用Server Manager(服务器管理器)程序创建计算机帐号 Userver Manager for Domains(域的用户管理器)简介 使用User Mnager for Domains创建用户帐号 刷新用户帐号列表 用户帐号列表的排序 事件查看器(Event View)程序简介 筛选Event Viewer中的事件 授予用户在本地登录的权利 使用Windows NT诊断程序查看系统配置 激活“Windows NT Security(Windows NT安全)”对话框 理解登录验证过程 理解访问令牌(Access Token) Windows NT目录服务简介 理解Windows NT如何构造用户帐号数据库 使用Windows NT中的Ctrl+Alt+Del组合键 把Windows NT计算机设置成自动登录 改变Windows NT口令 用拨号网络登录 复制用户帐号 为简化多个帐号的创建工作而建立用户帐号模板 删除和重新命名用户帐号 理解保护缺省的Administrator帐号的重要性 重新命名管理员帐号 理解缺省的Guest帐户 Windows NT在哪里创建帐号 设置口令限制条件 设置用户登录地点 创建宿主文件夹 设置用户登录时间 创建临时用户帐号 重新设置用户帐号口令 修改多个用户帐号 自动注销有时间限制的用户 要求用户在下次登录时改变口令 设置帐号规则 设置用户口令永不过 停用用户帐号 解开登录失败后的用户帐号 Windows NT组简介 理解用户权限和组的访问权限 理解用户和组的权利 分清权限(permission)和权利(right) 设置组成成员关系 理解全局帐号 理解本地帐号 定义Everyone组 Network组的详细说明 Inteactive组的详细说明 Administrators组的详细说明 Guest组的详细说明 Users组的详细说明 Print Operators组的详细说明 Backup Operators(帐户操作员)组的详细说明 Replicator(复制员)组的详细说明 Domain Guests(域客户)组的详细说明 Domain Users(域用户)组的详细说明 Domain Admins(域管理员)组的详细说明 赋予拨号进入权限 理解用户配置文件(User Profile) 为Windows用户创建并使用登录脚本文件(Logon Script) 创建漫游式用户配置文件(Roaming User Profile) 创建强制性用户配置文件(Mandatory User Profile) 为用户帐号分配一个配置文件 创建帐户时变量的使用 创建随机初始化口令 理解内建组(Built-in Group) 理解组和策略 设置主组(Primary Group) 理解删除一个组的影响 域控制器(Domain Controller)简介 成员服
Sysinternals Suite是微软发布的一套常强大的免费工具程序集。我想介绍就不用多说了吧。用好Windows Sysinternals Suite里的工具,你将更有能力处理Windows的各种问题,而且不花一毛钱。 Sysinternals之前为Winternals公司提供的免费工具,Winternals原本是一间主力产品为系统复原与资料保护的公司,为了解决工程师平常在工作上遇到的各种问题,便开发出许多小工具。之后他们将这些工具集合起来称为Sysinternals,并放在网上供人免费下载,其中也包含部分工具的原始码,一直以来都颇受IT专家社群的好评 .它不包含故障排除工具(类似蓝屏或NotMyFault)。 微软极品:Sysinternals Suite工具包新版下载北京时间今天(美国11月23日)微软再次升级了 Sysinternals Suite 工具包,里面更新了 Process Explorer 14.01、Autoruns 10.05 等等。这两个是工具包里面最实用的工具了。具体的功能更新历史微软官网没有介绍,大家可以下载后看各自的文档即可。 各工具简介和微软官方网页AccessChk 为了确保创建安全的环境,Windows 管理员通常需要了解特定用户或用户组对文件、目录、注册表项和 Windows 服务等资源具有哪种访问权限。AccessChk 能够通过直观的界面和输出快速回答这些问题。AccessEnum 这一简单但强大的安全工具可以向您显示,谁可以用何种访问权限访问您系统中的目录、文件和注册表项。使用此工具可查找权限漏洞。AdExplorer Active Directory Explorer 是一个高级的 Active Directory (AD) 查看器和编辑器。 AdInsight 一种 LDAP(轻型目录访问协议)实时监视工具,旨在对 Active Directory 客户端应用程序进行故障排除。AdRestore 恢复已删除的 Server 2003 Active Directory 对象。Autologon 登录过程中跳过密码屏幕。Autoruns 查看哪些程序被配置为在系统启动和您登录时自动启动。Autoruns 还能够完整列出应用程序可以配置自动启动设置的注册表和文件位置。BgInfo 此完全可配置程序会自动生成桌面背景,其中包含有关系统的 IP 地址、计算机名称、网络适配器及更多内容的重要信息。BlueScreen 此屏幕保护程序不仅精确模拟“蓝屏”,而且也模拟重新启动(完成 CHKDSK),并可在 Windows NT 4、Windows 2000、Windows XP、Server 2003 和 Windows 9x 上工作。CacheSet CacheSet 是一个允许您利用 NT 提供的功能来控制缓存管理器的工作集大小的程序。它与 NT 的所有版本都兼容。ClockRes 查看系统时钟的分辨率,亦即计时器最大分辨率。Contig 您是否希望迅速对您频繁使用的文件进行碎片整理?使用 Contig 优化单个的文件,或者创建连续的新文件。Coreinfo Coreinfo 是一个新的命令行实用工具,可向您显示逻辑处理器与物理处理器之间的映射、NUMA 节点和它们所处的插槽,以及分配给每个逻辑处理器的缓存。Ctrl2cap 这是一个内核模式的驱动程序,可在键盘类驱动程序上演示键盘输入过滤,以便将 Caps-Lock 转变为控制键。在此级别过滤允许在 NT 刚好要“看到”键之前变换和隐藏键。Ctrl2cap 还显示如何使用 NtDisplayString() 打印初始化蓝屏的消息。DebugView Sysinternals 的另一个优先程序:此程序截取设备驱动程序对 DbgPrint 的调用和 Win32 程序生成的 OutputDebugString。它允许在不使用活动的调试器的情况下,在本地计算机上或通过 Internet 查看和记录调试会话输出。Desktops 使用这一新的实用工具可以创建最多四个虚拟桌面,使用任务栏界面或热键预览每个桌面上的内容并在这些桌面之间轻松地进行切换。Disk2vhd Disk2vhd 可简化从物理系统到虚拟机 (p2v) 的迁移。DiskExt 显示卷磁盘映射。Diskmon 此实用工具会捕捉所有硬盘活动,或者在您的系统任务栏中象软件磁盘活动灯一样工作。DiskView 图形磁盘扇区实用工具。Disk Usage (DU) 按目录查看磁盘使用情况。EFSDump 查看加密文件的信息。Handle 此易用命令行实用工具将显示哪些进程打开了哪些文件,以及更多其他信息。Hex2dec 将十六进制数字转换为十进制及反向转换。接合点 创建 Win2K NTFS 符号链接。LDMDump 转储逻辑磁盘管理器在磁盘上的数据库内容,其中说明了 Windows 2000 动态磁盘的分区情况。ListDLLs 列出所有当前加载的 DLL,包括加载位置及其版本号。2.0 版将打印已加载模块的完整路径名。LiveKd 使用 Microsoft 内核调试程序检查真实系统。LoadOrder 查看设备加载到 WinNT/2K 系统中的顺序。LogonSessions 列出系统中的活动登录会话。MoveFile 使您可以安排在系统下一次重新启动时执行移动和删除命令。NTFSInfo 用 NTFSInfo 可以查看有关 NTFS 卷的详细信息,包括主文件表 (MFT) 和 MFT 区的大小和位置,以及 NTFS 元数据文件的大小。PageDefrag 对您的分页文件和注册表配置单元进行碎片整理。PendMoves 枚举在系统下一次启动时所要执行的文件重命名和删除命令的列表。PipeList 显示系统上的命名管道,包括每个管道的最大实例数和活动实例数。PortMon 通过高级监视工具监视串行端口和并行端口的活动。它能识别所有的标准串行和并行 IOCTL,甚至可以显示部分正在发送和接收的数据。3.x 版具有强大的新 UI 增强功能和高级筛选功能。ProcDump 这一新的命令行实用工具旨在捕获其他方式难以隔离和重现 CPU 峰值的进程转储。该工具还可用作用于创建进程转储的一般实用工具,并可以在进程具有挂起的窗口或未处理的异常时监视和生成进程转储。Process Explorer 找出进程打开了哪些文件、注册表项和其他对象以及已加载哪些 DLL 等信息。这个功能异常强大的实用工具甚至可以显示每个进程的所有者。Process Monitor 实时监视文件系统、注册表、进程、线程和 DLL 活动。ProcFeatures 这一小程序会报告处理器和 Windows 对“物理地址扩展”和“无执行”缓冲区溢出保护的支持情况。PsExec 在远程系统上执行进程。PsFile 查看远程打开的文件。PsGetSid 显示计算机或用户的 SID。PsInfo 获取有关系统的信息。PsKill v1.13(2009 年 12 月 1 日) 终止本地或远程进程。PsList 显示有关进程和线程的信息。PsLoggedOn 显示登录到某个系统的用户。PsLogList 转储事件日志记录。PsPasswd 更改帐户密码。PsService 查看和控制服务。PsShutdown 关闭并重新启动(可选)计算机。PsSuspend 挂起和继续进程。PsTools PsTools 套件包括一些命令行程序,可列出本地或远程计算机上运行的进程、远程运行进程、重新启动计算机、转储事件日志,以及执行其他任务。RegDelNull 扫描并删除包含嵌入空字符的注册表项,标准注册表编辑工具不能删除这种注册表项。RegJump 跳至 Regedit 中指定的注册表路径。RootkitRevealer 扫描系统以找出基于 Rootkit 的恶意软件。SDelete 安全地覆盖敏感文件,并使用此符合 DoD 的安全删除程序清理先前删除文件所在的可用空间。ShareEnum 扫描网络上的文件共享并查看其安全设置,以关闭安全漏洞。ShellRunas 通过方便的 shell 上下文菜单项,作为另一个用户启动程序。Sigcheck 转储文件版本信息并检查系统中的映像是否已进行数字签名。Streams 显示 NTFS 备用数据流。Strings 在二进制映像中搜索 ANSI 和 UNICODE 字符串。Sync 将缓存数据刷新到磁盘。TCPView 活动套接字命令行查看器。VMMap VMMap 是进程虚拟和物理内存分析实用工具。VolumeId 设置 FAT 或 NTFS 驱动器的卷 ID。Whois 查看 Internet 地址的所有者。WinObj 基本对象管理器命名空间查看器。ZoomIt 在屏幕上进行缩放和绘图的演示实用工具。 二、Sysinternals Suite 小工具下载排行前10名(靠上的越受欢迎)Process Explorer AutoRuns Process Monitor PsTools PageDefrag RootkitRevealer TcpView BgInfo BlueScreen NewSid
发帖
企业信息化
加入

1748

社区成员

企业开发 企业信息化
社区管理员
  • 企业信息化
申请成为版主
帖子事件
创建了帖子
2004-10-28 03:43
社区公告
暂无公告