☰
Desigo CC工程配置:SMC建HDB、恢复模板与客户端排障
2026/10/27 2:13:21 网站建设 项目流程

简介:《Desigo CC手册-04-Project Configuration-BA-CN(工程配置)》面向楼宇自动化工程师、系统集成人员及Desigo CC运维学习者,聚焦项目从创建到备份的核心配置流程。压缩包仅含1个PDF文件,大小约2.23MB,排版为手册式章节,便于按页查阅与现场对照。内容围绕系统管理控制台(SMC)展开:创建并配置历史数据库(HDB),恢复项目模板、项目备份或新建项目,设置事件处理与项目文件夹共享权限,以及备份项目和历史数据库。其中对SQL Server扫描链接、HDB参数设置、模板预配置项、项目过期升级与端口冲突等细节均有说明,可帮助读者建立规范的实施路径,降低工程配置与数据丢失风险。已有559人学习,适合作为Desigo CC工程配置的入门索引和操作查阅资料。

1. 从一台刚装完的服务器说起:SMC 里点错一步就得重装项目

Desigo CC 的工程配置(Project Configuration)这一步,真正把人卡住的往往不是界面上的按钮,而是前面那几件没人提醒的事:SQL Server 装没装、装在哪台机器、服务账号有没有本地管理员权限、项目目录放哪个盘。我见过一台服务器,Desigo CC 装完三天都在「新建项目」,界面一路下一步看着挺顺,结果项目状态永远是红色的「已过期」,HDB 链接不上,客户端连过来直接超时——最后发现是 SQL Server 装在另一台机器上,1433 端口没放行。

这套环境在楼宇自控(BA)、消防、TBS 类项目里很常见,一套 SMC 管着历史数据库、项目模板、扩展模块和客户端连接,环环相扣。装得对,恢复一个模板项目二十分钟能跑起来;装得不对,后面每个环节都会以「已过期」「无法启动」「连接被拒绝」的形式找回来。这篇笔记按 Desigo CC 手册里第四章工程配置的顺序走一遍,从环境清点、建 HDB、实例化项目,一直到客户端连得上、数据能查、备份能还原。

2. 环境先列清:SQL Server、账号与安装路径的三件事

动手点 SMC 之前,把这三件事定下来,后面能省掉大半返工。

2.1 对齐三样东西:操作系统、SQL Server、安装账号

Desigo CC 的服务端和 SMC 可以同机,也可以分开,但不管怎么摆,历史数据库必须落在一个 SMC 能扫到、能连上的 SQL Server 实例上。这个实例可以在 Desigo CC 服务器本机,也可以在网络里另一台数据库服务器上——手册里专门写了「扫描本地」和「扫描网络」两个入口,说明两种部署都是被支持的。

SQL Server 的版本要和 Desigo CC 的安装介质对得上。这套手册对应的是 2013 年前后的产品线,当年配套部署的多是 SQL Server 2008 R2 / 2012 这一代,我现在接手老系统也基本按这个区间去核。版本跨太大,SMC 扫描阶段就可能列不出实例,或者列出来了链接失败,报的还是一句没头没尾的通用错误,很难查。

安装账号这件事最容易想当然。装 Desigo CC 和跑 SMC 的账号,我一般要求是本机管理员组成员,而且要固定一个账号装完就一直用它跑,别今天用域账号、明天用本地 Administrator。原因是 SMC 创建 HDB 的时候会往 SQL Server 写库、写文件路径,还会动项目目录的权限;换账号之后,原来的权限映射就断了。常见做法是:安装和首次配置都用同一个本地管理员账号,等服务起来、项目跑通,再按需要把日常运维切到域账号。

先把机器现状摸一遍,别凭记忆:

# 确认本机有哪些 SQL Server 实例在跑,HDB 只能落在这些实例上 Get-Service | Where-Object { $_.Name -like 'MSSQL*' } | Select-Object Name, DisplayName, Status, StartType # 看 TCP 1433 有没有在监听:默认实例走 1433,命名实例可能是动态端口 Get-NetTCPConnection -LocalPort 1433 -State Listen -ErrorAction SilentlyContinue | Select-Object LocalAddress, LocalPort, OwningProcess

