zoukankan      html  css  js  c++  java
  • 在代码中恢复sql server 数据库

     1 SQLDMO.SQLServer svr = new SQLDMO.SQLServerClass();
     2            try
     3            {
     4                svr.Connect(Encrypt.UNDES("localhost","sa","password");
     5                SQLDMO.QueryResults qr = svr.EnumProcesses(-1);
     6                int iColPIDNum = -1;
     7                int iColDbName = -1;
     8                for (int i = 1; i <= qr.Columns; i++)
     9                {
    10                    string strName = qr.get_ColumnName(i);
    11                    if (strName.ToUpper().Trim() == "SPID")
    12                    {
    13                        iColPIDNum = i;
    14                    }

    15                    else if (strName.ToUpper().Trim() == "DBNAME")
    16                    {
    17                        iColDbName = i;
    18                    }

    19                    if (iColPIDNum != -1 && iColDbName != -1)
    20                        break;
    21                }

    22
    23                for (int i = 1; i <= qr.Rows; i++)
    24                {
    25                    int lPID = qr.GetColumnLong(i, iColPIDNum);
    26                    string strDBName = qr.GetColumnString(i, iColDbName);
    27                    if (strDBName.ToUpper() == DBName.ToUpper())
    28                        svr.KillProcess(lPID);
    29                }

    30
    31                SQLDMO.Restore res = new SQLDMO.RestoreClass();
    32                res.Action = 0;
    33                res.Files = ServiceFolder;
    34                res.Database = DBName;
    35                res.ReplaceDatabase = true;
    36                res.SQLRestore(svr);
    37            }

    38            catch
    39            {
    40                throw;
    41            }

    42            finally
    43            {
    44                svr.DisConnect();
    45            }
     
    46
  • 相关阅读:
    linux系统空间不足,不重启进程,清理僵尸文件。
    python练习-使用163邮箱发送邮件
    python练习-(秒转时分秒,时分秒转秒)-对比linux中文件的上次更改时间跟当前时间相差多久。
    CentOS7 docker开启tcp端口并进行客户端远程连接
    zabbix 定义触发器,并使用邮件,微信消息报警。
    zabbix自定义监控,自定义图表。
    如何在linux中发送邮件,使用163邮箱发信。
    ansible-playbook的YAML语法学习
    将已有项目导入Gitlab
    ubuntu python PyCharm virtualenv
  • 原文地址:https://www.cnblogs.com/elzero/p/869325.html
Copyright © 2011-2022 走看看