Warning: file_get_contents(/data/phpspider/zhask/data//catemap/1/asp.net/35.json): failed to open stream: No such file or directory in /data/phpspider/zhask/libs/function.php on line 167

Warning: Invalid argument supplied for foreach() in /data/phpspider/zhask/libs/tag.function.php on line 1116

Notice: Undefined index: in /data/phpspider/zhask/libs/function.php on line 180

Warning: array_chunk() expects parameter 1 to be array, null given in /data/phpspider/zhask/libs/function.php on line 181
C# 如何使用asp.net和C恢复SQL Server备份?_C#_Asp.net_Sql Server - Fatal编程技术网

C# 如何使用asp.net和C恢复SQL Server备份?

C# 如何使用asp.net和C恢复SQL Server备份?,c#,asp.net,sql-server,C#,Asp.net,Sql Server,如何使用C恢复SQL Server备份 try { string test = "D:\\backupdb\\05012017_130700.Bak"; sqlcmd = new SqlCommand("Restore database EmpolyeeTable from disk='D:\\backupdb\\05012017_130700.Bak'", con); sqlcmd.ExecuteNonQuery(); Response.Write("re

如何使用C恢复SQL Server备份

try
{
    string test = "D:\\backupdb\\05012017_130700.Bak";

    sqlcmd = new SqlCommand("Restore database EmpolyeeTable from disk='D:\\backupdb\\05012017_130700.Bak'", con);

    sqlcmd.ExecuteNonQuery();

    Response.Write("restore database successfully");
}
catch (Exception ex)
{
    Response.Write("Error During backup database!");
}

你的要求很奇怪。我从未听说过有人从网页恢复数据库备份,正如@Alex K.所说的,使用您的web应用程序的用户拥有所需的previleges是非常罕见的

无论如何,假设上面提到的一切都正常,恢复备份的代码如下:

使用以下命令:

using System.Data;
using System.Data.SqlClient;
代码:

这将特别适用于您发布的问题。请确保在连接字符串上设置数据库服务器的所有参数,从对问题的评论中可以看出您存在通信问题。你必须在做任何事情之前解决这些问题。一些提示:

确保以正确的方式设置连接字符串上的所有参数 尝试使用其他工具(如ODBC)进行连接,以便可以测试所有参数 查看SQL网络设置以查看是否启用了TCP/IP
具有在sql?Response.Writeex.ToString上执行命令的用户权限;我会告诉你发生了什么。更多的信息会有用的。你会犯什么样的错误?你试过什么?此外,代码块不完整。在第一行之前会发生什么?捕获异常ex{Response.WriteError During backup database!;}为什么我会看到这么多这样愚蠢的代码?您可以抑制真正的错误,并将其替换为无用的任意字符串。这样做有什么可能的目的?检查异常告诉您的内容并正确报告。@Alex K有一个很好的观点……从哪里获取文件名?哪里有不正确的语法?。用正确的数据库名和备份文件替换查询。我必须返回文件位置。我已经给出了。再次显示错误是编译错误吗?。这是个例外吗?。Post DETAILES.protected void按钮2\u Clickobject sender,事件参数e{con.ConnectionString=数据源=SYSTEM-6-PC;初始目录=Master;集成安全性=True;重试{con.Open;SqlCommand command=con.CreateCommand;command.CommandText=从磁盘还原数据库EmpolyeeTable='D:\backupdb.BAK'和REPLACE GO;command.ExecuteNonQuery;}捕获异常{throw;}finally{con.Dispose;con.Close;}
        private void TakeBackup()
        {
            var conn = new SqlConnection("Data Source=" + Server + ";Initial Catalog=" + Database + ";User Id=" + Username + ";Password=" + Password + ";");
            try
            {
                conn.Open();
                SqlCommand command = conn.CreateCommand();
                command.CommandText = "RESTORE DATABASE AdventureWorks FROM DISK = 'C:\AdventureWorks.BAK' WITH REPLACE GO";
                command.ExecuteNonQuery();
            }
            catch (Exception)
            {
                throw;
            }
            finally
            {
                conn.Dispose();
                conn.Close();
            }
        }