第一段列出来的是实例服务名:MSSQLSERVER是默认实例,MSSQL$XXX是命名实例。如果只有命名实例,SMC 扫描网络时依赖 SQL Browser 服务(UDP 1434)来发现实例,这个服务没开,扫描就会空手而归——这是后面避坑章要展开的一条。第二段确认端口在听,输出为空不代表 SQL Server 没装,只代表 1433 上没有监听,命名实例或动态端口的情况很常见,需要去 SQL Server 配置管理器里看实际的 TCP 端口。

账号权限可以用一句命令快速确认,省得装到一半弹 UAC 反复:

# 当前会话是不是真的提权了,别被"管理员账户"骗了 whoami /groups | Select-String -Pattern 'S-1-5-32-544' # 管理员组 SID

能匹配到S-1-5-32-544才说明当前进程是真提权,只是账号在管理员组里、但 UAC 没提权,创建 HDB 写文件那一步照样会失败。

2.2 安装路径与磁盘规划:GMSProjects 别放系统盘

Desigo CC 的项目目录默认落在GMSProjects下面,模板目录是GMSProjects\GMSMainProject\ProjTemplates。这个路径别嫌长,恢复模板的时候要在 SMC 里一路点进去选,路径稳定比路径短重要。

规划上我一般按这三条来分盘:

分区放什么我的容量习惯
系统盘Desigo CC 程序文件、SMC按安装包要求留够,不额外扩
数据盘GMSProjects项目目录起步留 200 GB,项目多的现场往上加
数据库盘SQL Server 的 MDF / LDF和项目目录分开,避免日志写满拖垮项目

项目目录和数据库文件分盘,是血泪经验:HDB 里的数值日志涨得比想象快,趋势点一多,日志文件能吃掉几十个 G。两者放同一个盘,日志一涨,项目目录写不进去,SMC 里的表现是项目莫名变成「已过期」或者直接启动失败,排查方向会完全跑偏。

路径本身还有两个硬要求:不要带中文,不要带空格。Windows 层面都支持,但 SMC 调用的某些组件在拼路径时对空格处理不干净,恢复模板那一步会报文件找不到。我一般就用D:\GMSProjects这种最朴素的写法。

# 建目录前先看各盘余量,别等 HDB 日志长起来再搬家 Get-PSDrive -PSProvider FileSystem | Select-Object Name, @{n='FreeGB'; e={[math]::Round($_.Free/1GB,1)}}, @{n='UsedGB'; e={[math]::Round($_.Used/1GB,1)}}

这段只是读,不改任何东西,装之前跑一次心里有数。Free是剩余字节数,除 1GB 换成人类能看的单位;如果数据盘剩余不到 100 GB,我一般会先扩盘再开始装,而不是装完再迁——迁项目目录要停服务、改路径、重新挂 HDB,代价比一开始分好盘大得多。

2.3 启动 SMC 并确认控制台真的能用

SMC(系统管理控制台)的入口有两个:开始菜单里所有程序 > 厂商 > Desigo CC > 工具 > Desigo CC SMC,以及桌面上那个快捷方式。两个入口指向同一个可执行文件,但快捷方式的「以管理员身份运行」勾选状态可能不一样,这点值得当场确认一次。

第一次启动 SMC,先别急着建库建项目,看两件事:控制台能不能正常列出本机的项目列表(哪怕是空的),以及能不能进到创建 HDB 的向导页。如果一打开就报连接失败或者白屏,问题在 Desigo CC 服务本身,不在配置步骤上,这时候去查配置只会越查越乱。

SMC 干的活手册里列得很清楚:配置系统和服务管理员用户账户、创建和恢复项目及项目模板、升级项目、给项目添加扩展模块、创建或恢复项目专属的 SQL 历史数据库。这五件事里,只有第一件是「可选」的,其余四件是工程配置的必经路径。所以启动之后顺手把系统账户那一步做了——给服务账号和默认用户配好,后面恢复模板时用户和安全组是模板里带过来的,但服务本身跑在哪个账号下,得在这里定。

