逻辑文件名我现在是用如下形式写死的。有没办法用SQL-DMO获取到Data和Log的逻辑文件名。
objRestore.RelocateFiles = "[test_Data],[test_Data.MDF],[test_Log],[test_Log.LDF]";
objRestore.RelocateFiles = "[test_Data],[test_Data.MDF],[test_Log],[test_Log.LDF]";
解决方案 »
- SQLserver2000备份时出错
- 难道在用sum()等等函数时不用用字段???不会吧,晕了,哪位朋友给说说到底是怎么回事? [100]
- sqlserver中有没有办法将表名当作变量,例如@tablename select* from @tablename
- SQL 2000 恢复?
- 邹建的书是什么名字呀?不知名字怎么买呀!
- 不同库和表的插入方法
- 奇怪,为什么设置为 NOT NULL 的字段会出现内容为 NULL 的记录条?
- 关于数据库的设计
- 请问这个sql语句怎么写?
- 如何将调用的存储过程结果集 放在一个结果集里
- 各位大俠﹐請幫我看一看﹐下面這個查詢怎么寫才能提高效率
- 小弟是新手,遇到个奇怪的问题,希望大家进来看看!讨论讨论
select * from sysfiles --獲取當前數據庫的data 和log文件
不过我问的是如何用SQL-DMO获取备份文件里的Data逻辑文件名和Log的逻辑文件名。
不是从数据库里查。
所以你的方法是不行的。
http://www.databasejournal.com/features/mssql/article.php/10894_1479521_1
SQLDMO.SQLServerClass svr = new SQLDMO.SQLServerClass();
svr.Connect("(local)","sa","");
SQLDMO.Restore res=new SQLDMO.RestoreClass();
res.Action=0;
res.Database="assateset";
res.Files=@"BAK";
SQLDMO.QueryResults QRbak=res.ReadFileList(svr);
MessageBox.Show(Convert.ToString(QRbak.GetColumnString(2,1)));//得到Log的逻辑文件名。
MessageBox.Show(Convert.ToString(QRbak.GetColumnString(1,1)));//得到Data的逻辑文件名。