RESTORE DATABASE 时用到的 with move 后面的 怎样知道是什么比如
"RESTORE DATABASE "+database+" FROM DISK ='"+ls_dir+"\back12.bak' WITH MOVE 'north_data' TO '"+ls_dir+"\"+database+".mdf', MOVE 'north_log' TO '"+ls_dir+"\"+database+".ldf'"里面的 'north_data' 'north_log' 怎样知道呢?

解决方案 »

  1.   

    select name from dbname.sys.database_files
    你就能得到逻辑文件名.
      

  2.   

    我说的是一份BAK文件RESTORE FILELISTONLY FROM DISK = N'c:\backdb.bak'以后怎样取值取得它的逻辑文件名
      

  3.   

    假设有一个备份文件 test.bak 是默认备份路径上,则,下面语句可获得备份中的逻辑文件名和物理文件名:
    RESTORE FILELISTONLY FROM DISK='C:\Program Files\Microsoft SQL Server\MSSQL.1\MSSQL\Backup\test.bak'
      

  4.   


    create table t (LogicaName varchar(20),PhysicalName varchar(200))insert into t exec('restore filelistonly from disk=''[备份文件]'' ')
      

  5.   

    那怎样取得变量呢? declare @x varchar(20)
     
    create table t (LogicalName varchar(20),PhysicalName varchar(200), ...[其他字段]...)insert into t exec('restore filelistonly from disk=''[备份文件]'' ')select @x=LogicalName from t where 条件