提示:SMC 建议固定用同一个账号启动,并且每次都以管理员身份运行。换账号启动后项目列表可能是空的,不是项目丢了,是当前账号看不到。

到这一步,环境该确认的都确认了,可以进 HDB。

3. 创建历史数据库 HDB:扫描、链接、加库的参数怎么填

HDB 是整套系统里最不该省的一步。它记录的东西比很多人以为的多:用户活动日志、警报及处理过程的事件日志、批处理消息(故障记录)、以及在线和离线的趋势数据(数值日志)。换句话说,项目跑起来之后「谁在什么时候改了什么」「哪条报警什么时候被确认」「这个温度点昨天下午三点的值是多少」,全靠这个库。库没建好或者建错位置,项目照样能启动,但历史数据是空的——这种问题往往几个月后才被发现,那时候已经没法补了。

3.1 扫描本地还是扫描网络:先把 SQL Server 的位置定死

SMC 建 HDB 的第一步是扫描 SQL Server,两个按钮:扫描本地、扫描网络。选哪个不取决于习惯,取决于 SQL Server 装在哪。

  • SQL Server 和 Desigo CC 同机:直接扫描本地,快且稳。
  • SQL Server 在网络里另一台机器:扫描网络,前提是那台机器的 SQL Browser 服务开着、防火墙放行了 UDP 1434 和 TCP 的实例端口。

扫描这一步失败率不低,而且失败时的提示信息很含糊。我一般的处理顺序是:先在本机用sqlcmd直连目标实例,能连上再去 SMC 里扫描;连不上就先把网络和认证问题解决掉,不要指望 SMC 帮你诊断。

# 在 Desigo CC 服务器上直连目标 SQL Server,验证网络和认证是否通 # -S 后面填 主机名\实例名;默认实例只写主机名 sqlcmd -S DBSRV01\GMS -E -Q "SELECT @@VERSION AS ver, SERVERPROPERTY('InstanceName') AS inst"

-E表示用当前 Windows 账号做集成认证,这也是 SMC 建 HDB 时最常用的认证方式;如果现场要求 SQL 账号认证,就把-E换成-U 用户名 -P 密码,但要注意密码会留在命令历史里。@@VERSION返回具体版本,SERVERPROPERTY('InstanceName')返回实例名,默认实例返回 NULL。这条命令能通,SMC 的扫描大概率也能通;这条不通,先去查防火墙和 SQL Server 的 TCP/IP 协议有没有启用。

3.2 链接与添加:HDB 创建界面的参数逐项填

扫描出来的 SQL Server 会以列表形式呈现,选中目标实例点「链接」,SMC 就和这个实例建立了关系。链接成功之后点「添加」,才开始真正建库。

这一步有个容易误解的地方:「链接」不等于「建库」。链接只是告诉 SMC「以后可以用这个实例」,此时数据库还没影子。点了「添加」才会在实例上创建 HDB,创建过程要跑几分钟,界面上会有进度。我见过有人在链接完就以为完事了,直接去恢复项目,结果项目里所有历史数据相关功能全空。

添加时要填的功能性信息,手册列了五项:数据库和日志大小、恢复方法、文件位置、路径位置、HDB 所有人和用户。这五项里前三项决定后续能不能安稳跑,后两项决定谁能连。

3.3 数据库和日志大小、恢复模式、文件与路径位置

这几项没有放之四海皆准的值,但有可以对标的经验区间:

参数我的取值习惯说明
数据库初始大小按点位数估,起步 2~5 GB太小会频繁自动增长,增长时项目会卡顿
日志初始大小数据库大小的 25%~50%日志不够会强制增长,写日志的操作被阻塞
自动增长固定 MB,比如 256 MB别用百分比,大库按百分比涨一次就是几个 G
恢复模式简单恢复HDB 是历史记录库,日常靠项目备份,不需要日志链
文件位置数据库盘,与项目目录分开见上一章的磁盘规划
路径位置和文件位置一致或独立子目录别落系统盘

