【问题标题】:using linked server or separate connection strings?使用链接服务器或单独的连接字符串?
【发布时间】:2011-04-30 08:00:23
【问题描述】:

我有三个城市的 10 个数据库,但它们都位于一个具有不同实例的数据库服务器和 1 个主数据库中。 每个城市都有以下数据库:

1-DB1
2-DB2
3-DB3

插入到主数据库的每条记录都有一个城市字段。根据插入记录的城市字段,相同的记录必须在主数据库的插入记录中插入指定城市的三个数据库中。 在我的 C# 代码中使用链接服务器或使用单独的连接字符串更好吗? 如您所知,我的连接字符串应该针对每个数据库进行更改。

【问题讨论】:

    标签: asp.net sql-server sql-server-2008 linked-server


    【解决方案1】:

    理想情况下,我不会让应用程序负责保持数据库同步 - 太多事情可能会出错 - 应用程序可能会崩溃,网络可能会中断......

    使用数据库触发器可能会更好,这样您的应用程序只需更新一个数据库,触发器会完成其余的工作。这是一篇 MSDN 文章,解释了如何做到这一点:Create Trigger

    【讨论】:

    • 我应该在触发器中使用链接服务器吗?
    【解决方案2】:

    如果它们在同一个数据库中,则不需要链接服务器或单独的连接字符串。您可以只使用 3 部分名称,例如:

    select * from db2.dbo.Table1
    

    您选择哪一个取决于您的数据库是否会被拆分到不同的服务器上。如果您确定它们将保留在同一台服务器上,那么由 3 部分组成的名称是最简单的。

    【讨论】:

    • 如果我有不同的实例呢?我应该使用链接服务器吗?
    • @Raymond Morphy:是的,如果他们在不同的实例上,你需要一个链接服务器
    猜你喜欢
    • 1970-01-01
    • 1970-01-01
    • 2013-07-09
    • 2022-11-19
    • 2010-09-06
    • 1970-01-01
    • 1970-01-01
    • 2023-03-09
    • 2012-03-04
    相关资源
    最近更新 更多