2010-02-25 4 views
2

Я планирую отслеживать приложение, которое будет использовать базу данных SQL Server 2005/08. Он будет контролировать старый сервер (ы), которые используют базу данных SQL Server 2000. Задача инструментов - выбрать данные с серверов, сделать некоторые статистические данные и вставить данные обратно в собственную базу данных инструментов для целей отчетности.Нужна помощь с запросом SQL Server

Я использую .NET (C#) в качестве среды разработки.

Что бы я хотел сделать, это реализовать хранимые процедуры, которые будут отображать данные мониторинга с других серверов и вставлять их в таблицу баз данных инструментов мониторинга.

Теперь я хотел бы узнать, можно ли написать хранимую процедуру, как это? Или мне придется выбирать данные с серверов в программе, используя одно соединение, а затем вставлять их в базу данных инструментов, используя другое соединение?

Пожалуйста, дайте мне знать, если в случае, если вы можете предвидеть любые осложнения, о которых я должен знать.

Также будут полезны некоторые полезные/полезные указатели (ссылки, книги).

Спасибо всем за ценные материалы.

ответ

4

Вы можете сделать это, используя хранимые процедуры (при условии, что оба сервера могут видеть друг друга, конечно), используя Linked Servers.

После установки, вы можете запросить на серверах, полностью квалифицируя имя объекта: ответ

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

AdaTheDev является правильным, но вот некоторые дополнительные указатели.

Убедитесь, что вы указали имя таблицы как псевдоним, если вы вызываете определенные столбцы. В противном случае вы получите сообщение об ошибке, в основном имеющем слишком много квалификаций (4 - это максимум). Кроме того, если вы связаны с инстанционным сервером, убедитесь, что вы используете скобки [] в имени сервера. Например:

Смежные вопросы