To enumerate all network-visible SQL servers using SQL-DMO objects, create a new standard EXE project and add a reference to sqldmo.rll. This file can be found in BinnResources1033sqldmo.rll under the SqlServer70 directory. Now add this code and declaration in your form’s code:
Private Function GetAllSqlServerCollection(colSqlServers As Collection) As Boolean Dim intIndex As Integer Dim oApplication As SQLDMO.Application Dim oNameList As SQLDMO.NameList Set oApplication = New Application With oApplication Set oNameList = .ListAvailableSQLServers With oNameList For intIndex = 1 To .Count colSqlServers.Add (oNameList.Item(intIndex)) Next End With End With Set oApplication = Nothing GetAllSqlServerCollection = TrueEnd Function
This code quickly fetches a list of SQL servers and can be put inside a combo box’s drop-down event to always get a refreshed list of SQL servers on your form.