mssqlServer 数据库备份和还原认识和总结(二)
本文将针对上文继续进行数据备份和还原讲解,主要讲解备份和还原的一些关键选项。
数据库备份选项
备份数据库时,有几个备份选项需要了解一下,覆盖介质、事务日志等。谈到覆盖介质时,必须先对这个概念有所了解,不然无从谈起。
● 介质集 (media set):备份介质(磁带或磁盘文件)的有序集合,使用固定类型和数量的备份设备向其写入了一个或多个备份操作。介质集所使用的备份设备的数量决定了介质集中的介质簇的数量。 例如,如果介质集使用两个非镜像备份设备,则该介质集包含两个介质簇。通常,创建介质集后,后续备份操作将依次向介质集追加其备份集。
● 介质簇 (media family):在介质集中的单个非镜像设备或一组镜像设备上创建的备份。
● 备份集 (backup set):成功的备份操作将向介质集中添加一个备份集。
大致了解以上概念后,回到备份选项上来:
◆ 备份到现有介质集-追加到现有备份集
如果要将数据库备份到磁盘上,那么选择磁盘后(可以选择一个或多个磁盘驱动器,也可选择磁带机设备,在此以磁盘驱动器为例),如果保持默认【备份到现有介质集-追加到现有备份集】SQL Server将自动创建一个介质集(备份介质(磁盘文件或磁带)的每个卷都包含介质标头,介质标头是在第一次使用磁带(或磁盘)执行备份操作时创建的,它将包含介质的名称、介质集的唯一标识号、介质簇的唯一标识号等等),然后再将备份集添加到介质集中。例如上篇文章中首次完整备份,SQL Server将自动创建一个介质集,并将备份集添加到介质集中,接着再备份事务日志文件,此事务日志文件备份集将被追加到现有备份集,最终备份文件我们看到的只是一个备份文件MyTest.bak,但还原时选择此文件后,要还原的备份集列表将显示先后备份的备份集,如完整备份集、第一次事务日志备份集、第二次事务日志备份集等。
◆ 备份到现有介质集-覆盖所有现有备份集
此选项将覆盖介质上的所有备份集并保留介质标头(如果有)。 如果没有介质标头,则创建一个标头。覆盖备份时,保留现有的所有介质标头,同时将新的备份创建为备份设备中的第一个备份。
存在下列任一条件时不覆盖备份介质:
● 介质上的现有备份尚未过期。 (如果指定 SKIP,则不检查过期。)
过期日期将指定备份过期的日期,并可以由另一个备份覆盖。 创建备份时可以指定过期日期。 默认情况下,过期日期由使用 sp_configure 设置的 media retention 选项确定。
● 介质名称(如果有)与备份介质上的名称不匹配。
● 介质名称是一个描述性名称,用于方便地识别介质。
综上所述,它们的最大区别是,一个是向现在备份集追加备份集,一个是将现有备份集覆盖,即以前保存在该备份集里的信息将无法重新读取。
图1:备份时选择【追加到现有备份集】,还原时要还原的备份集里显示的,每次追加的备份集。
图2:备份时选择【覆盖所有现有备份集】,还原时要还原的备份集里显示的是已覆盖的备份集,以前追加的备份集已被覆盖。
◆ 检查介质集名称和备份集过期时间
图3:备份时输入的备份集名称和备份集过期时间,一般备份集默认会带有名称,如有必要可以修改为有意义的名称,过期时间一般保持默认永不过程。
有了上图,【检查介质集名称和备份集过期时间】里就明白该如何输入了,这个我没实验过,没有太大必要一一实验了。
◆ 备份到新介质集并清除所有现有备份集
选择此项可以清除以前的备份集,并使用新的媒体集备份数据库。
若要创建新介质集,必须格式化备份介质(一个或多个磁带或磁盘文件)。 格式化进程会对备份介质进行以下更改:
● 删除旧标头(如果存在),从而有效地删除备份介质中以前的内容。
格式化磁带设备会删除当前装入的磁带中以前所有内容。 格式化磁盘只影响您为备份操作指定的文件。
● 向每个备份设备中的备份介质(磁带或磁盘文件)写入新的介质标头。
◆ 可靠性
● 完成后验证备份。将会验证备份集是否完整以及所有卷是否都可读。
● 写入媒体前检查校验和。将会在写入备份媒体前验证校验和,如果选中此项,可能会增大工作负荷,并降低备份操作的备份吞吐量。
● 出错时继续。如果备份数据库时发生了错误,备份工作还将继续进行。
◆ 事务日志(只有在备份时备份类型选择为【事务日志】,此项才会被激活)
● 截断事务日志。选择此项会备份事务日志并将其截断,以便释放更多的日志空间,此时数据库处于在线状态。
● 备份日志尾部,并使数据库处于还原状态。选择此项会备份日志尾部并使数据库处于还原状态,该项创建尾日志备份,用于备份尚未备份的日志。当故障转移到辅助数据库或为了防止在还原操作之前丢失所做工作,该选项很有作用。选择该项后,在数据库完全还原之前,数据库无法使用。
◆ 磁带机。选择用磁带机设备备份数据库时选择此选项。
备份相关选项,MSDN有一篇文档讲得相当细,在此推荐。看完此文档后将对备份存储方面有一个深入的认识。http://msdn.microsoft.com/zh-cn/vcsharp/ms178062.aspx
数据库还原选项
◆ 【覆盖现有数据库】复选框:选中此项会覆盖所有现有数据库以及相关文件,包括已存在的同名其他数据库或文件。
◆ 【保留复制设置】复选框:选中此项会将已发布的数据库还原到创建该数据库的服务器之外的服务器时,保留复制设置。不过该项只有在选择了【回滚未提交的事务,使数据库处于可以使用的状态】单选按钮之后才可以使用。
◆ 【限制访问还原的数据库】复选框:使还原的数据库仅供 db_owner、dbcreator 或 sysadmin 的成员使用。
恢复状态:
◆ RESTORE WITH RECOVERY,通过回滚未提交的事务,使数据库处于可以使用的状态。无法还原其他事务日志。此项则让数据库在还原后进入可正常使用的状态,并自动恢复尚未完成的事务,如果本次还原是还原的最后一步操作,可以选择该项。此项为默认选项。
◆ RESTORE WITH NORECOVERY,不对数据库执行任何操作,不回滚未提交的事务。可以还原其他事务日志。此项则在还原后数据库仍然无法正常使用,也不恢复未完成的事务操作,但可继续还原事务日志备份或差异备份,让数据库能恢复到最接近目前的状态。
◆ RESTORE WITH STANDBY,使数据库处于只读模式。撤消未提交的事务,但将撤消操作保存在备用文件中,以便可使恢复效果逆转。选择此项时,备用文件选择目录将被激活。此项则在还原后进行恢复未完成事务的操作,并使数据库处于只读状态,为了可继续还原事务日志备份,还必须指定一个还原文件来存放被恢复的事务内容。
到此为止,数据库备份还原选项基本介绍完毕,有遗漏介绍的选项通过名称能直接明白。至于数据库备份还原脚本MSDN文档有语法和示例,再说也可以通过UI设置好后导出标准脚本。
以上为我对SQL Server数据库备份和还原的认识和总结,如有遗漏掉的细节或讲解错误

