转: 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 '','','密码'
版权声明:本文内容由互联网用户自发贡献,该文观点与技术仅代表作者本人。本站仅提供信息存储空间服务,不拥有所有权,不承担相关法律责任。如发现本站有涉嫌侵权/违法违规的内容, 请发送邮件至 [email protected] 举报,一经查实,本站将立刻删除。