//测试连接
呵呵,刚用Sqldmo组件编程实现对sql2000数据库的备份
       private void btnTestConn_Click(object sender, EventArgs e)
       {
           SQLDMO.SQLServer oSQLServer = new SQLDMO.SQLServerClass();
           try
           {
               _ServerName = this.txtServerName.Text.Trim();
               _UserName = this.txtUserName.Text.Trim();
               _Password = this.txtPwd.Text.Trim();
               oSQLServer.Connect(_ServerName, _UserName, _Password);
               MessageBox.Show("连接成功! ", "提示", MessageBoxButtons.OK, MessageBoxIcon.Information);
               IsConn = true;
               btnCreateDb.Enabled = true;
           }
           catch
           {
               btnCreateDb.Enabled = false;
               MessageBox.Show("连接失败,请检查网络配制!", "提示", MessageBoxButtons.OK, MessageBoxIcon.Information);           }
           finally
           {
               oSQLServer.DisConnect();
           }
       }

解决方案 »

  1.   

    //备份点击事件
            private void btnBack_Click(object sender, EventArgs e)
            {
                if (dgvDb.SelectedRows.Count <=0)
                {
                    MessageBox.Show("请选择要备份的数据库!", "提示", MessageBoxButtons.OK, MessageBoxIcon.Information);
                    return;
                }            folderBrowserDialog.Description = "请选择备份位置";
                if (folderBrowserDialog.ShowDialog() == DialogResult.OK)
                {
                  
                    string strDbName=dgvDb.SelectedRows[0].Cells["DbName"].Value.ToString();
                    string strFileName ="["+folderBrowserDialog.SelectedPath + "\\" + strDbName+".bak"+"]";
                   // MessageBox.Show(strFileName);
                    pBarBackUp.Visible = true;
                    pBarBackUp.Value = 1;
                    if (BackUPDB(strDbName, strFileName, pBarBackUp))
                    {
                        MessageBox.Show("数据库备份成功!", "提示", MessageBoxButtons.OK, MessageBoxIcon.Information);                }
                }        }
      

  2.   

    //备份 带进度条的
            public bool BackUPDB(string strDbName, string strFileName, ProgressBar pgbMain)
            {
                ProgressBar PBar = pgbMain;
                SQLDMO.SQLServer svr = new SQLDMO.SQLServerClass();
                try
                {
                    svr.Connect(_ServerName, _UserName, _Password);
                    SQLDMO.Backup bak = new SQLDMO.BackupClass();
                    bak.Action = 0;
                    bak.Initialize = true;
                    SQLDMO.BackupSink_PercentCompleteEventHandler pceh = new SQLDMO.BackupSink_PercentCompleteEventHandler(StepBackUp);
                    bak.PercentComplete += pceh;
                    bak.Files = strFileName.Trim();
                    bak.Database = strDbName;
                    bak.SQLBackup(svr);
                    return true;
                }
                catch (Exception err)
                {
                   MessageBox.Show("备份数据库失败" + err.Message);
                    //throw (new Exception(err.Message));
                    return false;
                }
                finally
                {
                    svr.DisConnect();
                    pBarBackUp.Visible = false;
                }
            }        //进度
            private void StepBackUp(string message, int percent)
            {
                pBarBackUp.Value = percent;
            }
      

  3.   

    你的窗体设置了哪些组件呢?
    processbar+button+openfiledialog?
    还有别的吗?