簡單方法一次獲取整個數據庫的腳本(包括SP,Table,DataBase) 不分別用企業管理器的getscript。 解决方案 » 免费领取超大流量手机卡,每月29元包185G流量+100分钟通话, 中国电信官方发货 Create PROC P_GetJenerateCurrentDBObjectsScript@ServerName varchar(20)='', --要备份的服务器名称,不指定则备份当前服务器@dbname varchar(20)='', --要备份的数据库名称,不指定则备份当前数据库@Password varchar(20)='', --密码@BackupPath varchar(200)='D:\数据库脚本备份\' --文件保存路径AsBegindeclare @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 '+@Pathif isnull(@ServerName,'')='' set @ServerName=@@ServerNameif 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)EndGO--调用(你用EXEC sp_MSforeachdb 下数据库即可)P_GetJenerateCurrentDBObjectsScript '','','密码' scptxfr.exe 不一定在你的sql 安装目录, 要求你安装sql server的时候, 安装了升级向导才会有的。不过, 你可以在安装光盘上查找这个文件, 复制到system32目录下就可以了, 还有一个与这个文件同名的资源文件, 一齐复制到system32目录 Create PROC P_GetJenerateCurrentDBObjectsScript@ServerName varchar(20)='',--要备份的服务器名称,不指定则备份当前服务器@dbname varchar(20)='',--要备份的数据库名称,不指定则备份当前数据库@Password varchar(20)='',--密码@BackupPath varchar(200)='D:\数据库脚本备份\'--文件保存路径AsBegindeclare @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 '+@Pathif isnull(@ServerName,'')='' set @ServerName=@@ServerNameif 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)EndGO--调用(你用EXEC sp_MSforeachdb 下数据库即可)P_GetJenerateCurrentDBObjectsScript '','','密码'--这个写得太强了 有关CASE的一段语句,报语法错,进来帮我看看。 在公司用企业管理器连接SQLserver服务器出现问题,而在家里可以。 关于vs2010创建数据库连接服务器疑难 接收中文乱码问题 高分帮助解决2008R2下存储过程速度优化 问一个关于replace的问题 求一条查询语句(要判断该字段是否存在) 能否构建一个在同一表内某些条件相同的记录的SQL? 大伙帮我看看下面这个日志,sql的问题 高分求救一个ADO和DSN的问题,=============〉 删除表中重复的行 求一条简单排序语句,谢谢!
@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 '+@Pathif 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--调用(你用EXEC sp_MSforeachdb 下数据库即可)
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 '+@Pathif 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--调用(你用EXEC sp_MSforeachdb 下数据库即可)
P_GetJenerateCurrentDBObjectsScript '','','密码'--这个写得太强了