c# – 如何使用TSQL语法将.bak恢复到新数据库?

我知道*中有很多类似的问题,但是没有完全满足我的要求吗?

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文件的写访问权.

上一篇:mysql – 获取恢复的db文件以在重建的服务器上工作


下一篇:mysql – ERROR 1100(HY000)第11084行:表’search_index’未使用LOCK TABLES锁定