当前位置:Gxlcms > 数据库问题 > SQLSERVER使用密码加密备份文件以防止未经授权还原数据库

SQLSERVER使用密码加密备份文件以防止未经授权还原数据库

时间:2021-07-01 10:21:17 帮助过:13人阅读

 

以下是MSDN关于backup语句中的MEDIAPASSWORD选项和PASSWORD选项的解释

 

1 PASSWORD = { password | @password_variable }
2 为备份集设置密码。 PASSWORD 是一个字符串。 如果为备份集定义了密码,则必须提供此密码才能对该备份集执行任何的 SQL Server 还原操作。 
3 但是,备份集密码不能防止覆盖备份文件。 若要防止覆盖备份文件,请改用媒体集密码
4 此密码提供的安全性较低。 它旨在防止授权用户或未授权用户使用 SQL Server 2005 工具进行不正确的还原,
5  但是不能防止通过其他方式或通过替换密码来读取备份数据。 保护备份的最佳做法是将备份磁带存储在安全的位置,
6 或者备份到由适当的访问控制列表 (ACL) 保护的磁盘文件。 ACL 应设置在创建备份的根目录下。

 

1 MEDIAPASSWORD = { mediapassword | @mediapassword_variable }
2 为媒体集设置密码。 MEDIAPASSWORD 是一个字符串。
3 如果为媒体集定义了密码,则在该媒体集上创建备份集之前必须提供此密码。 
4 另外,从该媒体集执行任何还原操作时也必须提供媒体密码。 只有通过重新格式化才能覆盖受密码保护的媒体
5 此密码提供的安全性较低。 它旨在防止授权用户或未授权用户使用 SQL Server 2005 工具进行不正确的还原, 
6 但是不能防止通过其他方式或通过替换密码来读取备份数据。 保护备份的最佳做法是将备份磁带存储在安全的位置,
7 或者备份到由适当的访问控制列表 (ACL) 保护的磁盘文件。 ACL 应设置在创建备份的根目录下。

BACKUP 使用由 PASSWORD 选项提供的备份集密码创建备份集。

另外,通常 BACKUP 在写入媒体之前将验证由 MEDIAPASSWORD 选项提供的媒体密码。BACKUP 不验证媒体密码的唯一情况是格式化媒体时,

这将覆盖媒体标头。 如果 BACKUP 写入媒体标头,BACKUP 将给 MEDIAPASSWORD 选项中指定的值分配媒体集密码。

-------------------------------------华丽的分割线------------------------------------------------------------

分三种情况进行实验
(1)backup语句中只有mediapassword

(2)backup语句中只有PASSWORD

(3)backup语句中有PASSWORD和mediapassword

 

 

 1 --情况一
 2 USE master
 3 GO
 4 
 5 Backup DATABASE [pratice]
 6 To disk=D:\pratice_fullbackup_201306110152.bak WITH mediapassword=123456 
 7 GO
 8 
 9 --还原
10 RESTORE DATABASE [pratice] FROM DISK=D:\pratice_fullbackup_201306110152.bak WITH MEDIAPASSWORD=123456,REPLACE
 1 --情况二
 2 USE master
 3 GO
 4 
 5 Backup DATABASE [hengshan]
 6 To disk=D:\hengshan_fullbackup_201306110152.bak WITH password=123456 
 7 GO
 8 
 9 --还原
10 RESTORE DATABASE [hengshan] FROM DISK=D:\hengshan_fullbackup_201306110152.bak WITH password=123456, REPLACE
 1 --情况三
 2 USE master
 3 GO
 4 
 5 Backup DATABASE GPOSDB
 6 To disk=D:\GPOSDB_fullbackup_2013061110152.bak WITH mediapassword=123456 ,PASSWORD=123456
 7 GO
 8 
 9 --还原
10 RESTORE DATABASE [GPOSDB] FROM DISK=J:\GPOSDB_fullbackup_2013076110152.bak WITH PASSWORD=123456,MEDIAPASSWORD=123456,REPLACE

 

在测试情况三的时候我移动了备份文件,并使用了U盘,但是都不会报错,只要有提供密码就可以了

因为对媒体集和备份集不是很熟悉,所以,我把备份文件备份在D盘,然后把备份文件移动到本地硬盘的F盘和U盘里,U盘的盘符是J

但是都不会报错,只要有提供密码就可以了

技术分享

技术分享

技术分享

-----------------------------------------------华丽的分割线---------------------------------------------------------

加密了之后使用SSMS不能查看到备份集信息

技术分享

如果不加密是可以看到的

技术分享

技术分享

-------------------------------------------------华丽的分割线------------------------------------------------------------------

最后查看哪些备份集加了密码,但是只有media_uuid,不知道备份集的名称,郁闷~

1 --查看哪些备份集加了密码
2 USE [msdb]
3 GO
4 SELECT * FROM [dbo].[backupmediaset]

技术分享

 

SQLSERVER使用密码加密备份文件以防止未经授权还原数据库

标签:word   用户   strong   哪些   ros   lib   功能   asp   rom   

人气教程排行