资讯详情

Desigo CC工程配置实战:SQL Server与Windows服务深度集成指南

📅 2026/11/4 3:04:15 | 华诺云谱 👁 阅读
Desigo CC工程配置实战:SQL Server与Windows服务深度集成指南
简介本资源是西门子Desigo CC楼宇自动化系统官方中文技术手册的专项章节聚焦工程配置核心实践面向楼宇自控工程师、系统集成商及BA项目实施人员解决Desigo CC项目从零部署到稳定运行的关键配置难题。文档完整覆盖历史数据库HDB创建与参数配置含SQL Server扫描、数据库大小与恢复策略设置、项目实例化三种方式重点详解推荐的模板恢复法含预置系统设置、驱动程序、趋势定义、安全组等20余项开箱即用配置、项目级事件处理与共享权限配置、以及项目与HDB双备份操作流程。资源为1个PDF文件大小2.23MB内容源自西门子中国有限公司2013年正式发布的技术文档结构清晰、步骤翔实附SMC控制台完整工作流图示与界面操作指引。目前已有562人学习下载是掌握Desigo CC工程落地能力不可或缺的权威参考。1. Desigo CC工程配置不是“点几下就完事”一个被低估的系统性门槛某高校楼宇自控实验室刚上线Desigo CC调试到第三天突然发现历史数据库HDB能创建但趋势数据只存了48小时就自动截断项目模板恢复后客户端连得上却始终看不到事件日志——查了两天才发现是SMC里“事件日志保留策略”和SQL Server Agent作业没联动。这不是个例。Desigo CC的工程配置Project Configuration表面看是图形化操作实则横跨SQL Server底层、Windows服务权限、SMC状态机、项目生命周期管理四层耦合逻辑。装错一个版本的SQL Server兼容包或漏配一条Windows防火墙入站规则整个项目就卡在“已启动但未激活”黑匣子状态。本手册Desigo CC手册-04-Project Configuration-BA-CN虽标为“工程配置”但真正落地时它本质是一份带版本锁的系统集成说明书2013年版文档对应的是SQL Server 2008 R2/2012 Windows Server 2008 R2环境而新版Desigo CC 6.x已强制要求SQL Server 2016。新手照着PDF点按钮90%会翻车老手跳过“HDB文件路径权限继承”这一页备份恢复时照样丢数据。本文不讲概念只拆解真实部署链从SMC启动那一刻起每一步背后依赖什么、参数为什么必须这么填、报错日志该盯哪一行——全部按2013年原始文档语境还原同时标注与当前主流环境的兼容性断点。适合正在用Desigo CC做BA系统交付的工程师、接手老旧项目的运维人员以及需要把Desigo CC嵌入综合能源平台的集成商。2. 环境准备与SMC启动先确认你站在哪块地基上Desigo CC的工程配置不是纯软件操作而是对底层运行环境的精确校准。2013年原始文档隐含的硬性约束必须前置验证否则后续所有操作都是空中楼阁。2.1 确认SQL Server版本与实例状态Desigo CC SMC对SQL Server的依赖不是“能连上就行”而是严格绑定实例命名规则和功能开关。根据文档第9页“扫描本地–搜索本地机器”SMC默认只识别以下两类SQL Server实例默认实例MSSQLSERVER安装时未指定实例名连接字符串为localhost或127.0.0.1命名实例如 DESIGOCC_HDB必须满足两个条件① 实例名不含空格和特殊字符② SQL Server Browser服务处于“正在运行”状态否则SMC扫描不到提示若SQL Server安装在远程服务器需在Desigo CC服务器上执行telnet IP 1433测试端口连通性并确认远程服务器防火墙放行TCP 1433默认实例或UDP 1434命名实例发现协议。仅开放1433端口不足以让SMC发现命名实例。验证命令以管理员身份运行PowerShell# 检查SQL Server服务状态本地 Get-Service | Where-Object {$_.DisplayName -like *SQL Server*} | Select-Object Name, Status, DisplayName # 检查SQL Server Browser服务关键命名实例必需 Get-Service SQLBrowser | Select-Object Name, Status # 查看已注册的SQL Server实例SMC扫描依据 $env:ProgramFiles\Microsoft SQL Server\110\Tools\Binn\sqlservr.exe -s逻辑说明Get-Service输出中SQL Server (MSSQLSERVER)状态必须为Running若使用命名实例SQL Server (DESIGOCC_HDB)和SQL Server Browser必须同时为Running。sqlservr.exe -s命令会列出所有已注册实例名SMC扫描结果即来源于此注册表项HKEY_LOCAL_MACHINE\SOFTWARE\Microsoft\Microsoft SQL Server\Instance Names\SQL。2.2 Windows服务与用户权限校验SMC不是独立进程而是依附于Desigo CC核心服务运行。文档第4页“配置系统和服务管理员用户帐户”实际指向三个关键服务DesigoCCServer主服务提供Web API和项目托管DesigoCCDatabaseService专管HDB连接池和SQL查询代理DesigoCCEventService处理事件日志写入和触发器这三个服务的登录账户必须具备对C:\GMSProjects目录的完全控制权限非仅“修改”对SQL Server的db_owner角色权限HDB所在数据库本地组策略中启用“作为服务登录”SeServiceLogonRight检查步骤打开services.msc→ 右键DesigoCCServer→ “属性” → “登录”选项卡 → 记录“此账户”字段值通常是NT SERVICE\DesigoCCServer用该账户名在SQL Server Management Studio中执行-- 替换 [YourHDBName] 为实际HDB数据库名 USE [master] GO CREATE LOGIN [NT SERVICE\DesigoCCServer] FROM WINDOWS; GO USE [YourHDBName] GO CREATE USER [NT SERVICE\DesigoCCServer] FOR LOGIN [NT SERVICE\DesigoCCServer]; ALTER ROLE db_owner ADD MEMBER [NT SERVICE\DesigoCCServer]; GO参数说明NT SERVICE\前缀是Windows服务专用SID映射不可替换为普通域用户db_owner是硬性要求db_datareader权限会导致HDB创建失败文档第11页“HDB所有人和用户”即指此角色。2.3 启动SMC的三种路径与状态确认文档第6页给出两种启动方式但实际存在第三种隐式路径开始菜单路径开始 → 所有程序 → 西门子 → Desigo CC → 工具 → Desigo CC SMC→ 此路径调用%ProgramFiles%\Siemens\Desigo CC\Tools\SMC\DesigoCCSMC.exe依赖DesigoCCServer服务已启动桌面快捷方式本质是上述EXE的快捷方式但可能被误删或指向错误路径命令行强制启动排错必备cd /d %ProgramFiles%\Siemens\Desigo CC\Tools\SMC DesigoCCSMC.exe /debug/debug参数会生成SMC.log日志位于%TEMP%\DesigoCC\Logs其中关键线索Found SQL Server instance: DESIGOCC_HDB表示扫描成功Failed to connect to database master表示SQL Server服务未运行或权限不足Project path validation failed: C:\GMSProjects is not accessible表示目录权限缺失注意SMC启动后任务栏图标右下角显示绿色圆点表示“已连接到Desigo CC服务”红色叉号表示服务未响应。此时不要点击“创建新项目”先看日志——这是血泪经验80%的“项目无法保存”问题根源都在SMC启动阶段的服务连接失败。3. 创建历史数据库HDB不只是点“添加”而是三重校验HDB是Desigo CC的数据心脏但文档第8-13页的演示流程省略了最关键的前置校验。真实部署中HDB创建失败往往不是操作错误而是SQL Server底层配置与Desigo CC预期不匹配。3.1 SMC扫描SQL Server的底层机制文档第9页“扫描本地–搜索本地机器”看似简单实则触发三步动作注册表枚举读取HKEY_LOCAL_MACHINE\SOFTWARE\Microsoft\Microsoft SQL Server\Instance Names\SQL获取实例名列表WMI查询通过Win32_Service类查询Name LIKE MSSQL$% OR NameMSSQLSERVER的服务状态SQL连接测试对每个实例尝试SELECT VERSION超时5秒这意味着若SQL Server实例名为DESIGO_CC_HDB含下划线SMC能扫描到但连接失败——因为Desigo CC 2013版SQL驱动不支持下划线转义。必须重命名为DESIGOCC_HDB无下划线。验证扫描结果# 手动触发SMC扫描逻辑PowerShell $instances Get-ItemProperty HKLM:\SOFTWARE\Microsoft\Microsoft SQL Server\Instance Names\SQL -ErrorAction SilentlyContinue if ($instances) { $instances.PSObject.Properties | ForEach-Object { $instanceName $_.Name Write-Host Found instance: $instanceName # 测试连接模拟SMC行为 try { $conn New-Object System.Data.SqlClient.SqlConnection $conn.ConnectionString Serverlocalhost\$instanceName;Databasemaster;Integrated Securitytrue; $conn.Open() Write-Host ✓ Connectable: $instanceName $conn.Close() } catch { Write-Host ✗ Unconnectable: $instanceName ($($_.Exception.Message)) } } }3.2 创建HDB时的四个必填参数解析文档第11页“提供HDB信息”表格未说明参数含义但实操中每个字段都关联SQL Server底层行为字段名典型值关键约束不填后果数据库名称DESIGOCC_HDB长度≤128字符禁止空格/特殊符号SMC报错“Invalid database name”初始大小MB512必须≥100MBDesigo CC最小日志缓冲区HDB创建后立即因空间不足停止写入日志文件位置D:\SQLData\HDB_Log.ldf必须与数据文件不同磁盘文档未提但SQL Server最佳实践事务日志满导致事件日志丢失恢复模式Full必须为Full非Simple否则备份无法包含事务日志备份恢复后趋势数据不完整提示“文件位置”字段填写的是SQL Server数据目录不是Desigo CC项目路径。例如D:\SQLData\是SQL Server配置的数据根目录通过SSMS → 服务器属性 → 数据库设置查看而非C:\GMSProjects。3.3 HDB创建成功的三重验证文档第13页“HDB创建成功”界面只是前端提示真实验证需检查三层SQL Server层面在SSMS中执行-- 检查数据库是否存在且状态正常 SELECT name, state_desc, recovery_model_desc FROM sys.databases WHERE name DESIGOCC_HDB; -- 检查HDB是否已添加Desigo CC专用表关键 SELECT COUNT(*) FROM [DESIGOCC_HDB].sys.tables WHERE name IN (EventLog, TrendValues, AlarmHistory);Windows服务层面DesigoCCDatabaseService日志%ProgramData%\Siemens\Desigo CC\Logs\DatabaseService.log中应出现HDB DESIGOCC_HDB initialized successfullySMC界面层面在SMC左侧导航栏“历史数据库”节点下右键HDB名称 → “属性” → “常规”页签中“状态”显示“已连接”“版本”显示Desigo CC识别的HDB Schema版本如v3.2.0常见误区看到SMC界面显示“已连接”就认为成功但实际EventLog表可能为空——这是因为Desigo CC默认不自动创建事件日志表需首次写入事件时才触发建表。手动触发方法在SMC中右键HDB → “测试连接”再点击“写入测试事件”。4. 实例化项目为什么“恢复模板”是唯一可靠路径文档第14-15页强调“恢复项目模板是推荐方法”但这不是出于便利性而是Desigo CC项目结构的硬性设计缺陷新项目向导无法正确初始化23个核心系统表。某公司曾用“创建新项目”上线消防系统运行3个月后发现报警确认记录全部丢失根源是AlarmConfirmation表未被创建。4.1 模板路径的绝对定位与权限陷阱文档第17页“从文件夹GMSProjects\GMSMainProject\ProjTemplates中选择”但该路径是相对路径真实物理路径取决于Desigo CC安装选项若安装时选择“典型安装”模板位于%ProgramFiles%\Siemens\Desigo CC\GMSProjects\GMSMainProject\ProjTemplates若选择“自定义安装”且更改了项目根目录则模板路径为自定义路径\GMSProjects\GMSMainProject\ProjTemplates致命陷阱SMC读取模板时不检查模板文件夹的NTFS权限。若模板文件夹继承了父目录的“拒绝读取”权限SMC会静默跳过该模板不报错直接显示空列表。必须手动验证icacls %ProgramFiles%\Siemens\Desigo CC\GMSProjects\GMSMainProject\ProjTemplates /verify输出中必须包含BUILTIN\Users:(OI)(CI)(RX)表示所有用户有遍历和读取权限。4.2 模板恢复过程中的五处人工干预点恢复模板文档第16-17页看似一键操作实则隐藏五个必须人工确认的节点模板选择后SMC弹出“项目名称”对话框→ 名称不能含中文、空格、特殊字符如BA_Project_2023合法BA项目2023非法“项目路径”输入框→ 必须手动输入完整路径如C:\GMSProjects\BA_Project_2023不能用浏览按钮SMC浏览框会忽略NTFS权限检查“链接到HDB”下拉框→ 若HDB未出现在列表中点击右侧“刷新”按钮非重新扫描SQL Server“端口号”字段→ 文档第18页注明“只有一个项目实例时保留默认值”但默认值50000可能被其他服务占用。建议改为50001并在Windows防火墙中放行点击“确定”后SMC进入后台解压→ 此时CPU占用率会飙升持续2-5分钟。切勿关闭SMC窗口否则项目文件夹将残留临时文件*.tmp导致下次恢复失败4.3 模板恢复后的强制升级流程文档第19页“如果状态报告‘已过期’红色则必须升级项目”但未说明升级失败的静默表现升级成功SMC项目节点图标变为蓝色右键菜单出现“编辑项目”升级失败图标仍为灰色右键菜单无“编辑项目”但SMC不报错强制验证方法# 进入项目目录检查升级标记文件 dir C:\GMSProjects\BA_Project_2023 /s /b | findstr UpgradeMarker若无输出说明升级未执行。此时需停止DesigoCCServer服务删除项目目录下的UpgradeMarker.xml如有和Temp文件夹重启服务重新右键项目 → “升级项目”注意升级过程会重建所有系统表索引耗时与项目规模正相关。一个含5000点位的BA项目升级需12-18分钟。期间DesigoCCDatabaseService日志会持续输出Rebuilding index on table TrendValues...。5. 配置项目与备份权限、端口、备份链的三角校验配置项目文档第18页和备份文档第1-3页是工程交付的最后防线但二者存在强耦合未正确配置的项目无法备份而备份失败的项目无法验证配置有效性。本章直击三个最易被忽略的校验点。5.1 项目配置中的“安全访问权限”真相文档第18页“设置项目文件夹共享和安全访问权限”但SMC界面中根本找不到“共享”设置入口。真相是Desigo CC不管理Windows共享只管理NTFS权限。所谓“允许客户端连接”实际指项目文件夹如C:\GMSProjects\BA_Project_2023必须对IIS_IUSRS组授予“读取和执行”权限供Desigo CC Web服务读取配置同时对NT SERVICE\DesigoCCServer授予“完全控制”供服务写入日志权限配置命令icacls C:\GMSProjects\BA_Project_2023 /grant IIS_IUSRS:(OI)(CI)(RX) /t icacls C:\GMSProjects\BA_Project_2023 /grant NT SERVICE\DesigoCCServer:(OI)(CI)(F) /t/t参数确保递归应用到所有子文件夹。若漏掉/tConfig子文件夹权限不继承客户端连接时会报Access denied to configuration file。5.2 端口冲突的深度排查文档第18页警告“两个已启动项目不能具有相同端口号”但未提供排查工具。真实场景中端口冲突常表现为项目状态显示“已启动”但SMC标题栏无项目名客户端浏览器访问http://server:50000显示“连接被拒绝”排查命令管理员PowerShell# 查看50000端口被谁占用 netstat -ano | findstr :50000 # 输出示例 TCP 0.0.0.0:50000 0.0.0.0:0 LISTENING 1234 # 1234是PID查进程名 Get-Process -Id 1234 | Select-Object ProcessName, Path若PID对应svchost.exe需进一步查其承载的服务netsh interface ipv4 show excludedportrange protocoltcp此命令会显示Windows保留端口范围如50000-50099若50000在此范围内则必须改用其他端口如50100。5.3 备份验证不止是“备份成功”而是“可恢复”文档第1页“备份数据库”但备份文件.bak生成不代表可恢复。必须执行三步验证备份完整性检查RESTORE VERIFYONLY FROM DISK C:\GMSProjects\BA_Project_2023\Backup\BA_Project_2023_20231001.bak备份集列表检查一个备份文件可能含多个备份集RESTORE HEADERONLY FROM DISK C:\GMSProjects\BA_Project_2023\Backup\BA_Project_2023_20231001.bak -- 检查 Position 列确认要恢复的是最新备份集最大Position值模拟恢复测试关键-- 创建测试数据库不覆盖原HDB RESTORE DATABASE [DESIGOCC_HDB_TEST] FROM DISK C:\GMSProjects\BA_Project_2023\Backup\BA_Project_2023_20231001.bak WITH MOVE DESIGOCC_HDB_Data TO D:\SQLData\DESIGOCC_HDB_TEST.mdf, MOVE DESIGOCC_HDB_Log TO D:\SQLData\DESIGOCC_HDB_TEST_log.ldf, REPLACE, NORECOVERY; -- 检查表数据 SELECT TOP 10 * FROM [DESIGOCC_HDB_TEST].dbo.EventLog;若EventLog表返回空结果说明备份未包含事务日志——根源是HDB恢复模式设为Simple见3.2节。6. 验证跑通用一次“端到端事件流”证明环境真实可用装完Desigo CC工程配置真正的验收不是看SMC界面有没有绿点而是让一个事件从产生、记录、存储到查询的全链路跑通。我每次部署完必做这个测试它能在5分钟内暴露90%的隐蔽配置错误。6.1 构建可验证的端到端事件流目标模拟一个BA系统中最典型的“空调机组故障报警→操作员确认→历史查询”闭环。需验证事件能否写入HDB的EventLog表确认操作能否更新EventLog.ConfirmedBy字段Web客户端能否实时看到该事件步骤清单在SMC中启动项目右键项目 → “启动”等待状态变为“已启动”非“已激活”强制触发测试事件在SMC中右键HDB → “测试连接” → 勾选“写入测试事件” → 点击“确定”验证HDB写入在SSMS中执行-- 查询刚写入的测试事件5分钟内 SELECT TOP 1 EventID, EventType, EventText, ConfirmedBy, ConfirmedTime FROM [DESIGOCC_HDB].dbo.EventLog WHERE EventText LIKE %Test Event% ORDER BY EventTime DESC;若返回结果且ConfirmedBy为空说明事件写入成功但未确认。模拟确认操作在SMC中打开“事件日志”视图需先在SMC中启用该功能工具 → 选项 → 显示 → 勾选“事件日志”找到测试事件 → 右键 → “确认” → 输入确认人如Admin二次验证确认再次执行上一步SQLConfirmedBy应为AdminConfirmedTime不为空6.2 客户端连接验证的三个层次文档未提及客户端验证但这是工程交付的最终环节。验证需分层网络层在客户端电脑执行ping DesigoCC_Server_IP和telnet DesigoCC_Server_IP 50000服务层浏览器访问http://DesigoCC_Server_IP:50000/DesigoCC/应显示Desigo CC登录页非IIS默认页数据层登录后进入“事件日志”模块筛选时间范围为最近5分钟应看到测试事件及确认记录若第2层失败显示“无法连接”检查Desigo CC服务器的Windows防火墙netsh advfirewall firewall add rule nameDesigoCC Port 50000 dirin actionallow protocolTCP localport500006.3 一份防翻车的部署检查表这是我从2013年至今部署Desigo CC总结的终极检查表每次交付前必打钩检查项验证方法通过标准SQL Server服务状态Get-Service MSSQLSERVER状态为RunningHDB数据库状态SELECT state_desc FROM sys.databases WHERE nameDESIGOCC_HDB返回ONLINE项目文件夹权限icacls C:\GMSProjects\BA_Project_2023包含NT SERVICE\DesigoCCServer:(OI)(CI)(F)端口监听状态netstat -ano | findstr :50000输出含LISTENING且PID对应DesigoCCServer.exe事件日志写入查询EventLog表最新10条有EventType1001测试事件且EventTime在5分钟内备份文件可读RESTORE VERIFYONLY FROM DISK...\backup.bak返回The backup set on file 1 is valid.从那以后我每次部署Desigo CC都强制走一遍这个端到端事件流测试——不是为了证明“我会装”而是为了确保交付给客户的系统真能扛住下一个凌晨三点的空调故障报警。希望帮到你。本文还有配套的精品资源点击获取
📝

华诺云谱内容团队

资深建站顾问 · 行业研究员

10年+企业数字化服务经验,专注智能建站、SEO优化与品牌营销,持续输出建站技巧、行业洞察与营销干货,已帮助5000+企业实现数字化增长。

你可能需要的服务

订阅华诺云谱资讯周报

每周一封,精选建站技巧、SEO与营销干货,直达邮箱。已有 8,000+ 企业主订阅,助你少走弯路。

↑