在2000中,
建了一新库
怎样用SQL脚生成数据库结构

解决方案 »

  1.   

    右键数据库--〉所有任务--〉生成sql 脚本
      

  2.   

    sql200企业管理器
      --右键要导出的数据库
      --所有任务
      --生成SQL脚本
      --<常规>里选择"生成全部对象脚本"","在脚本文件中包含说明性标题"选上
      --<设置格式>里,将"包含扩展属性",选上
      --<选项>中,将"表脚本选项"中的内容全部选择上
      --<选项>中,"安全性选项"是决定是否要包含创建数据库及用户权限等的设置,根据你的需要选择
      --其他所有的选项保持默认值
      --然后确定,将其保存成一个.sql文件
      

  3.   

    是有SQL脚本
    然后根据它生成数据库结构
      

  4.   

    declare @str varchar(8000)
    exec sp_getscript 'daliserver','','','test','sysobjects',@str output
    print @str
    */
    if exists(select 1 from sysobjects where id=object_id('sp_getscript') and objectproperty(id,'IsProcedure')=1)
    drop procedure sp_getscript
    go
    create procedure sp_getscript
    @servername varchar(50) --服务器名
    ,@userid varchar(50) --用户名,如果为nt验证方式,则为空
    ,@password varchar(50) --密码
    ,@databasename varchar(50) --数据库名称
    ,@objectname varchar(250) --对象名
    ,@re varchar(8000) output --返回脚本
    as
    declare @srvid int,@dbsid int --定义服务器、数据库集id
    declare @dbid int,@tbid int --数据库、表id
    declare @err int,@src varchar(255), @desc varchar(255) --错误处理变量--创建sqldmo对象
    exec @err=sp_oacreate 'sqldmo.sqlserver',@srvid output
    if @err<>0 goto lberr--连接服务器
    if isnull(@userid,'')='' --如果是 Nt验证方式
    begin
    exec @err=sp_oasetproperty @srvid,'loginsecure',-1
    if @err<>0 goto lberr exec @err=sp_oamethod @srvid,'connect',null,@servername
    end
    else
    exec @err=sp_oamethod @srvid,'connect',null,@servername,@userid,@passwordif @err<>0 goto lberr--获取数据库集
    exec @err=sp_oagetproperty @srvid,'databases',@dbsid output
    if @err<>0 goto lberr--获取要取得脚本的数据库id
    exec @err=sp_oamethod @dbsid,'item',@dbid output,@databasename
    if @err<>0 goto lberr--获取要取得脚本的对象id
    exec @err=sp_oamethod @dbid,'getobjectbyname',@tbid output,@objectname
    if @err<>0 goto lberr--取得脚本
    exec @err=sp_oamethod @tbid,'script',@re output
    if @err<>0 goto lberr--print @re
    returnlberr:
    exec sp_oageterrorinfo NULL, @src out, @desc out 
    declare @errb varbinary(4)
    set @errb=cast(@err as varbinary(4))
    exec master..xp_varbintohexstr @errb,@re out
    select 错误号=@re, 错误源=@src, 错误描述=@desc
    returngo