一次性备份SQL Server中所有的数据
Jun 07, 2016 pm 04:21 PM本文原始来自网上一篇文章,不过原始的存储过程有些问题,本文经过验证并进行了进一步的修正,增加了备份的时候自动增加备份日期,文章内容如下: 备份处理的存储过程 set ANSI_NULLS ON set QUOTED_IDENTIFIER ON go /*--备份所有数据库 备份的文件名为数据
本文原始来自网上一篇文章,不过原始的存储过程有些问题,本文经过验证并进行了进一步的修正,增加了备份的时候自动增加备份日期,文章内容如下:
备份处理的存储过程
set ANSI_NULLS ON
set QUOTED_IDENTIFIER ON
go
/*--备份所有数据库
备份的文件名为数据库名+日期+.bak
将所有的用户数据库(或指定的数据库列表)
备分到指定的目录下.
/*--调用示例
--备份所有用户数据库
exec p_backupdb @bkpath='D:',@dbname=''
--备份指定数据库
exec p_backupdb @bkpath=D:',@dbname='数据库名称'
--*/
create proc [dbo].[p_backupdb]
@bkpath nvarchar(260)='D:', --备份文件的存放目录,不指定则使用SQL默认的备份目录
@dbname nvarchar(4000)='' --要备份的数据库名称列表,不指定则备份所有用户数据库
as
declare @sql varchar(8000)
DECLARE @strdate NVARCHAR(200)
set @strdate = convert(NVARCHAR(10),getdate(),120)
set @strdate = REPLACE(@strdate, '-' , '')
--检查参数
if isnull(@bkpath,'')=''
begin
select @bkpath=rtrim(reverse(filename)) from master..sysfiles where
select @bkpath=substring(@bkpath,charindex('',@bkpath)+1,4000)
,@bkpath=reverse(substring(@bkpath,charindex('',@bkpath),4000))+'BACKUP'
end
else if right(@bkpath,1)'' set @bkpath=@bkpath+''
--得到要备份的数据库列表
if isnull(@dbname,'')=''
declare tb cursor local for
select name from master..sysdatabases where name not in('master','tempdb','model','msdb')
else
declare tb cursor local for
select name from master..sysdatabases
where name not in('master','tempdb','model','msdb') and(name like '%'+@dbname+'%')
--备份处理
open tb
fetch next from tb into @dbname
while @@fetch_status=0
begin
set @sql='backup database '+@dbname
+' to disk='''+@bkpath+@dbname +'_'+@strdate
+'.bak'' with format'
exec(@sql)
fetch next from tb into @dbname
end
close tb
deallocate tb
go
,
人気の記事

人気の記事

ホットな記事タグ

メモ帳++7.3.1
使いやすく無料のコードエディター

SublimeText3 中国語版
中国語版、とても使いやすい

ゼンドスタジオ 13.0.1
強力な PHP 統合開発環境

ドリームウィーバー CS6
ビジュアル Web 開発ツール

SublimeText3 Mac版
神レベルのコード編集ソフト(SublimeText3)

ホットトピック











オープンソース!ゾーイデプスを超えて! DepthFM: 高速かつ正確な単眼深度推定!

Google は大喜び: JAX のパフォーマンスが Pytorch や TensorFlow を上回りました! GPU 推論トレーニングの最速の選択肢となる可能性があります

超知性の生命力が覚醒する!しかし、自己更新 AI の登場により、母親はデータのボトルネックを心配する必要がなくなりました。

柔軟かつ高速な 5 本の指を備え、人間のタスクを自律的に完了する初のロボットが登場、大型モデルが仮想空間トレーニングをサポート

アメリカ空軍が初のAI戦闘機を公開し注目を集める!大臣はプロセス全体を通じて干渉することなく個人的にテストを実施し、10万行のコードが21回にわたってテストされました。