恢复模式这条值得单独说。HDB 记录的是日志类数据,不是交易数据,事务日志对它没有保留价值;选完整恢复模式,日志会一直涨到你把日志备份做掉为止,现场最常见的「数据库盘一夜写满」多半是这个原因。选简单恢复,日志自动截断,维护成本最低。

-- HDB 建完后核对落地情况:库名换成 SMC 里实际填的名字 SELECT name, state_desc, recovery_model_desc, compatibility_level FROM sys.databases WHERE name = 'GMS_HDB_01'; GO -- 看数据文件和日志文件到底落在哪个盘、初始多大 SELECT DB_NAME(database_id) AS db_name, name, physical_name, size * 8 / 1024 AS size_mb FROM sys.master_files WHERE DB_NAME(database_id) = 'GMS_HDB_01'; GO

第一条查库的状态和恢复模式,state_desc应该是ONLINE,recovery_model_desc应该是SIMPLE——如果建库时手滑选了 FULL,这里能当场发现,改回来只要一条ALTER DATABASE ... SET RECOVERY SIMPLE。第二条查物理文件,size * 8 / 1024是把页数换算成 MB(每页 8 KB),重点看physical_name是不是落在了规划好的数据库盘上。落错了盘,趁着库还空,删了重建比后面迁移省事。

3.4 创建完成的确认与失败怎么读

创建成功会有明确的完成提示。看到提示之后别急着往下走,按上一节的两条 SQL 核一遍,再回 SMC 里确认这个 HDB 已经挂在当前项目名下。库建了但没挂到项目上,项目启动后照样没有历史数据。

创建失败的表现通常是卡在进度条然后报错,能读的信息很少。我一般的判断顺序是:磁盘空间够不够、SQL Server 服务账号对目标目录有没有写权限、目标路径是不是带了空格或中文。这三条占了失败原因的绝大多数。特别是文件位置填了一个不存在的目录时,SQL Server 不会帮你创建,直接失败。

4. 实例化项目:恢复模板、恢复备份、新建三条路怎么选

HDB 建好,接下来是项目本身。SMC 给了三条路:恢复项目模板、恢复项目备份、创建新项目。手册里写得很直白——恢复项目模板是推荐方法。这不是随口推荐,是有代价差异的。

4.1 三条路的取舍:为什么模板优先

创建新项目是从零开始,系统设置、应用程序设置、扩展模块、图形文件夹、事件架构、拓扑图、客户端和用户配置文件、报告、驱动程序、趋势定义、网络、逻辑视图物理视图、用户和安全组,全部要自己一项项配。一个中等规模的 BA 项目,这套东西配下来是以天计的,而且每一步都可能配错,错了还不好定位——因为没有任何参照物告诉你「本来应该是什么样」。

恢复项目模板是把一套预配置好的项目复制出来。模板里已经带了上面那一长串东西:已激活的扩展模块、已创建的图形文件夹、已应用的事件架构、已创建的拓扑图形、已选的客户端和用户配置文件、已导入并分类的报告、已创建并已启动的驱动程序、已创建的趋势定义、已创建的网络和已分配的驱动程序、已创建的逻辑/物理/用户视图、已创建的用户和安全组(含作用域和应用程序权限)。恢复出来就是一个能跑的骨架,工程投入和出错风险都低一个量级。手册里明确写了模板可用于 BA、消防和 TBS 项目。

恢复项目备份走的是另一条路:它恢复的是某个已经配置好的项目的完整副本,包括数据。适合的场景是迁移、克隆、或者把现场环境搬回测试机。它不适合当「新建项目」用——备份里带着原项目的所有历史和数据,你要的是干净起点,它给你一堆别人的东西。

三条路的适用判断我一般这么走:

  • 新项目、标准场景 → 恢复项目模板
  • 老项目迁移、环境重建、故障回滚 → 恢复项目备份
  • 特殊配置、模板里没有的扩展组合 → 创建新项目,然后手工补

4.2 恢复项目模板的完整操作

模板文件放在GMSProjects\GMSMainProject\ProjTemplates,SMC 里点「恢复项目模板」,然后从这个目录里选具体模板。

