Tải bản đầy đủ (.pdf) (2 trang)

Tài liệu Listing SQL Servers doc

Bạn đang xem bản rút gọn của tài liệu. Xem và tải ngay bản đầy đủ của tài liệu tại đây (12 KB, 2 trang )

[ Team LiB ]


Recipe 10.1 Listing SQL Servers
Problem
You need to obtain a list of SQL Servers available on the network.
Solution
Use SQL Server Distributed Management Objects (SQL-DMO) to retrieve a list of
available SQL Servers.
You'll need a reference to the Microsoft SQLDMO Object Library from the COM tab in
Visual Studio .NET's Add Reference Dialog.
The sample code retrieves and displays a list of all SQL Servers running on a local
network segment by using SQL-DMO through COM interop.
The C# code is shown in Example 10-1
.
Example 10-1. File: ServerListForm.cs
// Namespaces, variables, and constants
using System;

// . . .

serverListListBox.Items.Clear( );

// Create a SQL Distributed Management Objects (SQL-DMO)
// application object.
SQLDMO.Application dmo = new SQLDMO.Application( );
// Retrieve the available servers.
SQLDMO.NameList serverNameList = dmo.ListAvailableSQLServers( );

// Iterate over the collection of available servers.
for(int i = 0; i < serverNameList.Count; i++)


{
if (serverNameList.Item(i) != null)
serverListListBox.Items.Add(serverNameList.Item(i));
}
serverListListBox.Items.Add("End of list.");
Discussion
SQL Server Distributed Management Objects (SQL-DMO) is a collection of objects that
encapsulate SQL Server database and replication management. SQL-DMO is used to
automate SQL Server tasks, create and administer SQL Server objects, and install and
configure replication. You can use SQL-DMO from a .NET application through COM
interop. For more information about SQL-DMO, see Microsoft SQL Server Books
Online.
The ListAvailableSQLServers( ) method of the SQL-DMO Application object returns a
NameList object that enumerates all running servers that listen on named pipes and are
located in the same domain. Any servers running on Windows 9x will not be reported
because they do not listen on named pipes. The discovery is based on a network
broadcast, so if you are disconnected from a network, local servers will not be
enumerated.
This procedure does not return desktop (MSDE) instances.
[ Team LiB ]


Tài liệu bạn tìm kiếm đã sẵn sàng tải về

Tải bản đầy đủ ngay
×