深入 WIN2000 注册表 (14) C O M +
深入 WIN2000 注册表 (14) C O M +
C O M +
简介
C O M +是M i c r o s o f t旧式的组件对象模式(Component Object Model,C O M )技术功能强大的新版本。从Windows 2000开始,C O M +把许多以前独立的技术,例如M i c r o s o f t事务处理服务
器(Microsoft Transaction Server,M T S )和M i c r o s o f t消息队列(Microsoft Messaging Queue ,
M S M Q ),直接加入了操作系统。尽管C O M +为系统管理员提供了一个非常友好的用户界面(名为组件服务管理器,即Component Services Explorer),但是它还是依赖于一组注册表条目,
系统管理员可以通过它们充分使用某个服务器的C O M +设备(COM+ installation)。非常有趣的是,与标准的C O M不同, C O M +并不把它的数据保存在标准的注册表中,而是把数据保存在
名为R e g D B的专用数据库中。C O M +为Windows 2000开发人员提供了范围很广的服务,包括分布式事务处理(Distributed T r a n s a c t i o n s )、D C O M支持、异步过程调用( A s y n c h r o n o u s
Procedure Calls)、内存数据库(In-Memory Database)、对象池(Object Pooling)和负载平衡( L o a dB a l a n c i n g )。
COM+的能力
C O M +为Windows 2000系统提供了一组强有力的服务,包括:
. 事务处理
. 负载平衡和故障恢复支持
. 对象池和JIT(Just In Ti m e,准时制)对象激活
. 异步函数调用
. 发布和订阅事件
DCOM支持
C O M +对使用分布式C O M ( D C O M )的远程组件交互提供了全面的支持。如果需要的话,一个特殊的注册表条目可以用来手工控制它。此外, D C O M名为C I S ( 组件I n t e r n e t服务,
Component Internet Services) 的新协议允许C O M +组件通过标准的I n t e r n e t联接进行连接。D C O M本身应通过D C O M C F G而不是Component Services管理。
ODBC资源池
一种比较耗费内存和时间的软件对象就是O D B C数据库连接,而在指定的时间内繁忙的服务器可能会有很多这种连接建立和关闭。C O M +通过将O D B C连接资源保存(甚至是在它们不
使用时也保存)在内存中,并且正确地设置注册表值来充分地提高性能。
IMDB
IMDB(In-Memory Database)是C O M +最有用的功能之一。I M D B允许来自服务器的数据放在内存中,并像本地O D B C数据源一样对待,使其具有被打开、运行S Q L查询语句等能力。注
册表条目可以控制I M D B的三种主要特性:连接( c o n n e c t i o n )、已分配的内存( a l l o c a t e d
m e m o r y )和B L O B。
1. 连接
I M D B就像一个标准的、与O D B C兼容的数据库服务器一样工作,所以它也有对并发连接数目的限制。在达到最大的连接数目之后,任何额外的请求都会失败,直到有可用的连接为
止。系统管理员可以通过手工修改注册表设置来提高并发连接的上限。
2. 已分配的内存
所有I M D B数据库都使用一定数量的硬连线内存,这就限制了一个数据库可以包含的数据量。系统管理员可以通过注册表来增加和减少这种限制以实现最佳性能。
3. BLOB
BLOB(Binary Large Objects,二进制大对象)是一种特殊的数据库域,它用来保存二进制数据(例如图像)。I M D B对B L O B数据有一个比较小的缺省尺寸限制。如果某个数据库环境需
要,那么系统管理员可以通过设置注册表值来增加尺寸限制。
允许COM+注册表数据库自动备份
C O M +依赖注册表来管理某些重要的控制设置,包括是否自动备份其专用数据库。要强迫执行备份操作,可以按照如下步骤设置注册表:
1) 打开“开始”菜单并选择“运行”。单击“浏览”按钮开始浏览直到找到Wi n d o w s2 0 0 0的根目录(通常是W I N N T )为止。进入S y s t e m目录并找到R e g e d t 3 2 . e x e,将其选入对话框
并单击“确定”按钮。注册表编辑器启动,将所有的配置单元分别显示在不同的层叠子窗口中。
2) 选择“窗口”菜单项H K E Y _ L O C A L _ M A C H I N E,其子窗口显示。最大化该窗口以便于使用。
3) 使用左窗口的树型控件定位到S O F T WA R E \ M i c r o s o f t \ C O M 3子项。单击该子项选取它,
在右窗口中显示其值。
4) 定位到值R e g D B A u t o B a c k u p的条目。使用D Wo r d编辑器把R e g D B A u t o B a c k u p的值改为
1,强迫自动进行备份。
把远程计算机手工添加到COM+系统中
C O M +依赖注册表来管理某些重要的控制设置,包括由某个C O M +设备管理的所有计算机的名称和配置信息。尽管你可以使用C S管理器(CS Explorer),但是在某些情况下按照下列步
骤手工将计算机加入当前C O M +系统可能更容易:
1) 打开“开始”菜单并选择“运行”。单击“浏览”按钮开始浏览直到找到Windows 2000的根目录(通常是W I N N T )为止。进入S y s t e m目录并找到R e g e d t 3 2 . e x e,将其选入对话框并单击
“确定”按钮。注册表编辑器启动,将所有的配置单元分别显示在不同的层叠子窗口中。
2) 选择“窗口”菜单项H K E Y _ L O C A L _ M A C H I N E,其子窗口显示。最大化该窗口以便于使用。
3) 使用左窗口的树型控件定位到S O F T WA R E \ M i c r o s o f t \ C O M 3 \ C o m p u t e r L i s t Ta b l e子项。
单击该子项选取它,在右窗口中显示其值。
4) 使用你想要添加的计算机名称添加一个新子项。接着,在L o c a l C o m p u t e r Ta b l e子项中
为这个新子项配置一个条目,并复制已在其中的某个子项。
启用COM+对DCOM的支持
C O M +依赖注册表来管理某些重要的控制设置,包括是否启用对D C O M的支持。如果D C O M因为C O M +的原因而无法启动,则可根据需要,按照下列步骤检查注册表并重新设置:
1) 打开“开始”菜单并选择“运行”。单击“浏览”按钮开始浏览直到找到Windows 2000的根目录(通常是W I N N T )为止。进入S y s t e m目录并找到R e g e d t 3 2 . e x e,将其选入对话框并单击
“确定”按钮。注册表编辑器启动,将所有的配置单元分别显示在不同的层叠子窗口中。
2) 选择“窗口”菜单项H K E Y _ L O C A L _ M A C H I N E,其子窗口显示。最大化该窗口以便于使用。
3) 使用左窗口的树型控件定位到S O F T WA R E \ M i c r o s o f t \ C O M 3 \ L o c a l C o m p u t e r Ta b l e M y C o m p u t e r子项。单击该子项选取它,在右窗口中显示其值。
4) 定位到值E n a b l e D C O M的条目。使用字符串编辑器把E n a b l e D C O M的值改为Y,启用对
D C O M的支持。
启用COM+的安全跟踪功能
C O M +依赖注册表来管理某些重要的控制设置,包括记录所有的安全活动。你可以通过如下所示的注册表修改步骤打开这项功能:
1) 打开“开始”菜单并选择“运行”。单击“浏览”按钮开始浏览直到找到Wi n d o w s2 0 0 0的根目录(通常是W I N N T )为止。进入S y s t e m目录并找到R e g e d t 3 2 . e x e,将其选入对话框
并单击“确定”按钮。注册表编辑器启动,将所有的配置单元分别显示在不同的层叠子窗口中。
2) 选择“窗口”菜单项H K E Y _ L O C A L _ M A C H I N E,其子窗口显示。最大化该窗口以便于使用。
3) 使用左窗口的树型控件定位到S O F T WA R E \ M i c r o s o f t \ C O M 3 \ L o c a l C o m p u t e r Ta b l e M y C o m p u t e r子项。单击该子项选取它,在右窗口中显示其值。
4) 定位到值E n a b l e S e c u r i t y Tr a c k i n g的条目。使用字符串编辑器把E n a b l e S e c u r i t y Tr a c k i n g
的值改为Y,允许记录C O M +的安全事件。
警告C O M +使用一种名为R o l e s的特殊安全系统。在开始使用C O M +的安全特性之前,应确保你掌握了R o l e s。
防止IMDB连接失败
C O M +依赖注册表来管理某些重要的控制设置,包括允许有多少个并发的I M D B连接。如果通信紧张的情况不断发展,那么系统管理员可以按照如下步骤修改注册表,提高这个值:
1) 打开“开始”菜单并选择“运行”。单击“浏览”按钮开始浏览直到找到Wi n d o w s2 0 0 0的根目录(通常是W I N N T )为止。进入S y s t e m目录并找到R e g e d t 3 2 . e x e,将其选入对话框
并单击“确定”按钮。注册表编辑器启动,将所有的配置单元分别显示在不同的层叠子窗口中。
2) 选择“窗口”菜单项H K E Y _ L O C A L _ M A C H I N E,其子窗口显示。最大化该窗口以便于使用。
3) 使用左窗口的树型控件定位到S O F T WA R E \ M i c r o s o f t \ C O M 3 \ L o c a l C o m p u t e r Table\ My
C o m p u t e r子项。单击该子项选取它,在右窗口中显示其值。
4) 定位到值I M D B C o n n e c t i o n s的条目。使用D Wo r d编辑器把I M D B C o n n e c t i o n s的值改为所
希望的连接数。记住,每个连接只消耗固定的I D M B内存量,而不管需要多少。
提示I M D B C o n n e c t i o n s缺省值为1 0。
通过动态装载表来提高IMDB的性能
C O M +依赖注册表来管理某些重要的控制设置,包括在为用户提供结果的同时动态装载表的能力。你可以按照如下步骤修改注册表,打开这个非常有用的特性:
1) 打开“开始”菜单并选择“运行”。单击“浏览”按钮开始浏览直到找到Wi n d o w s2 0 0 0的根目录(通常是W I N N T )为止。进入S y s t e m目录并找到R e g e d t 3 2 . e x e,将其选入对话框
并单击“确定”按钮。注册表编辑器启动,将所有的配置单元分别显示在不同的层叠子窗口中。
2) 选择“窗口”菜单项H K E Y _ L O C A L _ M A C H I N E,其子窗口显示。最大化该窗口以便于使用。
3) 使用左窗口的树型控件定位到S O F T WA R E \ M i c r o s o f t \ C O M 3 \ L o c a l C o m p u t e r Ta b l e M y C o m p u t e r子项。单击该子项选取它,在右窗口中显示其值。
4) 定位到值I M D B L o a d Ta b l e s D y n a m i c a l l y的条目。使用字符串编辑器把它的值改为Y,打
开该特性。
通过增加可用内存来提高IMDB的性能
C O M +依赖注册表来管理某些重要的控制设置,包括分配给每个I M D B连接的总内存数。在通信紧张的情况下,系统管理员可以按照如下步骤修改注册表,增加这个值:
1) 打开“开始”菜单并选择“运行”。单击“浏览”按钮开始浏览直到找到Wi n d o w s2 0 0 0的根目录(通常是W I N N T )为止。进入S y s t e m目录并找到R e g e d t 3 2 . e x e,将其选入对话框
并单击“确定”按钮。注册表编辑器启动,将所有的配置单元分别显示在不同的层叠子窗口中。
2) 选择“窗口”菜单项H K E Y _ L O C A L _ M A C H I N E,其子窗口显示。最大化该窗口以便于使用。
3) 使用左窗口的树型控件定位到S O F T WA R E \ M i c r o s o f t \ C O M 3 \ L o c a l C o m p u t e r Ta b l e M y C o m p u t e r子项。单击该子项选取它,在右窗口中显示其值。
4) 定位到值I M D B M e m o r y S i z e的条目。使用D Wo r d编辑器把I M D B M e m o r y S i z e的值改为
希望分配给每个I M D B连接的内存大小(以M B为单位)。
提示I M D B M e m o r y S i z e缺省值为5 1 2。
允许使用大的IMDB BLOB
C O M +依赖注册表来管理某些重要的控制设置,包括一个B L O B可以占用多少内存而不会
产生错误。系统管理员可以根据特定的数据库环境,按照如下步骤修改注册表来更改这个值:
1) 打开“开始”菜单并选择“运行”。单击“浏览”按钮开始浏览直到找到Wi n d o w s
2 0 0 0的根目录(通常是W I N N T )为止。进入S y s t e m目录并找到R e g e d t 3 2 . e x e,将其选入对话框
并单击“确定”按钮。注册表编辑器启动,将所有的配置单元分别显示在不同的层叠子窗口
中。
2) 选择“窗口”菜单项H K E Y _ L O C A L _ M A C H I N E,其子窗口显示。最大化该窗口以便
于使用。
3) 使用左窗口的树型控件定位到S O F T WA R E \ M i c r o s o f t \ C O M 3 \ L o c a l C o m p u t e r Ta b l e M y C o m p u t e r子项。单击该子项选取它,在右窗口中显示其值。
4) 定位到值I M D B R e s e r v e d B l o b M e m o r y的条目。使用D Wo r d编辑器把I M D B R e s e r v e d
B l o b M e m o r y的值改为所希望的大小(以M B为单位)。
提示I M D B R e s e r v e d B l o b M e m o r y缺省值为5 1 2。
设置缺省的COM+授权级别
C O M +依赖注册表来管理某些重要的控制设置,包括使用D C O M的缺省授权级别。系统
管理员可以按照如下步骤手工设置这个值:
1) 打开“开始”菜单并选择“运行”。单击“浏览”按钮开始浏览直到找到Wi n d o w s
2 0 0 0的根目录(通常是W I N N T )为止。进入S y s t e m目录并找到R e g e d t 3 2 . e x e,将其选入对话框
并单击“确定”按钮。注册表编辑器启动,将所有的配置单元分别显示在不同的层叠子窗口
中。
2) 选择“窗口”菜单项H K E Y _ L O C A L _ M A C H I N E,其子窗口显示。最大化该窗口以便
于使用。
3) 使用左窗口的树型控件定位到S O F T WA R E \ M i c r o s o f t \ C O M 3 \ L o c a l C o m p u t e r Ta b l e M y C o m p u t e r子项。单击该子项选取它,在右窗口中显示其值。
4) 定位到值D e f a u l t A u t h e n t i c a t i o n L e v e l的条目。使用D Wo r d编辑器把D e f a u l t A u t h e n t i c a t i o n
L e v e l的值改为所希望D C O M授权级别(除了改写以外)。
提示D e f a u l t A u t h e n t i c a t i o n L e v e l的缺省值为4。
设置缺省的COM+假冒级别
C O M +依赖注册表来管理某些重要的控制设置,包括使用D C O M的缺省假冒级别。系统
管理员可以按照如下步骤手工设置这个值:
1) 打开“开始”菜单并选择“运行”。单击“浏览”按钮开始浏览直到找到Wi n d o w s
2 0 0 0的根目录(通常是W I N N T )为止。进入S y s t e m目录并找到R e g e d t 3 2 . e x e,将其选入对话框
并单击“确定”按钮。注册表编辑器启动,将所有的配置单元分别显示在不同的层叠子窗口
中。
2) 选择“窗口”菜单项H K E Y _ L O C A L _ M A C H I N E,其子窗口显示。最大化该窗口以便
于使用。
3) 使用左窗口的树型控件定位到S O F T WA R E \ M i c r o s o f t \ C O M 3 \ L o c a l C o m p u t e r Table\ My
C o m p u t e r子项。单击该子项选取它,在右窗口中显示其值。
4) 定位到值D e f a u l t I m p e r s o n a t i o n L e v e l的条目。使用D Wo r d编辑器把Default Impersonation
L e v e l的值改为所希望D C O M假冒级别(除了改写以外)。
提示D e f a u l t I m p e r s o n a t i o n L e v e l的缺省值为2。
确定COM+包的位置
C O M +依赖注册表来管理某些重要的控制设置,包括C O M +保存其应用程序软件包信息的
地方。如果C O M +出现问题,注册表是系统管理员应该首先查看的地方:
1) 打开“开始”菜单并选择“运行”。单击“浏览”按钮开始浏览直到找到Wi n d o w s
2 0 0 0的根目录(通常是W I N N T )为止。进入S y s t e m目录并找到R e g e d t 3 2 . e x e,将其选入对话框
并单击“确定”按钮。注册表编辑器启动,将所有的配置单元分别显示在不同的层叠子窗口
中。
2) 选择“窗口”菜单项H K E Y _ L O C A L _ M A C H I N E,其子窗口显示。最大化该窗口以便
于使用。
3) 使用左窗口的树型控件定位到S O F T WA R E \ M i c r o s o f t \ C O M 3 \ L o c a l C o m p u t e r Table\ My
C o m p u t e r子项。单击该子项选取它,在右窗口中显示其值。
4) 定位到值P a c k a g e I n s t a l l P a t h的条目。如果P a c k a g e I n s t a l l P a t h为空,那么C O M +就把其信
息保存在它安装的地方。如果不为空,检查这个值,确保它真的指向一个有效的位置,而且
的数据真的在那里。
确定远程COM+包的位置
C O M +依赖注册表来管理某些重要的控制设置,包括C O M +保存其远程应用程序的包信息
的地方。如果C O M +出现问题,注册表是系统管理员应该首先检查的地方:
1) 打开“开始”菜单并选择“运行”。单击“浏览”按钮开始浏览直到找到Wi n d o w s
2 0 0 0的根目录(通常是W I N N T )为止。进入S y s t e m目录并找到R e g e d t 3 2 . e x e,将其选入对话框
并单击“确定”按钮。注册表编辑器启动,将所有的配置单元分别显示在不同的层叠子窗口
中。
2) 选择“窗口”菜单项H K E Y _ L O C A L _ M A C H I N E,其子窗口显示。最大化该窗口以便
于使用。
3) 使用左窗口的树型控件定位到S O F T WA R E \ M i c r o s o f t \ C O M 3 \ L o c a l C o m p u t e r Ta b l e M y C o m p u t e r子项。单击该子项选取它,在右窗口中显示其值。
4) 定位到值R e m o t e P a c k a g e I n s t a l l P a t h的条目。如果R e m o t e P a c k a g e I n s t a l l P a t h为空,那么
C O M +就把其信息保存在它安装的地方。如果不为空,检查这个值,确保它真的指向一个有
效的位置,而且C O M +的数据真的在那里。
允许使用计算机作为COM+路由器
C O M +依赖注册表来管理某些重要的控制设置,包括某个指定的C O M +设备( C O M +
i n s t a l l a t i o n )是否可以作为C O M +路由器(在本地和远程C O M +计算机之间实现负载平衡)。系统
管理员可以按照如下步骤启用这种功能:
1) 打开“开始”菜单并选择“运行”。单击“浏览”按钮开始浏览直到找到Wi n d o w s
2 0 0 0的根目录(通常是W I N N T )为止。进入S y s t e m目录并找到R e g e d t 3 2 . e x e,将其选入对话框
并单击“确定”按钮。注册表编辑器启动,将所有的配置单元分别显示在不同的层叠子窗口
中。
2) 选择“窗口”菜单项H K E Y _ L O C A L _ M A C H I N E,其子窗口显示。最大化该窗口以便
于使用。
3) 使用左窗口的树型控件定位到S O F T WA R E \ M i c r o s o f t \ C O M 3 \ L o c a l C o m p u t e r Ta b l e M y C o m p u t e r子项。单击该子项选取它,在右窗口中显示其值。
4) 定位到值I s R o u t e r的条目。使用字符串编辑器把它的值改为Y,使当前的C O M +设备成
为C O M +路由器。
启用COM+资源池
C O M +依赖注册表来管理某些重要的控制设置,包括把资源消耗高的项目,如O D B C连接,
保存在池中(即在使用后仍保存在内存中)的能力。要手工打开该特性,系统管理员可以按照如
下步骤操作注册表:
1) 打开“开始”菜单并选择“运行”。单击“浏览”按钮开始浏览直到找到Wi n d o w s
2 0 0 0的根目录(通常是W I N N T )为止。进入S y s t e m目录并找到R e g e d t 3 2 . e x e,将其选入对话框
并单击“确定”按钮。注册表编辑器启动,将所有的配置单元分别显示在不同的层叠子窗口
中。
2) 选择“窗口”菜单项H K E Y _ L O C A L _ M A C H I N E,其子窗口显示。最大化该窗口以便
于使用。
3) 使用左窗口的树型控件定位到S O F T WA R E \ M i c r o s o f t \ C O M 3 \ L o c a l C o m p u t e r Table\ My
C o m p u t e r子项。单击该子项选取它,在右窗口中显示其值。
4) 定位到值R e s o u r c e P o o l i n g E n a b l e d的条目。使用字符串编辑器把Resource Pooling
E n a b l e d的值改为Y,打开C O M +资源池(Resource Pooling)。
防止因COM+事务处理超时而失败
C O M +依赖注册表来管理某些重要的控制设置,包括等待事务处理发出成功或失败信号
的时间。在网络延迟比较大的地方,这个等待时间可能需要增加。系统管理员可以按照如下
步骤通过注册表来访问这个重要的设置:
1) 打开“开始”菜单并选择“运行”。单击“浏览”按钮开始浏览直到找到Wi n d o w s
2 0 0 0的根目录(通常是W I N N T )为止。进入S y s t e m目录并找到R e g e d t 3 2 . e x e,将其选入对话框
并单击“确定”按钮。注册表编辑器启动,将所有的配置单元分别显示在不同的层叠子窗口
中。
2) 选择“窗口”菜单项H K E Y _ L O C A L _ M A C H I N E,其子窗口显示。最大化该窗口以便
于使用。
3) 使用左窗口的树型0控件定位到S O F T WA R E \ M i c r o s o f t \ C O M 3 \ L o c a l C o m p u t e r Table\ My
C o m p u t e r子项。单击该子项选取它,在右窗口中显示其值。
4) 定位到值Tr a n s a c t i o n Ti m e o u t的条目。使用D Wo r d编辑器把Tr a n s a c t i o n Ti m e o u t的值改为
所希望的时间(以秒为单位)。
提示Tr a n s a c t i o n Ti m e o u t的缺省值为6 0。