有个前提容易被忽略:Desigo CC 安装完成之后是没有默认项目的,必须通过恢复模板或者新建项目来做实例化。所以第一次打开 SMC,项目列表是空的,这是正常状态,不是装坏了。

操作顺序是:

  1. 启动 SMC(管理员身份)。
  2. 点「恢复项目模板」。
  3. 浏览到GMSProjects\GMSMainProject\ProjTemplates,选中对应专业的模板。
  4. 填项目名称、确认项目路径(或改成规划好的路径)。
  5. 把项目链接到第 3 章建好的 HDB。
  6. 保存。

第 5 步是链接,不是新建。如果前面 HDB 那章跳过了,这一步会卡住——SMC 找不到可选的 HDB,或者列出了但链接失败。所以顺序不能反:先库后项目。

模板恢复过程中会复制大量文件,时间取决于模板大小和磁盘 IO。这段时间别去动项目目录,也别在 SMC 里做其他操作。恢复完成后,模板里带的驱动程序、趋势定义这些是「已创建并已启动」的状态,但它们的实际通信要等项目启动之后才生效。

4.3 命名、路径、HDB 链接与端口号

配置项目时要定的四件事:项目名称、项目路径、HDB 链接、端口号。

项目名称一旦定了,后面改名要动的地方不少(项目目录、服务引用、客户端连接配置),所以命名规则现场最好统一。我一般用「专业缩写 + 楼栋 + 序号」这种能看出归属的写法,不用拼音缩写,更不用中文——中文项目名在部分组件里会出现编码问题。

项目路径默认就行,除非磁盘规划另有安排。要改就现在改,项目跑起来之后改路径等于搬家。

端口号这块手册说得很明确:只有一个项目实例时,保留默认端口号;SMC 里存在多个项目时,两个已启动的项目不能有相同端口号,如果某项目的端口号和活动项目的端口号相同,该项目就无法启动。这句话我建议贴在显示器上。多项目共存的现场,第二个项目起不来,十有八九是端口撞了,而报错信息不会告诉你「端口冲突」,只会说启动失败。

4.4 项目状态「已过期」与升级

恢复流程走完,去「项目和系统信息」标签页看状态。如果是绿色的,直接往下走;如果是红色的「已过期」,必须先升级项目。

「已过期」的含义是:这个项目的版本比当前安装的 Desigo CC 版本旧,需要升级到当前版本才能启动。模板是从旧版本带过来的、或者是用旧介质恢复的备份,都会出现这个状态。升级按钮就在 SMC 里,点了之后按提示走,过程中项目会停掉。

升级这一步不建议跳过或者绕过。强行启动一个「已过期」的项目,表现是启动到一半失败,或者启动起来了但部分功能缺失——后者更麻烦,因为你不确定哪些功能是坏的,只能靠试。升级本身不复杂,但它会改项目结构,所以升级前把项目目录复制一份,这个后悔药很便宜。

升级完状态变绿,下一步是启动项目并确认它处于活动状态。SMC 里有多个项目时,需要手动激活其中一个,激活后标题栏会显示当前活动项目的名称,项目状态显示「已启动」。标题栏这一眼很重要——多项目环境下你很容易在错误的项目上做配置。

4.5 项目文件夹共享与安全访问权限:让客户端连得上

项目能启动,不代表客户端连得上。客户端连接要走网络访问项目目录,所以共享和权限必须配。

这里有两层权限,缺一层都不行:SMB 共享权限和 NTFS 文件系统权限。共享权限给了、NTFS 没给,客户端能连上共享但读不了文件;NTFS 给了、共享没给,压根连不上。现场最常见的错法是只在「共享」对话框里加了用户,忘了 NTFS 那一层。

# 共享项目目录:给客户端组「更改」权限,只读是不够的,客户端要写临时文件 net share GMSProjects="D:\GMSProjects" /grant:"域\DesigoCC_Clients",CHANGE # NTFS 权限跟共享权限对齐:(OI)(CI) 表示继承到文件和子目录,M 是修改 icacls "D:\GMSProjects" /grant "域\DesigoCC_Clients:(OI)(CI)M" /T # 配完验证一下实际生效的权限,别只看对话框 icacls "D:\GMSProjects"

