我想用代码动态创建一个数据库,这个问题我已经解决,请问如何通过代码再创建另一个数据库,使这个数据库和第一个数据库除了数据库名称不同以外其他 完全一样的数据库,请给出示例代码,谢谢!

解决方案 »

  1.   

    select * into Table2 from Table1
      

  2.   

    1 用backup/restore语句
    2 调用DTS将新建的库倒入
    3 建好以后将你的数据库调用sp_renamedb更改成新的数据库,然后再重复创建一次原来的数据库
      

  3.   

    前提是Table1不存在,如果已存在先删除
    Drop Table Table1
    select * into Table2 from Table1
      

  4.   

    1 用backup/restore语句
    2 调用DTS将新建的库倒入
    3 建好以后将你的数据库调用sp_renamedb更改成新的数据库,然后再重复创建一次原来的数据库
    --------------------------------------
    看!
    那支正飞向太阳的蛾子.....
    就是我!
    --------------------------------------
      

  5.   

    下例将数据库 accounting 改名为 financial。
    with query1 do
    begin
    close;
    sql.clear;
    sql.add('EXEC sp_renamedb ''accounting'', ''financial''');
    execsql;
    .....//这里再调用以前的代码创建一次数据库
    end;
    --------------------------------------
    看!
    那支正飞向太阳的蛾子.....
    就是我!
    --------------------------------------
      

  6.   

    同意 firetoucher(风焱)!又是一名高手!
      

  7.   

    如果通过backup/restore来处理数据库,请问如何将第一个数据库的备份文件恢复到第二个数据中啊?这两个数据库名称不一样,如何恢复?
      

  8.   

    用 select * into Table2 from Table1
    可以创建一个和Table1字段完全相同的表,这样难道不行吗?
      

  9.   

    使用 BACKUP 和 RESTORE 创建数据库的复本
    下例显示使用 BACKUP 和 RESTORE 语句创建 Northwind 数据库的复本。MOVE 语句使数据和日志文件还原到指定的位置。RESTORE FILELISTONLY 语句用于确定待还原数据库内的文件数及名称。该数据库的新复本称为 TestDB。有关更多信息,请参见 RESTORE FILELISTONLY。 BACKUP DATABASE Northwind 
       TO DISK = 'c:\Northwind.bak'
    RESTORE FILELISTONLY 
       FROM DISK = 'c:\Northwind.bak'
    RESTORE DATABASE TestDB 
       FROM DISK = 'c:\Northwind.bak'
       WITH MOVE 'Northwind' TO 'c:\test\testdb.mdf',
       MOVE 'Northwind_log' TO 'c:\test\testdb.ldf'
    GO
     DelUser(探索者)的方法可以创建表,但是
    1 要把每一个表都insert select一次
    2 不能复制视图/存储过程等
      

  10.   

    1.首先创建一个原数据库的备份文件:back.bak
    2.执行下列代码:
    IF EXISTS (SELECT *FROM sysdatabasesWHERE name = 'data')BEGINDROP database dataEND;CREATE database datarestore database data from disk:='c:\back1.bak'
    exec sp_renamedb 'data','data1'
     
    这样就可以创建两个完全一样的数据库了。
      

  11.   

    1.首先创建一个原数据库的备份文件:back.bak
    2.执行下列代码:
    IF EXISTS (SELECT *FROM sysdatabasesWHERE name = 'data')BEGINDROP database dataEND;CREATE database datarestore database data from disk='c:\back1.bak'
    exec sp_renamedb 'data','data1'
     
    这样就可以创建两个完全一样的数据库了。
      

  12.   

    你写一个SQL文本,然后用SQL SERVER运行好了!!
      

  13.   

    sp_attach 一个系统存储过程,看一下帮助吧.