您的位置:首页 > 数据库

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

2007-12-25 22:35 471 查看
转: 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 '','','密码'
内容来自用户分享和网络整理,不保证内容的准确性,如有侵权内容,可联系管理员处理 点击这里给我发消息
标签: 
相关文章推荐