Imports System.Data
' Refer to these DLLs:
' microsoft.sqlserver.connectioninfo
' Microsoft.SqlServer.Management.Sdk.Sfc
' Microsoft.SqlServer.smo
' Microsoft.SqlServer.sqlenum
Imports Microsoft.SqlServer.Management.Smo
Imports Microsoft.SqlServer.Management.Sdk.Sfc
Imports Microsoft.SqlServer.Management.Common
Module Module1
Sub Main()
GetServers()
Console.ReadLine()
End Sub
Private Function GetServers() As List(Of String)
Dim servers As New List(Of String)
Dim dt As DataTable = SmoApplication.EnumAvailableSqlServers(False)
If dt.Rows.Count > 0 Then
For Each dr As DataRow In dt.Rows
Dim servername As String = dr("Name")
If Not servers.Contains(servername) Then ' Only once per server
servers.Add(servername)
Console.WriteLine(servername)
Dim server As New Server(servername)
Try
' Enumerate databases
For Each db In server.Databases
If Not db.issystemobject Then
Console.WriteLine(" " & db.name)
' Enumerate user tables
For Each t As Table In db.tables
If Not t.IsSystemObject Then
Console.WriteLine(" " & t.Name)
End If
Next
End If
Next
Catch ex As Exception
Console.WriteLine(" " & ex.Message)
Console.WriteLine(" Maybe the SQL Server Browser Service isn't started on " & servername & "?")
End Try
End If
Next
End If
Return servers
End Function
End Module
Aug 132012
