Hier, ein Auszug aus meinen EDB Komponenten:
PS: funktioniert auch unter Delphi Personal.
Code:
procedure GetMSSQLServerlist(var SL: TStrings);
var DMOApp, SrvLst: Variant;
i: Integer;
begin
SL.Clear;
DMOApp := CreateOleObject( 'SQLDMO.Application' );
SrvLst := DMOApp.ListAvailableSQLServers;
for i := 1 to SrvLst.Count do
SL.Add( SrvLst.Item(i) );
end;