我知道*中有很多类似的问题,但是没有完全满足我的要求吗?
1 – I DO NOT WANT TO ATTACH A DATABASE that contains 2 .mdf .ldf files
2 – The file is only a single .bak file
3 – i don`t want to use Microsoft SQL Management.
4 – i need it to be done programmatically ?( in my case c#)
解决方法:
您可以通过发送T-SQL命令来恢复数据库(与发送选择查询的命令相同).例如:
restore database NameOfYourDb
from disk = 'c:\backups\NameOfYourDb.bak'
with recovery,
move 'NameOfYourDb_Data' to 'c:\data\NameOfYourDb.mdf',
move 'NameOfYourDb_Log' to 'c:\data\NameOfYourDb.log'
两个是可以存储在.bak文件中的最小文件数.每个数据库至少有一个数据和一个日志文件(扩展名分别为.mdf和.log.)
请注意,还原由SQL Server服务完成.您必须从该服务的角度提供路径.帐户SQL Server正在运行,需要对.bak文件的读访问权以及对.mdf和.log文件的写访问权.