我有一个锁定mdb的数据库,这样我就想备份了。但是我正在使用的工具(我有源)在备份之前打开文件并发现它已被锁定。
有没有办法可以将它打开以用于只读目的?
作为参考,该工具使用C#和.NET 2.0(但可以更新为3.5)。
答案 0 :(得分:5)
您的工具锁定文件的原因是为了防止在备份文件时更改文件。例如,如果您开始备份,但在DBMS(即SQL Server)中途决定对文件进行更改,那么您的备份将会损坏。
我建议您使用数据库解决方案提供的工具来执行备份。另一种选择是在备份之前停止数据库。
答案 1 :(得分:3)
如果DBMS对文件进行了写锁定,并且您正在读取它,那么当您正在阅读时,您将冒着DBMS写入文件的风险。根据写入的部分,您最终可能会损坏文件的备份。只有在DBMS没有写入文件或让DBMS处理自己的备份时,才最好不要读取文件。
答案 2 :(得分:2)
这与此问题类似:
Opening a file's Shadow Copy if the current copy is in use
这取决于数据库打开MDB文件的方式。如果它不允许读取共享,那么除非你能够打开卷影副本,否则你运气不好。这里有关于如何做到这一点的讨论:
How do I copy a file or folder that is locked under windows programmatically?