用SQLDMO啊
SQLDMO.ApplicationClass a=new SQLDMO.ApplicationClass();
SQLDMO.NameList nameList = a.ListAvailableSQLServers();
int count = nameList.Count;
for ( int i = 0; i < count; i ++ )
{
if ( nameList.Item( i ) != null )
System.Console.WriteLine( nameList.Item( i ) );
}

解决方案 »

  1.   

    http://www.ccw.com.cn/htm/center/prog/02_7_23_2.asp  
    注意需要安装SQL  SP2
      

  2.   

    接口 SQLDMO.NameList 的 QueryInterface 失败!!
      

  3.   

    foreach(DirectoryEntry domain in root.Children)
    {
    lb_pcName.Items.Add("★★★"+domain.Name+"★★★");
    foreach(DirectoryEntry pc in domain.Children)
    {
    if(pc.Name!="Schema")//Schema是结束标记
    lb_pcName.Items.Add(" "+pc.Name);
    }
    }
      

  4.   

    接口 SQLDMO.NameList 的 QueryInterface 失败!!
    ----------------------------
    用sqldmo遍历局域网上可用的数据库服务器时出现错误
    http://community.csdn.net/Expert/FAQ/FAQ_Index.asp?id=77045
      

  5.   

    真是奇怪,同样的代码,在我同事的机器上就可以,而我的就不行。。我们之间的唯一区别就是他的是Windows2000;我的是Windows2003;难道问题出在操作系统?!