那只能在企业管理器那里弄了,生成角本,把表先建起来,再用insert into table select * from tablename

解决方案 »

  1.   

    --这是导处所有数据库对象的例子.
    --导数据参考楼上的方法.可以循环用户表,也可以用 sp_msforeachtable 的方法.批量导数据.
    /*+----------------------------------------------------------------------------+
      | 过程名称:P_JRJ_SYSTEM_JenerateCurrentDBObjectsScript
      | 功能说明:生成当前数据库所有对象脚本(包括表、视图、存储过程、函数、触发器),用于备份
      | 入口参数:@ServerName:服务器名称
      |      @DataBaseName:数据库名称
      |          @Password: 数据库密码
      |          @BackupPath:数据库路径
      | 过程返回:按日期备份数据库对象代码
      | 维护记录:N/A
      | 使用案例:P_JRJ_SYSTEM_JenerateCurrentDBObjectsScript
      | 注意事项:不传递参数,取默认数据库和密码备份到D:\数据库脚本备份\
      |          该存储过程如果建立在master库,以 SP_命名,则所有用户数据库均可以调用该存储过程
      |      可以用sp_MSforeachDB遍逆实例上的数据库进行备份
      | 过程作者:邹丽朋
      | 联系方式:[email protected]
      | 更改日期:2006.3.6
      +----------------------------------------------------------------------------+*/
    CREATE PROC P_JRJ_SYSTEM_JenerateCurrentDBObjectsScript
    @ServerName varchar(20)='', --要备份的服务器名称,不指定则备份当前服务器
    @dbname varchar(20)='', --要备份的数据库名称,不指定则备份当前数据库
    @Password varchar(20)='', --密码
    @BackupPath varchar(200)='D:\数据库脚本备份\' --文件保存路径
    As
    Begin
    declare @Path  varchar(400),@Cmd varchar(1000)
    exec  master.dbo.xp_regread    --获取数据库scptxfr.exe的路径
               'HKEY_LOCAL_MACHINE',  
               'SOFTWARE\Microsoft\MSSQLSERVER\setup',  
               'SQLPath',@Path  output  
    set  @Path  = ''''+replace(@Path,':\',':\"')+'"'  +  '\Upgrade\scptxfr.exe'  
    set @Cmd='master.dbo.xp_cmdshell '+@Pathif isnull(@ServerName,'')='' set @ServerName=@@ServerName
    if isnull(@dbname,'')='' set @dbname=DB_NAME()--生成文件夹和目录
    set @Cmd=@Cmd+N'  /s '+@ServerName+' /d '+@dbname+' /p '''+@Password+''' /I /f  '
    set @BackupPath='MD '+@BackupPath+''+@dbname+''
    exec master..xp_cmdshell @BackupPath
    --生成数据库脚本
    set @Cmd=@Cmd+N''+REPLACE(@BackupPath,'MD','')+'\'+convert(varchar(10),getdate(),112)+'.sql'''
    exec(@Cmd)
    End
    GO