解决安装SQL Server 2005的常见问题及COM+配置教程

需积分: 9 1 下载量 39 浏览量 更新于2024-07-28 收藏 2.76MB DOC 举报
在安装Microsoft SQL Server 2005的过程中,用户可能会遇到一些特定的问题,尤其是在已经安装了Visual Studio 2010/2008/2005的环境中。遵循以下步骤可以解决安装过程中遇到的关键问题: 1. **安装顺序限制**: - 安装SQL Server 2005必须先于Visual Studio系列,因为先安装的VS版本可能会影响SQL Server的安装。确保在没有安装Visual Studio的前提下安装SQL Server。 2. **COM+目录要求与警告**: - 如果安装过程中出现关于COM+目录的警告,可能是因为DistributedTransactionCoordinator (DTC) 服务存在问题。解决方法是: - 打开服务管理器,找到并右键点击DTC服务,选择“属性”。 - 在“登录”选项卡中,将账户类型设置为“NT AUTHORITY\NetworkService”,密码保持为空,然后重启服务。 - 或者通过命令行执行msdtc-uninstall卸载,然后msdtc-install重新安装。 3. **服务错误与修复**: - 如果DTC服务无法启动且报错3221229584(0xC0001010),可以通过运行`msdtc-resetlog`命令重置日志来解决问题。 4. **COM+安装问题**: - 当组件服务中的COM+出现故障时,可以按照以下步骤操作: - 打开MMC(管理控制台)并添加“组件服务”管理单元。 - 展开“组件服务”树,查找错误提示的相关位置。 - 如果有错误消息,尝试卸载并重新安装COM+组件。 5. **重新安装COM+组件**: - 通过控制面板的“添加或删除程序”找到“添加/删除Windows组件”,然后选择“添加/删除Windows组件”进行COM+的重新安装。 安装SQL Server 2005时需要注意安装顺序,并且对于遇到的服务和组件相关问题,用户需要仔细排查和按照特定的步骤进行修复。这包括处理COM+目录要求、解决DTC服务错误以及重新安装相关组件。通过这些步骤,可以确保SQL Server 2005的顺利安装。

编译报错 CREATE OR REPLACE PROCEDURE get_dev_cs IS sql_tem VARCHAR2(4000); v_dt NUMBER; BEGIN ----om_subscriber_yyyymm sql_tem := 'truncate table ycyd.Subscriber_cs'; EXECUTE IMMEDIATE sql_tem; FOR v_dt IN (SELECT to_number(substr(table_name, '15')) db FROM sys.all_tables a WHERE a.owner = upper('jour1') AND a.table_name LIKE upper('om_subscriber_202___') AND substr(table_name, '15') > 202205) LOOP -- 循环往b里添加数据 sql_tem := ' INSERT INTO ycyd.Subscriber_cs SELECT a.order_id, a.done_date, a.cust_id, a.subscriber_ins_id, a.access_num FROM jour1.om_subscriber_' || v_dt.db || ' a WHERE a.action = 0 AND a.is_usim = 1'; -- 执行sql EXECUTE IMMEDIATE sql_tem; END LOOP; ----om_order_yyyymm sql_tem := 'truncate table ycyd.order_cs'; EXECUTE IMMEDIATE sql_tem; COMMIT; FOR v_dt IN (SELECT to_number(substr(table_name, '15')) db FROM sys.all_tables a WHERE a.owner = upper('jour1') AND a.table_name LIKE upper('om_subscriber_202___') AND substr(table_name, '15') > 202205) LOOP -- 循环往b里添加数据 sql_tem := ' INSERT INTO ycyd.order_cs SELECT order_id, dev_id FROM JOUR1.om_order_' || v_dt.db || ' b'; -- 执行sql EXECUTE IMMEDIATE sql_tem; END LOOP; COMMIT; ---dev sql_tem := 'truncate table ycyd.yd_order_dev_3056'; EXECUTE IMMEDIATE sql_tem; -- 添加数据 sql_tem := ' INSERT INTO ycyd.yd_order_dev_3056 SELECT a.order_id, a.done_date, a.cust_id, a.subscriber_ins_id, a.access_num, c.dev_id, c.dev_name, d.code, c.dev_busi_code, c.corp_org, c.company_name, c.department_code, c.department_name, c.remarks FROM ycyd.Subscriber_cs a LEFT JOIN ycyd.order_cs b ON a.order_id = b.order_id LEFT JOIN params1.sec_developer c ON b.dev_id = c.dev_id LEFT JOIN (SELECT DISTINCT oo.code,s.bill_id FROM params1.sec_operator oo, params1.sec_staff s WHERE s.staff_id = oo.staff_id AND oo.state = 1 AND oo.staff_id NOT in ('123402933','123395474','123404209')) d ON c.dev_phone = d.bill_id WHERE c.corp_org = 3056'; -- 执行sql EXECUTE IMMEDIATE sql_tem; COMMIT; END get_dev_cs;

2023-07-14 上传