--生成数据库脚本
sql200企业管理器
  --右键要导出的数据库
  --所有任务
  --生成SQL脚本
  --<常规>里选择"生成全部对象脚本"","在脚本文件中包含说明性标题"选上
  --<设置格式>里,将"包含扩展属性",选上
  --<选项>中,将"表脚本选项"中的内容全部选择上
  --<选项>中,"安全性选项"是决定是否要包含创建数据库及用户权限等的设置,根据你的需要选择
  --其他所有的选项保持默认值
  --然后确定,将其保存成一个.sql文件注意:如果只选择部分表,是不能生成表之间的关系的然后在需要生成数据库的地方,执行上面这个脚本就行了.有一点需要说明,如果你生成脚本的时候包含了建库的脚本,则执行脚本前不需要事先建库,否则你需要先建一个新库,然后在这个新库中执行上面的脚本来生成数据库对象
--单个对象的脚本生成方法
查询分析器
--左侧的对象浏览器(没有的话按F8)
--右键你要复制的对象(表/视图/存储过程等)
--在新窗口中编写对象脚本
--创建
--将生成脚本的对象名改为你的新对象名
--按F5执行--生成安全性中的用户
sql200企业管理器
  --右键任意数据库
  --所有任务
  --生成SQL脚本
  --<选项>中,"安全性选项",选择"包含创建数据库及用户权限","编写 SQL Server 登录(Windows NT 和 SQL Server 登录)脚本"
  --其他所有的选项保持默认值
  --然后确定,将其保存成一个.sql文件

解决方案 »

  1.   

    是跟 SQL查询分析器的一样,但是,我要在程序里实现..
    所以,希望各位大侠可否写出生成定义的 SQL 语句??
      

  2.   

    在MASTER(或所选的数据库) 中的视图有相关的定义.但不完整...例如:INFORMATION_SCHEMA.COLUMNSINFORMATION_SCHEMA.VIEWSINFORMATION_SCHEMA.TABLESINFORMATION_SCHEMA.ROUTINES
      

  3.   

    程序可以引用SQLDMO对象来直接生成对象脚本'示例
    Sub test()
        Dim iSQL As SQLDMO.SQLServer
        Dim iTable As SQLDMO.Table
        Dim iView As SQLDMO.View
        
        Set iSQL = New SQLServer
    'isql.LoginSecure=True 'NT验证
        iSQL.Connect "localhost", "sa", ""
        Open "c:\1.sql" For Output As #1
        
        '导出建表脚本
        For Each iTable In iSQL.Databases("xzkh_aa").Tables
            If (iTable.Attributes And SQLDMOTabAtt_SystemObject) <> SQLDMOTabAtt_SystemObject Then
                Print #1, iTable.Script(SQLDMOScript_Default, , , SQLDMOScript2_Default)
            End If
        Next
        
        '导出建视图脚本
        For Each iView In iSQL.Databases("xzkh_aa").Views
            If Not iView.SystemObject Then
                Print #1, iView.Script(SQLDMOScript_Default, , SQLDMOScript2_Default)
            End If
        Next
        Close #1
    End Sub
      

  4.   

    其实向查询分析器左边的那种效果,用SQLDMO对象是一个比较好的选择有关SQLDMO对象的使用示例,建议你参考一下SQL安装光盘上的该文件(压缩文件)
    \DEVTOOLS\SAMPLES\SQLDMO\UNZIP_SQLDMO.EXE解压后的 
    explore 目录演示了如何利用SQLDMO对象来获取你要的信息
    SQLScripts 目录演示了如何利用SQLDMO对象来获取对象脚本
      

  5.   

    用存储过程 exec sp_helptext '对象名'  在查询分析器中查看 视图定义,存储过程定义,函数的定义。
    数据库定义,表定义 通过生成脚本查看定义。
      

  6.   

    如果你喜欢用SQL语句来获取对象定义,建议你研究如下几个系统表(未指定库名的,表示在每个库中都有):
    master.dbo.sysdatabases       --取得当前实例的所有数据库信息
    sysobjects     --指定库的所有对象(表/视图/存储过程等)信息
    syscolumns     --对象的列信息(比如表/视图的字段,存储过程的参数等)
    systypes       --数据类型信息
    syscomments    --视图/存储过程/自定义函数的明细信息
    sysindexes/sysindexkeys --索引信息
      

  7.   

    TO zjcxc(邹建) ( ) 我真服了你...当然,我不仅仅指技术.
    谢谢!!  :)
      

  8.   

    同一zjcxc(邹建)的说法,还是直接读取系统表比较方便。