sqldmo.dll是随sql server2000一起发布的。sqldmo.dll自身是一个com对象 
                
sqldmo(sql distributed management objects,sql分布式管理对象)封装 microsoft sql server 2000 
                数据库中的对象。sql-dmo 允许用支持
                自动化或 com 的语言编写
                应用程序,以管理 sql server 安装的所有部分。sql-dmo 是 sql server 2000 中的 sql server 企业管理器所使用的
                应用程序接口 (api);因此使用 sql-dmo 的
                应用程序可以执行 sql server 企业管理器执行的所有功能。
                
------
                
sqlserver的大致关系:
                
application-->sqlserver-->database
                
------
                
实例sqldmo,主要用到的是其中的以下几个类:
                
sqldmo.application(使用 sqldmo.applicationclass创建)、
                
sqldmo.sqlserver(使用sqldmo.sqlserverclass创建,主要用到它的connect来连接
                数据库服务器)、
                
sqldmo.namelist(可以通过它和application获取服务器集合,其它的请看其api)
                
sqldmo.database(可以通过它和sqlserver.databases获取
                数据库集合)
                
                
示例一:获取局域网内sql服务器列表
                
主要用到application的listavaiablesqlservers来获取namelist,
                
                  sqldmo.application sqlapp 
                 =
                  
                 new
                  sqldmo.applicationclass();
        sqldmo.namelist names 
                 =
                  sqlapp.listavailablesqlservers();
        serverlist.items.clear();
        
                 for
                 (
                 int
                  i
                 =
                 1
                 ;i
                 <
                 names.count;i
                 ++
                 )
        
                 
                 {
            if(names.item(i)!=null)
                serverlist.items.add(names.item(i));
        }
                 
        
                 if
                 (serverlist.items.count
                 >
                 0
                 )
        
                 
                 {
            serverlist.selectedindex = 1;
        }
                 
        
                 else
                 
        
                 
                 {
            serverlist.text = "没有可用的sql服务器";
        }
                       
                
                
示例二:获取某个服务器下的
                数据库列表:
                
主要用到sqlserver以及其属性databases
                
                 
        sqldmo.sqlserver database
                 =
                  
                 new
                  sqlserverclass();
        
                 try
                 
        
                 
                 {
            database.connect(serverlist.selecteditem.text, "sa", "");
            databaselist.items.clear();
            foreach (sqldmo.database db in database.databases)
            {
                databaselist.items.add(db.name);
            }
        }
                 
        
                 catch
                  (system.exception ee)
        
                 
                 {
            databaselist.items.clear();
            databaselist.items.add("无法连接所选服务器");
        }
                
                
然后获取
                数据库的属性等就是手到拿来了。。。
原文:https://www.cnblogs.com/bedfly/p/12208505.html