wincc服务器与NAS
很多工厂里是“更稳妥、更可运维、也更安全”的做法。
我下面按“只把 172.16.1.245(\DataServer\D\workspace)当作备份服务器”来设计一套架构 + 逻辑 的实现步骤。
✅ 一、核心问题
👉 1)这样更安全?
这种模式本质上是:
生产数据 = 仍在本机 172.16.1.244(WinCC 服务器)
NAS 172.16.1.245 = 只做“备份 + 长期归档 + 冷存储”
相比“把数据库文件直接放在 NAS 上”,这种方式的优势是:
✅ 安全性更高
-
即使 NAS 故障、网络中断、共享掉线:
- 👉 WinCC 依然正常运行
- 👉 实时数据、报警、历史记录不受影响
-
不会出现:
- SQL 访问慢
- 数据库锁死
- WinCC 归档异常
- Runtime 卡顿
👉 这是典型的“生产与存储分离”架构,工业场景里更推荐。
👉 2)这样实现起来更方便?
几乎不需要改 WinCC 现有配置,主要工作就是:
- ① 在 NAS 上建文件夹
- ② 映射网络盘
- ③ 写一个自动备份策略(SQL + 归档文件)
👉 不需要:
- 分离/附加数据库
- 改 Archive 存储路径
- 改 SQL 数据文件位置
- 重新配置 WinCC
风险最低、改动最小、最稳妥。
✅ 二、推荐架构
🔹 最终架构图(文字版)
| 设备 | 角色 | 数据职责 |
|---|---|---|
| 172.16.1.244(WinCC 服务器) | 管理服务器 + SQL Server | 实时生产数据库 + 归档数据 |
| 172.16.1.245(NAS \DataServer\D\workspace) | 备份服务器 | 只存:数据库备份 + 归档备份 + 项目备份 |
📂 NAS 目录结构建议:
\\DataServer\D\workspace\
│
├── WinCC_Backup\
│ ├── SQL_Backup\ ← SQL 数据库备份
│ ├── Archives_Backup\ ← WinCC 归档文件备份
│ └── Project_Backup\ ← WinCC 项目文件备份
✅ 三、落地实现步骤
🟢 步骤1:在 NAS 上建备份目录(172.16.1.245)
在 数据服务器 172.16.1.245 上创建:
D:\workspace\WinCC_Backup\
D:\workspace\WinCC_Backup\SQL_Backup
D:\workspace\WinCC_Backup\Archives_Backup
D:\workspace\WinCC_Backup\Project_Backup
然后共享:
- 共享名:
WinCC_Backup - 可访问路径:
\\DataServer\WinCC_Backup
🟢 步骤2:在 WinCC 服务器映射网络盘
在 172.16.1.244 上:
-
打开“此电脑”
-
映射网络驱动器:
- 盘符:Z:
- 文件夹:
\\DataServer\WinCC_Backup
- 勾选:登录时重新连接
你现在应该能看到:
Z:\SQL_Backup
Z:\Archives_Backup
Z:\Project_Backup
✅ 四、关键:配置自动备份策略
🔹 方案A(推荐):SQL Server 自动备份到 NAS
👉 在 SQL Server Management Studio(SSMS)里设置
-
打开 SSMS,连接:
- 服务器:
.\WinCC - 身份验证:Windows
- 服务器:
-
找到你的 WinCC 数据库:
CC_你的项目名
- 右键 → 任务 → 备份
- 在“目标”里:
- 删除默认路径
- 添加新路径:
Z:\SQL_Backup\WinCC_FullBackup.bak
- 点击“脚本”生成 SQL 语句,然后你可以:
- 复制出来
- 放到 Windows 任务计划里每天夜间自动执行
📌 推荐备份策略:
- 每天 02:00 全备份一次
- 文件名示例:
WinCC_FullBackup_2026-01-16.bak
🔹 方案B:自动复制 WinCC 归档文件到 NAS
WinCC 的归档文件默认在本机,比如:
C:\Program Files\Siemens\WinCC\Archives\
你可以用两种方式备份到 NAS:
✅ 方法1(简单):Windows 任务计划 + xcopy
创建一个批处理文件:
xcopy "C:\Program Files\Siemens\WinCC\Archives\*" "Z:\Archives_Backup\" /E /Y
设置任务计划:
- 每天凌晨 03:00 运行一次
这样:
- 生产归档在本机
- NAS 里有完整备份
🔹 方案C:备份 WinCC 项目文件
WinCC 项目一般在:
C:\Users\Public\Documents\Siemens\WinCC_Projects\
同样写批处理:
xcopy "C:\Users\Public\Documents\Siemens\WinCC_Projects\*" "Z:\Project_Backup\" /E /Y
定时执行即可。
✅ 五、这种方案的“灾难恢复”逻辑(很重要)
假设发生以下情况,你怎么恢复:
🚨 场景1:WinCC 服务器硬盘坏了(172.16.1.244)
你有 NAS 备份,所以可以:
- 重装 WinCC 7.3
- 从:
Z:\Project_Backup
恢复项目
- 从:
Z:\SQL_Backup
恢复数据库(.bak 文件)
👉 30–60 分钟内即可恢复系统
🚨 场景2:NAS 故障(172.16.1.245)
👉 完全不影响 WinCC 运行
- 生产数据依然在本机
- 只是暂时没有备份
✅ 六、和“把数据库放 NAS”方案的对比
| 对比项 | 你的“NAS只做备份” | 之前“NAS存数据库” |
|---|---|---|
| WinCC 可靠性 | ⭐⭐⭐⭐⭐ | ⭐⭐⭐⭐ |
| 网络依赖 | 低 | 高 |
| 实施难度 | 简单 | 较复杂 |
| 数据访问速度 | 快 | 可能变慢 |
| 风险 | 低 | 中 |
| 运维难度 | 低 | 中 |
👉 结论:你现在这个思路 = 更适合工厂现场。
✅ 七、我的最终建议
👉 如果我是你,我会这样做:
✅ 172.16.1.244 = 继续做 WinCC + SQL 生产服务器
✅ 172.16.1.245 = 纯备份服务器(NAS)
✅ 用自动备份把 SQL、归档、项目文件同步到 \DataServer\D\workspace
==============================================================
==============================================================
在命令行中输入gpedit.msc
依次打开“计算机配置”“管理模板”“Windows 组件”“远程桌面服务”“远程桌面会话主机”“连接”
选择“将远程桌面服务用户限制到单独的远程桌面服务会话”,双击该条目进入设置页面,或点击左上角的“编辑设置”也可进入设置页面。启用该配置,然后点击确认。最后重启一下服务器即可。如果不想重启服务器,也可使用超级管理员Administrator用户在任务管理器中将其他已断开的重复的相同用户名依次注销即可。下次登录就不会再创建一个相同的新用户了。而未注销的已重复用户在下次登录时会让其选择一个用户登录,并不会再多创建相同的账户。
按给定的参数适用于Windows Server 2019 的“每小时自动备份”方案,包含:
- ✅ 目录结构
- ✅ SQL Server 2008 R2 备份脚本
- ✅ WinCC 归档备份脚本
- ✅ WinCC 项目备份脚本
- ✅ Windows Server 2019 任务计划
✅ 一、先统一你的环境
1️⃣ NAS(172.16.1.245)上的备份目录
在 \DataServer(172.16.1.245) 上创建:
D:\workspace\WinCC_Backup\ D:\workspace\WinCC_Backup\SQL_Backup D:\workspace\WinCC_Backup\Archives_Backup D:\workspace\WinCC_Backup\Project_Backup
并共享:
- 共享名:WinCC_Backup
- 可访问路径:
\\DataServer\WinCC_Backup
2️⃣ WinCC 服务器(172.16.1.244)映射网络盘
在 172.16.1.244(WinCC 服务器) 上:
- 打开“此电脑”
- 点击 计算机 → 映射网络驱动器
- 盘符:Z:
- 文件夹:
\\DataServer\WinCC_Backup
- 勾选:登录时重新连接
完成后,你应能看到:
Z:\SQL_Backup Z:\Archives_Backup Z:\Project_Backup
✅ 二、SQL Server 2008 R2 每小时自动备份
🔹 ① 创建 SQL 备份脚本
在 172.16.1.244 上:
- 打开记事本
- 复制粘贴下面代码:
DECLARE @backupPath NVARCHAR(200)
DECLARE @filename NVARCHAR(200)
SET @backupPath = '\\DataServer\WinCC_Backup\SQL_Backup\'
-- 备份主数据库
SET @filename = @backupPath + 'CC_server_' +
CONVERT(VARCHAR(8), GETDATE(), 112) + '_' +
REPLACE(CONVERT(VARCHAR(5), GETDATE(), 108), ':', '') + '.bak'
BACKUP DATABASE [CC_server_26_01_14_04_21_32]
TO DISK = @filename
WITH INIT, COMPRESSION
-- 备份只读/副本数据库
SET @filename = @backupPath + 'CC_serverR_' +
CONVERT(VARCHAR(8), GETDATE(), 112) + '_' +
REPLACE(CONVERT(VARCHAR(5), GETDATE(), 108), ':', '') + '.bak'
BACKUP DATABASE [CC_server_26_01_14_04_21_32R]
TO DISK = @filename
WITH INIT, COMPRESSION
- 另存为:
C:\WinCC_Backup\wincc_sql_backup.sql
(如果 C 盘没有 WinCC_Backup 文件夹,你先新建:C:\WinCC_Backup)
🔹 ② 测试 SQL 备份脚本(先手动跑一次)
-
打开 SQL Server Management Studio (SSMS)
-
连接服务器:
- 服务器名:
.\WINCC(或.\SQLEXPRESS,看你安装情况) - 身份验证:Windows 身份验证
- 服务器名:
-
点击 新建查询
-
打开刚才的脚本:
C:\WinCC_Backup\wincc_sql_backup.sql
点执行后
Z:\SQL_Backup\
看到类似文件:
server_20260116_0900.bak
如果这一步成功,说明SQL 备份脚本完全可用。
✅ 三、创建 SQL 备份的 Windows 任务计划(每小时)
👉 步骤(Windows Server 2019)
1️⃣ 打开任务计划程序
- 按 Win + R
- 输入:
taskschd.msc
- 回车
2️⃣ 创建任务
点击:
任务计划程序库 → 右键 → 创建基本任务
名称:
WinCC_SQL_Hourly_Backup
点击 下一步
3️⃣ 触发器设置
选择:
- 每天
点击 下一步
开始日期:今天
开始时间:比如 00:00
然后勾选:
- 每 1 小时重复一次任务
- 持续时间:无限期
点击 下一步
4️⃣ 操作
选择:
- 启动程序
程序/脚本填:
sqlcmd
在“添加参数”里填:
-S .\WINCC -i "C:\WinCC_Backup\wincc_sql_backup.sql"
👉 如果你的 SQL 实例名不是 WINCC,请改成你实际的实例名。
点击 下一步 → 完成
5️⃣设置以最高权限运行
回到任务列表:
- 找到 WinCC_SQL_Hourly_Backup
- 右键 → 属性
- 勾选:
- ✅ 以最高权限运行
- 点击 确定
✅ 四、WinCC 归档文件每小时备份到 NAS
🔹 ① 创建归档备份批处理
在 172.16.1.244 上,新建文件:
<code>C:\WinCC_Backup\backup_archives.bat
内容:
xcopy "C:\Program Files\Siemens\WinCC\Archives\*" "Z:\Archives_Backup\" /E /Y
说明:
/E= 复制所有子文件夹/Y= 自动覆盖,不询问
🔹 ② 为归档备份创建任务计划
同样在任务计划程序里:
名称:
<code>WinCC_Archives_Hourly_Backup
触发器:
- 每天
- 每 1 小时重复一次
操作:
- 程序/脚本:
C:\WinCC_Backup\backup_archives.bat
勾选:
- ✅ 以最高权限运行
✅ 五、WinCC 项目文件每小时备份
WinCC 项目一般在:
C:\Users\Public\Documents\Siemens\WinCC_Projects\
🔹 ① 创建项目备份脚本
新建文件:
<code>C:\WinCC_Backup\backup_project.bat
内容:
xcopy "C:\Users\Public\Documents\Siemens\WinCC_Projects\server\*" "Z:\Project_Backup\server\" /E /Y
如果你的项目文件夹名字不是
server,请改成你的实际名称。
🔹 ② 创建任务计划
任务名称:
<code>WinCC_Project_Hourly_Backup
触发器:
- 每天
- 每 1 小时重复
操作:
- 程序/脚本:
C:\WinCC_Backup\backup_project.bat
勾选:
- ✅ 以最高权限运行
✅ 六、最终效果
每小时,你会自动得到:
在 NAS(172.16.1.245):
Z:\SQL_Backup\
server_20260116_0100.bak
server_20260116_0200.bak
server_20260116_0300.bak
Z:\Archives_Backup\
(完整的 WinCC 历史归档副本)
Z:\Project_Backup\
server\
(完整项目文件副本)
✅ 七、灾难恢复示例
🚨 场景:WinCC 服务器 172.16.1.244 硬盘损坏
你可以这样恢复:
- 重装 Windows Server 2019 + WinCC 7.3
- 从:
Z:\Project_Backup\server\
拷回项目文件到:
C:\Users\Public\Documents\Siemens\WinCC_Projects\
-
打开 SSMS:
- 还原数据库:
Z:\SQL_Backup\server_最新时间.bak
👉 系统基本可在 30–60 分钟内恢复。
