我正在尝试弄清楚如何在新的Windows .NET/SQL Server应用程序中创建“沙箱”区域。以下是要求:
用户必须能够为日期范围和定价等内容输入自己的数据用户必须能够针对此定价和日期范围数据运行多个方案
上述数据结构也将用于常规生产数据库。因此,一方面我们将构建所有的结构化信息,另一方面每个用户(目前从10到30人)需要能够创建他们自己的测试场景。
我不确定的是,这是最好的方法。我想我可以给每个人提供SQL Express的本地副本,并确保本地副本反映生产数据的数据结构,但这似乎很混乱,不太理想。我也不想在生产服务器上创建许多数据库副本来为每个人提供自己的游乐场。
有什么明显的我遗漏了什么吗?要求用户能够输入他们自己的价格、日期范围等配置数据,这是我真正坚持的事情。他们需要根据自己的设置运行这些“假设”场景,但生产系统中不能有这种东西。
临时表可能会被淘汰,因为这些场景可能需要跨会话保存,就像它们前一天离开后第二天又回来之类的。
如有任何意见或建议,我们将不胜感激。
发布于 2010-07-30 00:41:02
将所有内容都放到客户端数据库中听起来像是一件坏事。您希望能够在主应用程序数据库中运行这些场景。
只需专注于能够创建一个场景,并暂时忽略多个用户。
您没有提到价格的用途,但假设您有一个PRODUCTS表。
让您的用户设置一个新的场景并为其命名,然后为其分配一个ID。
您可以在单独的schema (可选)- scenario.PRODUCTS表中创建表,并允许用户在其中插入有关产品的替代信息。然后,您可以根据场景ID和产品ID创建所有产品减去scenario.PRODUCTS表中的产品的联合,这将为用户提供自定义定价信息+所有当前定价。
您可以在这些方案上设置安全性,以授予特定用户组对它们的访问权限,或者让用户有选择地授予对它们的访问权限。
您还可以创建一个单独的数据库来执行此操作,如果系统繁忙,则每晚导入生产数据-您将把所有数据保留在场景模式中,以便您的用户数据能够持久保存。运行这类预测可能会导致性能问题。
这都是我的理论思考--希望它能帮助我让轮子转起来。
https://stackoverflow.com/questions/3364388
复制相似问题