Alat AI Hot

Undresser.AI Undress
Apl berkuasa AI untuk mencipta foto bogel yang realistik

AI Clothes Remover
Alat AI dalam talian untuk mengeluarkan pakaian daripada foto.

Undress AI Tool
Gambar buka pakaian secara percuma

Clothoff.io
Penyingkiran pakaian AI

AI Hentai Generator
Menjana ai hentai secara percuma.

Artikel Panas

Alat panas

Notepad++7.3.1
Editor kod yang mudah digunakan dan percuma

SublimeText3 versi Cina
Versi Cina, sangat mudah digunakan

Hantar Studio 13.0.1
Persekitaran pembangunan bersepadu PHP yang berkuasa

Dreamweaver CS6
Alat pembangunan web visual

SublimeText3 versi Mac
Perisian penyuntingan kod peringkat Tuhan (SublimeText3)

Topik panas



Sandaran dan pemulihan data ThinkPHP6: memastikan keselamatan data Dengan perkembangan pesat Internet, data telah menjadi aset yang sangat penting. Oleh itu, keselamatan data amat membimbangkan. Dalam pembangunan aplikasi web, sandaran dan pemulihan data adalah bahagian penting dalam memastikan keselamatan data. Dalam artikel ini, kami akan memperkenalkan cara menggunakan rangka kerja ThinkPHP6 untuk sandaran dan pemulihan data bagi memastikan keselamatan data. 1. Sandaran data Sandaran data merujuk kepada menyalin atau menyimpan data dalam pangkalan data dalam beberapa cara. Dengan cara ini walaupun data

Sandaran data dan pemulihan aplikasi PHP melalui DockerCompose, Nginx dan MariaDB Dengan perkembangan pesat teknologi pengkomputeran awan dan kontena, semakin banyak aplikasi memilih untuk menggunakan Docker untuk digunakan dan dijalankan. Dalam ekosistem Docker, DockerCompose ialah alat yang sangat popular yang boleh menentukan dan mengurus berbilang bekas melalui satu fail konfigurasi. Artikel ini akan memperkenalkan cara menggunakan DockerCompose, Ng

