代码之家  ›  专栏  ›  技术社区  ›  Anil Namde

查询SQL Server时需要帮助吗

  •  2
  • Anil Namde  · 技术社区  · 15 年前

    我计划使用SQLServer2005/08数据库监控应用程序。它将监视使用SQL server 2000数据库的旧服务器。Tools的任务是从服务器中提取数据,并进行一些统计,然后将数据插入Tools自己的数据库中以进行报告。

    我使用.NET(C#)作为开发环境。

    我真正想做的是实现存储过程,它将从其他服务器拾取监控数据,并将其插入到监控工具数据库表中。

    现在我想知道是否可以这样编写存储过程?或者我必须使用一个连接从程序中的服务器中提取数据,然后使用另一个连接将其插入工具数据库?

    请让我知道,如果你能预见任何复杂的情况,我应该知道。

    此外,一些信息性/有用的指针(链接、书籍)也会有所帮助。

    感谢大家的宝贵意见。

    2 回复  |  直到 8 年前
        1
  •  4
  •   AdaTheDev    15 年前

    您可以使用存储过程(当然假设两台服务器都可以看到对方)通过 Linked Servers

    设置后,您可以通过完全限定对象名称跨服务器进行查询:

    SELECT * FROM [AnotherDbServer].[DatabaseName].[Schema].[TableName]
    
        2
  •  2
  •   K Richard    15 年前

    AdaTheDev的答案是正确的,但这里有一些额外的提示。

    如果调出特定列,请确保为表名指定别名。否则,您将因为基本上有太多的资格而得到一个错误(4是最大值)。此外,如果链接到实例服务器,请确保在服务器名称中使用方括号[]。例如:

    SELECT FiscalCalendar.Week, FiscalCalendar.Year
    FROM [LinkedServer\Instance].MyDatabase.dbo.FiscalCalendar FiscalCalendar