【问题标题】:SSDT SQL Server Data Tools Customer specific requirementsSSDT SQL Server Data Tools 客户特定要求
【发布时间】:2018-10-16 15:50:06
【问题描述】:

我们正在使用 SQL Server Data Tools (SSDT) 来管理我们的客户数据库。

理论上所有数据库都是相同的,但实际上我们有一些存储过程(和一个触发器)会从一个客户更改为另一个客户。

我们为所有常见的事物创建了一个主 SSDT,然后为每个客户创建了一个 SSDT,其中仅包含特定的存储过程(无表)。

在特定的 SSDT 中,我们会收到警告,因为 SSDT 找不到存储过程中引用的表,但我们可以忍受(显然 SSDT 将无法验证表的字段,因为它找不到桌子)。对于触发器,我们得到一个错误(找不到表),因此数据库项目没有编译。

我们应该如何管理它?我想我们不应该在这种情况下孤军奋战。

数据库项目有没有办法从另一个数据库项目中引用对象(表)?

谢谢,

伊夫忘了

【问题讨论】:

    标签: sql-server sql-server-data-tools


    【解决方案1】:

    Daniel N 给出了正确的方向,我只是解释一下。假设您有一个名为DatabaseA 的数据库项目,它将包含与每个客户100% 匹配的唯一对象。然后创建另一个数据库项目DatabaseB 并将DatabaseA 包含为“相同的实例,相同的数据库”。在数据库DatabaseB 中,您可以添加客户特定的对象。然后您可以以类似的方式为其他客户创建其他数据库。

    【讨论】:

      【解决方案2】:

      在 SSDT 中,您可以添加另一个数据库项目或 dacpac 作为参考。 在引用项目的属性中,您将能够设置引用数据库所在的位置、同一服务器同一数据库、同一服务器差异数据库等

      https://msdn.microsoft.com/en-us/library/jj684584%28v=vs.103%29.aspx?f=255&MSPPError=-2147217396

      【讨论】:

        猜你喜欢
        • 2018-06-01
        • 1970-01-01
        • 1970-01-01
        • 1970-01-01
        • 1970-01-01
        • 1970-01-01
        • 1970-01-01
        • 1970-01-01
        • 2017-02-21
        相关资源
        最近更新 更多