SqlServer数据库备份文件.bak如何压缩?

Posted

tags:

篇首语:本文由小常识网(cha138.com)小编为大家整理,主要介绍了SqlServer数据库备份文件.bak如何压缩?相关的知识,希望对你有一定的参考价值。

Sql Server备份文件有 7G 之大。。有没有什么办法将其压缩一下,谢谢!

直接压缩不太现实啊,文件太大需要的时间太长了。
如果里面的数据资料不重要,只是数据结构重要的话,可以再导出一个只含数据结构的数据库副本。
或者 如果日志文件不重要的话,可以只导出数据库本身,不导出日志。
最后,7G文件也不算大,我这里就是用一个160G的移动硬盘备份的,不过一定要把硬盘格式化成NTFS格式。
参考技术A 不会 参考技术B 用winrar就可以

如何在 C# 中恢复 SQL Server 2012 数据库 .bak 文件?

【中文标题】如何在 C# 中恢复 SQL Server 2012 数据库 .bak 文件?【英文标题】:How to restore a SQL Server 2012 database .bak file in C#? 【发布时间】:2015-04-19 00:58:59 【问题描述】:

我在 Windows 窗体中开发了一个 MIS,我在其中备份了我的 SQL Server 2012 数据库,但我无法恢复备份 (.bak) 文件。

这是我的代码:

private void buttonRestore_Click(object sender, EventArgs e)

    try
    
        openFileDialog1.Filter = "Backup File |*.bak";

        if (openFileDialog1.ShowDialog() == DialogResult.OK)
        
            string sql = "Alter Database BOQ SET SINGLE_USER WITH ROLLBACK IMMEDIATE;";
            sql += "Restore Database BOQ FROM DISK ='" + openFileDialog1.FileName + "' WITH REPLACE;";

            SqlConnection con = new SqlConnection("Data Source=.; Initial Catalog=BOQ;Integrated Security=True");
            SqlCommand command = new SqlCommand(sql,con);

            con.Open();
            command.ExecuteNonQuery();

            MessageBox.Show("Database Recovered Successfully!");
            con.Close();
            con.Dispose();
        
    
    catch (Exception ex) 
     
         MessageBox.Show(ex.Message); 
    

但我收到此错误:

【问题讨论】:

【参考方案1】:

不能连接到您的数据库BOQ,然后在其上恢复.bak

"Data Source=.; Initial Catalog=BOQ;Integrated Security=True"
                                ****

您需要连接到master 数据库,然后然后您可以恢复您的BOQ 数据库:

"Data Source=.; Initial Catalog=master;Integrated Security=True"
                                *******

【讨论】:

我知道这是一篇旧帖子,但我不知道如何先连接到主数据库,然后再连接到要恢复的数据库?一些澄清会很棒。谢谢 @PeterJ:只需使用我在回答中显示的 second 连接字符串连接到master,当您完成数据库恢复后,关闭该连接并使用 first 连接字符串连接到您要使用的实际数据库(以及您刚刚恢复的数据库) 哦,好吧,这很有道理。谢谢一百万,marc_s!

以上是关于SqlServer数据库备份文件.bak如何压缩?的主要内容,如果未能解决你的问题,请参考以下文章

SQL server 2008还原文件时遇到的问题?

有没有办法将现有mssql备份文件bak格式,导入到mysql数据库中

从备份文件bak中识别SQL Server的版本

如何在 Docker 上的 SQL Server 中从数据库备份中查看 .bak 文件

所用数据库是sql server 2008R2 bak文件有100M左右,在做“还原数据库”操作时,进度条一直不动。

sql server 2008怎么还原备份数据库