DotNet 获取所有 SQL Server 的数据库实例名称


项目中需要对某些数据做定是同步,由于做了分库处理,所以需要获取到数据库中的所有实例,以下就是获取所有数据库实例的方法:

        /// <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;
        }

  


免责声明!

本站转载的文章为个人学习借鉴使用,本站对版权不负任何法律责任。如果侵犯了您的隐私权益,请联系本站邮箱yoyou2525@163.com删除。



 
粤ICP备18138465号  © 2018-2025 CODEPRJ.COM