/grant:...,CHANGE里的CHANGE对应「更改」级别,等价于读加写加删除,客户端运行时会往项目目录写缓存和临时文件,只给 READ 会在运行一段时间后报错,而且报的错跟权限没关系,很难联想。icacls那条里的(OI)(CI)是继承标记,OI是对象继承(文件),CI是容器继承(目录),M是修改权限;/T表示递归应用到已有子目录和文件,模板恢复出来的目录层级很深,不递归的话新文件能访问、老文件访问不了。

配完一定要用客户端那台机器实测,不要在本机用管理员账号试——本机管理员永远能访问,测不出问题。用客户端实际登录的账号,去访问共享路径,能建个空文件再删掉,才算通了。

提示:共享名和项目名不是一回事。客户端配置里填的是共享路径 + 项目名,两个都对才能连上。

5. 避坑排查:五条踩过的记录

这一章按「现象 → 原因 → 解决」记,都是现场真实卡住过的点。

5.1 现象:SMC 扫描不到任何 SQL Server

现象:点「扫描本地」或「扫描网络」,列表是空的,等很久也没结果,但用 SQL Server 管理工具明明能连上。

原因:三种可能。一是 SQL Server 的 TCP/IP 协议没启用,只开了共享内存和命名管道,本机工具能连、SMC 扫描发现不了;二是命名实例的情况下 SQL Browser 服务没启动,UDP 1434 不通,扫描无法解析实例名;三是防火墙挡了实例端口。

解决:去 SQL Server 配置管理器把 TCP/IP 启用,重启实例服务;把 SQL Browser 设为自动启动;防火墙按实例的实际端口放行。改完先用sqlcmd -S 主机\实例 -E -Q "SELECT 1"验证,通了再回 SMC 扫描。如果现场不允许开 Browser 服务,就在 SMC 里直接填实例名,绕过扫描。

5.2 现象:项目状态红色「已过期」,启动失败

现象:模板恢复完成,状态栏红字「已过期」,点启动转两圈就失败。

原因:项目版本低于当前 Desigo CC 版本。用旧介质恢复的模板、或者从别的现场拿来的备份,都会这样。有人以为是恢复过程出错,反复重恢复,状态还是红的。

解决:在 SMC 里选中项目点升级,按向导走完。升级前把项目目录整个复制一份到别的路径,升级失败可以直接换回来。升级完成后状态变绿,再启动。注意升级会改项目结构,升级过的项目不要再拿旧版本 Desigo CC 去打开。

5.3 现象:多项目环境下第二个项目起不来,没有任何明确报错

现象:第一个项目正常跑着,第二个项目点启动,状态不变或者闪一下回到未启动。

原因:两个项目端口号相同。手册里写得很清楚,已启动项目之间不能共用端口号,冲突时项目无法启动。SMC 不会在列表上标出哪个端口被占,得自己去看项目配置。

解决:先把两个项目的端口配置都看一遍,把第二个项目改成没被占用的端口再启动。

# 换成一个你要给项目用的端口,先确认没人占 $port = 8090 Get-NetTCPConnection -LocalPort $port -ErrorAction SilentlyContinue | Select-Object LocalAddress, LocalPort, State, OwningProcess

有输出说明这个端口已经被占用,换一个;没输出才能用。OwningProcess是占用进程的 PID,真要知道是谁占的,用Get-Process -Id <PID>查。别凭感觉挑端口,常用的 80、443、8080、8000 这类在服务器上被别的组件占着的概率很高。

5.4 现象:客户端连不上项目,提示无权限或连接超时

现象:服务器上项目跑得好好的,客户端机器连过来一直转圈,最后报权限错误或者超时。

原因:按出现频率排——共享权限没给「更改」级别;NTFS 权限没同步给;客户端账号不在对应的安全组里;或者项目里配的用户和安全组没有对应的作用域和应用程序权限。前三条是系统层,第四条是 Desigo CC 层。模板里带的用户和安全组是预配置的,但客户端实际登录的账号要能被映射到这些组里。