Sandaran adalah tugas yang sangat penting semasa operasi laman web. Sekiranya terdapat kehilangan atau kehilangan data pada laman web, sandaran boleh memudahkan pemulihan laman web. PHP ialah bahasa pengaturcaraan sisi pelayan yang biasa digunakan Fungsi sandaran laman web boleh dilaksanakan dengan menulis skrip PHP. Artikel ini akan memperkenalkan cara menggunakan PHP untuk melaksanakan fungsi sandaran tapak web. 1. Jenis fail sandaran Apabila membuat sandaran tapak web, anda perlu membuat sandaran pangkalan data dan fail tapak web. Biasanya fail tapak web termasuk fail statik, fail program, gambar dan lampiran yang dimuat naik, dsb., manakala pangkalan data mengandungi semua maklumat tapak web.

Dalam proses pembangunan web, penyimpanan data dan sandaran sudah pasti merupakan bahagian yang sangat penting. Dalam kes kehilangan data atau keperluan pemulihan, sandaran sangat diperlukan. Untuk PHP, bahasa back-end sumber terbuka, terdapat juga banyak pilihan untuk sandaran data Mari kita lihat dengan lebih dekat pada sandaran data dalam PHP. 1. Sandaran pangkalan data 1.1 Alat MYSQLdump MYSQLdump ialah alat baris arahan untuk membuat sandaran pangkalan data MYSQL Ia menyalin keseluruhan pangkalan data atau pangkalan data dengan melaksanakan pernyataan SQL.

Apabila jumlah data terus meningkat, sandaran pangkalan data menjadi semakin sukar. Sandaran bukan sahaja memerlukan integriti dan konsistensi data, tetapi juga memerlukan kelajuan sandaran dan saiz fail sandaran untuk memenuhi keperluan sebenar. Teknologi sandaran pemampatan data muncul mengikut keperluan masa dan telah menjadi salah satu cara teknikal yang sangat diperlukan untuk sandaran pangkalan data. MySQL kini merupakan salah satu pangkalan data hubungan yang paling popular Alat sandaran rasmi mysqldump tidak dapat memenuhi keperluan sandaran termampat. Oleh itu, artikel ini akan memperkenalkan penggunaan arahan mampatan pada sistem Linux ta

Menggunakan PHP dan SQLite untuk melaksanakan strategi sandaran dan pemulihan data Sandaran dan pemulihan ialah aspek yang sangat penting dalam pengurusan pangkalan data, yang boleh melindungi data kami daripada kerosakan atau kehilangan yang tidak disengajakan. Artikel ini akan memperkenalkan cara menggunakan PHP dan SQLite untuk melaksanakan strategi sandaran dan pemulihan data, membantu kami mengurus dan melindungi data dalam pangkalan data dengan lebih baik. Pertama, kita perlu mencipta pangkalan data menggunakan SQLite dan mewujudkan beberapa data ujian untuk operasi seterusnya. Berikut ialah contoh mudah: <?php

Bagaimana untuk menangani masalah konsistensi sandaran data dalam pembangunan data besar C++ Dalam pembangunan data besar C++, sandaran data adalah bahagian yang sangat penting. Untuk memastikan konsistensi sandaran data, kami perlu mengambil beberapa langkah untuk menyelesaikan masalah ini. Artikel ini akan membincangkan cara menangani isu konsistensi sandaran data dalam pembangunan data besar C++ dan menyediakan contoh kod yang sepadan. Menggunakan urus niaga untuk sandaran data Urus niaga adalah mekanisme untuk memastikan ketekalan operasi data. Dalam C++, kita boleh menggunakan konsep transaksi dalam pangkalan data untuk melaksanakan sandaran data.

Cara menggunakan Laravel untuk melaksanakan fungsi sandaran dan pemulihan data Dengan perkembangan Internet, fungsi sandaran dan pemulihan data telah menjadi keperluan penting. Dalam aplikasi web, sandaran data dan fungsi pemulihan boleh memastikan keselamatan dan kebolehpercayaan data, dan juga menyediakan cara kecemasan untuk menangani kecemasan. Sebagai rangka kerja PHP yang popular, Laravel mempunyai keupayaan pemprosesan data dan operasi pangkalan data yang berkuasa, jadi ia boleh melaksanakan fungsi sandaran dan pemulihan data dengan mudah. Artikel ini akan memperkenalkan cara menggunakan Laravel untuk melaksanakan sandaran data
