能否用一个脚本来生成数据库创建脚本(表、存储过程...)

waterfirer 2007-06-22 02:29:29
我只知道通过工具来生成“数据库创建脚本(表、存储过程...)”
这种操作很频繁,通常几天就要操作一次,能否可以通过脚本来生成“数据库创建脚本(表、存储过程...)”呢
或者有什么方法可以减少这种操作的时间,谢谢
...全文
325 4 打赏 收藏 转发到动态 举报
写回复
用AI写文章
4 条回复
切换为时间正序
请发表友善的回复…
发表回复
lzhs 2007-06-22
  • 打赏
  • 举报
回复
Option Explicit
Dim dmoServer
Dim dmoDB
Dim dmoSP

Dim FSO
Dim strFolder
Dim strFile

Const SQLDMOScript_DRI_PrimaryKey = 268435456
Const SQLDMOScript_DRI_ForeignKeys = 134217728
Const SQLDMOScript_OwnerQualify = 262144
Const SQLDMOScript_IncludeHeaders = 131072
Const SQLDMOScript_NoDRI = 512
Const SQLDMOScript_AppendToFile = 256
Const SQLDMOScript_Default = 4
Const SQLDMOScript_Drops = 1
Const SQLDMOScript_ToFileOnly = 64

Set dmoServer = CreateObject("SQLDMO.SQLServer")
Set FSO = CreateObject("Scripting.FileSystemObject")

dmoServer.LoginSecure = True
dmoServer.Connect "(local)"

For Each dmoDB In dmoServer.Databases
strFolder = "C:\SQLDMO_Scripts\Local\Result\SP\" & dmoDB.Name
If dmoDB.Name <> "master" And dmoDB.Name <> "msdb" And dmoDB.Name <> "tempdb" And dmoDB.Name <> "Northwind" And dmoDB.Name <> "pubs" And dmoDB.Name <> "model" Then
'If dmoDB.Name = "ApplogDB" Then
If Not FSO.FolderExists(strFolder) Then
FSO.CreateFolder(strFolder)
End If

For Each dmoSP In dmoDB.StoredProcedures
If Not dmoSP.SystemObject Then
strFile = strFolder & "\" & dmoSP.Name & ".sql"
dmoSP.Script SQLDMOScript_IncludeHeaders + SQLDMOScript_ToFileOnly + SQLDMOScript_Drops + SQLDMOScript_Default , strFile
End If
Next

End If
Next

Set dmoSP = Nothing
Set dmoDB = Nothing
Set dmoServer = Nothing

============================================================
这是我常用的在本地生成数据库对象脚本的VBS。
你可以参考一下。
lionstar 2007-06-22
  • 打赏
  • 举报
回复
楼主的意思在下不是特别明白,完全可以呀.我们公司的项目大部分都是维护类项目,就是手工维护数据库创建脚本的(反正现在的工具都支持反向工程).

关键你要作好配置管理工作,别到时都不知道自己修改了那些内容就可以了.
chuifengde 2007-06-22
  • 打赏
  • 举报
回复
用sqldmo完全可以作到
昵称被占用了 2007-06-22
  • 打赏
  • 举报
回复
自己做“数据库创建脚本(表、存储过程...)”
没必要,对象类型太多,做起来麻烦

34,591

社区成员

发帖
与我相关
我的任务
社区描述
MS-SQL Server相关内容讨论专区
社区管理员
  • 基础类社区
  • 二月十六
  • 卖水果的net
加入社区
  • 近7日
  • 近30日
  • 至今
社区公告
暂无公告

试试用AI创作助手写篇文章吧