解决:先用客户端账号在资源管理器里访问共享路径,能读写就说明系统层没问题,问题在项目内的权限配置;不能访问就先修共享和 NTFS 两层权限。项目内权限去 SMC 或项目里核对用户所属的安全组、作用域和应用程序权限,模板恢复的项目一般是配好的,需要把现场的实际账号加进对应的组。

5.5 现象:项目备份还原到新机器后,趋势数据全是空的

现象:项目恢复了,能启动,报警和操作都正常,但历史趋势查不到数据,时间范围一拉就是空白。

原因:只恢复了项目,没恢复 HDB。项目和 HDB 是两个独立对象,项目备份里不含历史数据库。手册里把「备份项目和历史数据库」并列写,就是在强调这件事:项目文件和历史数据要分开备份、一起恢复。

解决:在新机器上先按第 3 章的流程建 HDB,然后把旧库的备份还原到这个实例上,最后在 SMC 里把项目重新链接到还原出来的库。顺序是「先建库或还原库 → 再链接项目」,反过来做链接会失败。以后做备份,项目和 HDB 一起做,别只备份GMSProjects目录。

6. 装完怎么验证跑通:四步确认法

配置完最后一步不是「看起来正常」,而是能拿出证据证明它真的在跑。我一般按四步走,每一步都有明确的判据。

第一步,看 SMC 里的三个状态。项目状态必须是「已启动」,不能是「已过期」;「项目和系统信息」里的状态要是绿的;标题栏显示的是当前活动项目名。三个都对,说明项目层面没问题。

第二步,确认 HDB 真的在写。光在 SMC 里看到库挂上了不算,要看到数据在增长。用下面的查询看几个关键表的行数变化,隔十分钟再查一次,数字变大就说明在写:

-- 换成实际的 HDB 库名和日志表名,这里用 schema 通配查表规模 USE GMS_HDB_01; GO SELECT t.name AS table_name, SUM(p.rows) AS row_count FROM sys.tables t JOIN sys.partitions p ON p.object_id = t.object_id AND p.index_id IN (0,1) GROUP BY t.name ORDER BY row_count DESC; GO

sys.partitions里index_id为 0 或 1 分别代表堆和聚集索引,把这两个加起来才是表的实际行数,不去重会算成两倍。按行数倒序排,一般排在最前面的就是活动日志和事件日志表。查一次记下数字,十分钟后再查,有增长就说明记录链路是通的。

第三步,用一个趋势点验证端到端。在客户端打开一个已创建的趋势定义,拉最近一小时的数据,能看到曲线就说明「现场设备 → 驱动程序 → 项目 → HDB → 客户端展示」这条链路全通。这比看任何状态灯都可靠。之前遇到过项目状态全绿、日志也在写,但趋势查不出来的情况,原因就是 HDB 链在了另一个实例上,日志写进了本地库,趋势查询走的是网络库。

第四步,备份做一次、还原验证一次。备份不做还原验证等于没备份。备份项目和历史数据库,然后在测试环境把两者都还原,项目能启动、趋势能查到,才算备份可用。这一步最费时间,但也最值得。

验证项在哪看合格标准
项目状态SMC 项目列表 / 项目和系统信息已启动,非「已过期」
活动项目SMC 标题栏显示目标项目名
HDB 写入SQL 查表行数间隔查询行数增长
趋势数据客户端趋势视图能拉到最近一小时曲线
客户端连接客户端机器实际登录共享可读写,功能可操作
备份可用测试环境还原项目启动、趋势可查

这套流程里我最不敢省的是第四步。早年在一个小项目上做过一次「备份完就走」,三个月后需要回滚,发现备份文件是 0 字节——备份任务跑的时候磁盘满了,任务没报错。从那以后我每次做完工程配置,备份和还原验证都强制走一遍,不管现场多赶。恢复一套能跑的环境,比事后解释为什么恢复不了,省太多事了。希望这些步骤能帮你少走几段弯路。

本文还有配套的精品资源,点击获取

需要专业的网站建设服务?

联系我们获取免费的网站建设咨询和方案报价,让我们帮助您实现业务目标

立即咨询