怎样在程序中备份 SQL Server 2000 数据库中的一个或多个表而不是整个数据库?
  请高手指点,最好有详细代码例子,谢谢。

解决方案 »

  1.   

    我写过用ADO表的非常容易的过程:)TADOTABLE.SaveToFile就可以了,这个过程原型如下procedure SaveToFile(const FileName: String = ''; Format: TPersistFormat = pfADTG);如要把表tb_mytable保存到C:\backup下
    procedure savetb;
    var
      tb_mytable: TADOTABLE;
    begin
      tb_mytable:=TADOTABLE.create(nil);
      try
        tb_mytable.connection:=//你的ADO连接
        tb_mytable.tablename:='tb_mytable';
        tb_mytable.open;
        tb_mytable.savetofile('c:\backup');
      finally
        tb_mytable.free;
      end;
    end;很容易的:)
      

  2.   

    http://search.csdn.net/Expert/topic/816/816481.xml?temp=.4126856
      

  3.   

    指定表的备份:
    bcp databasename..tablename out filepath+\tablename.dat /c /p -U sa -P
    其中databasename为数据库名,tablename为要备份的表名,filepath为备份文件存放的路径.
    利用MS SQL SERVER自身的BCP工具,将指定数据库的一个表数据复制到指定文件中。指定表的若干列备份:
    select fields into tablename2 from tablename1
    其中fields为要备份的若干列。
    执行查询语句,数据库将把查询的到若干列数据复制一份到tablename2中,通过bcp工具将tablename2中的数据备份出来。
      

  4.   

    用数据库的语句都能实现
    即backup与Restore语句
    只不过在应用Restore时需要排它性访问,这时你可能需要对数据库进行一些操作的