当前位置: 首页 > 知识库问答 >
问题:

当数据库没有存储在Microsoft SQL Server中时,如何创建数据库备份?

富勇军
2023-03-14

我正在用SQL Server 2008 R2数据库构建一个C#应用程序,该数据库存储在我的项目的bin文件夹中。我使用Linq to Sql方法创建数据库并将其附加到我的项目。

try
{
    SaveFileDialog sd = new SaveFileDialog();
    sd.Filter = "SQL Server database backup files|*.bak";
    sd.Title = "Create Database Backup";

    if (sd.ShowDialog() == DialogResult.OK)
    {
        using (SqlConnection conn = new SqlConnection(connStr))
        {
            string sqlStmt=string.Format("BACKUP DATABASE <database_name> TO DISK='{0}'",sd.FileName);

            using (SqlCommand bu2 = new SqlCommand(sqlStmt, conn))
            {
                conn.Open();
                bu2.ExecuteNonQuery();
                conn.Close();

                MessageBox.Show("Backup Created Sucessfully");
            }
        }
    }
}
catch(Exception ex)
{
    MessageBox.Show(ex.ToString());
}
string connStr = ConfigurationManager.ConnectionStrings["project_name.Properties.Settings.project‌​_nameConnectionString"].ConnectionString; 

然后从我的app.config文件

<add name="project_name.Properties.Settings.project_nameConnectionString" connectionString="Data Source=.\SQLEXPRESS;AttachDbFilename=|DataDirectory|\database_name.mdf;Integrate‌​d Security=True;User Instance=True" providerName="System.Data.SqlClient" /> 

所以如果有谁能解决我的问题,那将是有帮助的。

共有1个答案

董喜
2023-03-14

经过很长时间的头脑Storm,我终于成功了,下面是解决方案:

try
{
    SaveFileDialog sd = new SaveFileDialog();
    sd.Filter = "SQL Server database backup files|*.bak";
    sd.Title = "Create Database Backup";

    if (sd.ShowDialog() == DialogResult.OK)
    {
        using (SqlConnection conn = new SqlConnection(ConfigurationManager.ConnectionStrings["project_name.Properties.Settings.project‌​_nameConnectionString"].ConnectionString))
        {
            string sqlStmt = string.Format("backup database [" + System.Windows.Forms.Application.StartupPath + "\\dbname.mdf] to disk='{0}'",sd.FileName);
            using (SqlCommand bu2 = new SqlCommand(sqlStmt, conn))
            {
                conn.Open();
                bu2.ExecuteNonQuery();
                conn.Close();

                MessageBox.Show("Backup Created Sucessfully");
            }                   
        }
    }
}
catch (Exception)
{
    MessageBox.Show("Backup Not Created");
}

这个问题的参考资料:如何从我创建的。mdf数据库进行备份

 类似资料:
  • 所以我试图将一些数据存储到我的实时数据库中。我目前有两个独立的视图控制器,一个用于用户注册,另一个用于用户选择其配置文件图像并能够更改该图像。在注册页面上,我将“用户名”保存到firebase,如下所示: 对于个人资料图像,我有这样保存的数据 我希望这两个数据都保存在“用户”下-

  • 当我尝试使用inmemory h2数据库和Jpa配置micronaut数据时,出现以下异常 我一直在关注文档 我使用maven作为构建工具从命令行创建了该项目。我有以下几点 我还添加了这样的注释处理器 我的实体类和存储库类完全如指南中所述。当我尝试使用存储库保存时,我得到了这个异常 我已经调查过了。这完全不同,对我的问题没有帮助。 有趣的是,如果我改变micronaut数据注释处理器的顺序,或者我

  • 在此容器中只存在默认DB。 如何创建数据库?

  • 问题内容: 我只是在想,是否可以使用Swift将时间存储在Firebase中?我之所以问是因为我要创建一个应用程序,当我创建一个特定的对象时,该对象将启动一个计时器,该计时器从创建之日起24小时开始递减计数。这24小时到期后,该对象将被删除。我还想显示一个倒数计时器,以显示该对象在删除之前还剩下多长时间。 我尝试将小时和分钟作为整数存储到数据库中,但这似乎效率不高,因为我不得不担心AM / PM,

  • 我创建了一个TextView,它以多行显示值 ,我希望将该值保留在SQLite数据库中。这是我使用的代码: 问题是当我保存值时,整个值被插入到一个单元格中。我希望每行的值分开,然后插入到每行的单个单元格中,尽管我使用扫描器方法插入数据,但它不起作用。那有什么办法吗?

  • 问题内容: 因此,在C ++ / C#中,您可以创建标志枚举来保存多个值,并且在数据库中存储单个有意义的整数当然是微不足道的。 在Java中,您有EnumSets,这似乎是在内存中传递枚举的一种很好的方法,但是如何将组合的EnumSet输出为整数进行存储?还有另一种方法可以解决这个问题吗? 问题答案: