需要查询SQL Server的帮助

时间:2010-02-25 15:58:29

标签: c# .net sql-server database

我计划监控将使用SQL Server 2005/08数据库的应用程序。它将监视使用SQL Server 2000数据库的旧服务器。工具任务是从服务器中挑选数据做一些统计,然后将数据插回工具自己的数据库中进行报告。

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

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

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

如果您能预见到我应该注意的任何并发症,请告诉我。

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

感谢大家的宝贵意见。

2 个答案:

答案 0 :(得分:4)

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

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

SELECT * FROM [AnotherDbServer].[DatabaseName].[Schema].[TableName]

答案 1 :(得分:2)

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

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

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