【发布时间】:2025-12-22 13:15:06
【问题描述】:
我有一个很宽泛的问题想要得到一些建议。
我是一个 3 人 Scrum 团队的开发人员,正在开发同一个应用程序(c# Web 表单应用程序)。多年来,开发人员一直在他们的机器上运行一个本地 IIS 站点并将他们的应用程序指向一个共享数据库。与本地 SQL 实例相比,使用共享数据库对我们的业务有很多好处,并且可以最大限度地减少每个开发人员在设置和维护方面的开销。
这个过程多年来一直有效(主要是因为每个人都在办公室),但现在我们中有一半人在家或远程工作。通过 VPN 的 SQL 性能非常糟糕,并且在处理通过 VPN 的 SQL 调用时最终会降低我们本地站点的速度。由于速度很慢,这确实降低了我的工作效率,我正在寻找选择。
我想到了以下解决方案:
- 在本地运行 SQL
- 设置复制
- 尝试将 SQL 实例指向 mdl 文件的 UNC 路径(如果可能的话)
- 调整 VPN 设置以加快 MS-SQL 调用
- 我怀疑是否有办法加快通过 VPN 的流量,但我愿意接受任何想法。
- 当我在家工作时,RDP 进入我的工作机器。我真的很讨厌这样做。
以下是我们设置的技术规格:
- MS-SQL 2008 R2
- C# Web 表单
- N 层架构
以前有没有其他开发团队遇到过这个问题,如果有的话,哪里有一些解决方案?
谢谢
【问题讨论】:
-
当我在家工作时,我将 RDP 连接到工作中的机器。这有一些好处(我想也有一些缺点),但它对我有用。只是好奇……你为什么讨厌这个选项?
-
嗯,大多数时候连接良好,我看不到打字延迟。但是,每天可能有 2-3 次(无论出于何种原因)连接会变慢并变得不稳定和滞后 - 让我发疯。如果连接一直很好,我认为 VDI 或 RDP 解决方案可能没问题。
-
是的,连接速度慢可能是最大的缺点。在这方面我很幸运。所以如果你追求选项 1 并在本地运行 SQL,你会遇到什么问题? SQL 是否已在本地安装?您是否需要定期从办公室“同步”数据?数据库有多大?
-
运行选项 1 会引入一些不同的问题。第一件事是我(和其他开发人员)安装 MS-SQL 的开销要大得多。但是,我考虑将整个虚拟硬盘安装在我的机器上并在本地运行。接下来我要做的就是以某种方式从办公室 SQL 复制到我的本地机器。这可能很困难——我从来没有做过。我使用的数据库小于 100MB - 不是那么大。
-
作为 dba,安装 MSSQL Dev Edition(或 Express)对我来说并不是什么大问题。但是,如果服务器级设置有任何差异,您可以开发在本地工作的代码,但不能“在办公室”运行(反之亦然)。我同意 100MB 不是那么大。复制是必须的吗?您可以每天或每周通过备份/恢复同步数据吗?
标签: sql-server-2008 replication shared scrum