如何将一个从Sql server备份的文件(包括表、视图、存储过程和部分表有数据)在另一台没有此数据库机器上,用程序动态恢复(创建)此数据库?请高手大哥给出代码?

解决方案 »

  1.   

    EXEC sp_attach_db @dbname = N'pubs', 
       @filename1 = N'c:\Program Files\Microsoft SQL Server\MSSQL\Data\pubs.mdf', 
       @filename2 = N'c:\Program Files\Microsoft SQL Server\MSSQL\Data\pubs_log.ldf'结贴吧!!!
      

  2.   

    Query1.close;
      Query1.sql.clear;
      Query1.sql.add('RESTORE DATABASE mydase FROM DISK = ''D:\mmaster.bak'''
      Query1.ExecSQL;
      

  3.   

    Query1.close;
    Query1.sql.clear;
    Query1.sql.add('RESTORE DATABASE mydase FROM DISK =''D:\mmaster.bak''');
    Query1.ExecSQL;
    以下为备份
    BACKUP DATABASE databasename TO DISK = d:\mmaster.bak
      

  4.   

    楼上的兄弟,都让你说了,别人怎么挣分?EXEC sp_attach_db @dbname = N'pubs', 
       @filename1 = N'c:\Program Files\Microsoft SQL Server\MSSQL\Data\pubs.mdf', 
       @filename2 = N'c:\Program Files\Microsoft SQL Server\MSSQL\Data\pubs_log.ldf'
    这个方法有一个前提,就是把数据库的两个文件拷到别的地方,在拷的时候必须把服务器ShutDown
      

  5.   

    应楼主要求:
    GetPrivateProfileString('DBMS','username','',user,20,pchar(filename));
    GetPrivateProfileString('DBMS','servername','',servername,20,pchar(filename));
    GetPrivateProfileString('ver','ver','',version1,20,pchar(filename));
    ConnectionString:='Provider=SQLOLEDB.1;Persist Security Info=False'+
                          ';User ID='+user+';Password=123'+';Initial Catalog=manage'+;Data Source='+servername+';';
    ADOConnection1.ConnectionString:=ConnectionString;
    ........adoQuery1.close;
    adoQuery1.sql.clear;
    adoQuery1.sql.add('RESTORE DATABASE mydase FROM DISK =''D:\mmaster.bak''');
    adoQuery1.ExecSQL;
    以下为备份
    BACKUP DATABASE databasename TO DISK = d:\mmaster.bak