加入收藏 | 设为首页 | 会员中心 | 我要投稿 李大同 (https://www.lidatong.com.cn/)- 科技、建站、经验、云计算、5G、大数据,站长网!
当前位置: 首页 > 站长学院 > MsSql教程 > 正文

转:SQLSERVER2000下生成数据库对象脚本(不包括数据信息)

发布时间:2020-12-12 16:00:58 所属栏目:MsSql教程 来源:网络整理
导读:转:?http://blog.csdn.net/zlp321002/archive/2006/12/28/1465180.aspx 数据库中的表对象脚本可以用以下存储过程来备份. 它可以备份数据库中任何对象脚本(不包括数据信息) 注意: 以下存储过程在sql server 2000 sp3以上版本测试通过. --生成整个数据库脚本.

转:?http://blog.csdn.net/zlp321002/archive/2006/12/28/1465180.aspx

数据库中的表对象脚本可以用以下存储过程来备份.

它可以备份数据库中任何对象脚本(不包括数据信息)

注意: 以下存储过程在sql server 2000 sp3以上版本测试通过.

--生成整个数据库脚本.
Create?? PROC?? P_GetJenerateCurrentDBObjectsScript??
? @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??????????
??????????????????????? 'HKEY_LOCAL_MACHINE',??????
??????????????????????? 'SOFTWARE/Microsoft/MSSQLSERVER/setup',??????
??????????????????????? 'SQLPath',@Path???? output??????
? set???? @Path???? =?? ''''+replace(@Path,':/',':/"')+'"'???? +???? '/Upgrade/scptxfr.exe'??????
? set?? @Cmd='master.dbo.xp_cmdshell?? '+@Path??
???
? if?? 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??

?

调用如下:

?P_GetJenerateCurrentDBObjectsScript?? '','','密码'

(编辑:李大同)

【声明】本站内容均来自网络,其相关言论仅代表作者个人观点,不代表本站立场。若无意侵犯到您的权利,请及时与联系站长删除相关内容!

    推荐文章
      热点阅读