c#怎么通过ip获取在该机上的实例名如msexpress

c#如何通过ip获取在该机上的实例名如msexpress
请问sql查询语句怎么写

select * from ?????

------解决方案--------------------
http://www.webshu.net/jiaocheng/programme/ASPNET/200606/1424.html
------解决方案--------------------
你用默认的实例名连接,用SQL语句可以查询到该实例名下所有用户,表,视图,序列,存储过程,等等等等
但是当前实例是无法访问其他实例的,你用SQL语句不能跨库查询啊
------解决方案--------------------
/// <summary>
    /// 获取指定IP地址的数据库所有数据库实例名。
    /// </summary>
    /// <param name="ip">指定的 IP 地址。</param>
    /// <param name="username">登录数据库的用户名。</param>
    /// <param name="password">登陆数据库的密码。</param>
    /// <returns>返回包含数据实例名的列表。</returns>
    private ArrayList GetAllDataBase(string ip, string username, string password)
    {
        ArrayList DBNameList = new ArrayList();
        SqlConnection Connection = new SqlConnection(
            String.Format("Data Source={0};Initial Catalog = master;User ID = {1};PWD = {2}", ip, username, password));
        DataTable DBNameTable = new DataTable();
        SqlDataAdapter Adapter = new SqlDataAdapter("select name from master..sysdatabases", Connection);
 
        lock (Adapter)
        {
            Adapter.Fill(DBNameTable);
        }
 
        foreach (DataRow row in DBNameTable.Rows)
        {
            DBNameList.Add(row["name"]);
        }
 
        return DBNameList;
    }