1

我正在winform用 C# 构建一个基于桌面的应用程序。我在我的应用程序中使用 SQL Server 数据库。

该应用程序有一个存档选项,我基本上将所有配置文件和数据文件 (*.mdf) 复制到 Winzip 存档中。

但是,我无法复制数据库文件 *.mdf。它抛出一个异常:

“该进程无法访问文件 UserData.mdf,因为它正被另一个进程使用”

我相信我正在关闭所有 SQL 连接,并通过 GC.Collect().

但是,这似乎不起作用。

作为一种解决方法,如果我能够从任务管理器中终止进程 sqlservr.exe,则文件副本可以正常工作。

我想,应该有一种更好、更优雅的方式来做这件事。任何想法如何进行?

谢谢基兰

4

1 回答 1

5

我不完全确定你想用这个做什么,但听起来备份脚本会更有益

http://msdn.microsoft.com/en-us/library/ms187510.aspx

BACKUP DATABASE [AdventureWorks2012]
TO DISK = 'd:\AdventureWorks2012.Bak'
于 2013-01-11T13:08:29.647 回答