一次性备份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
,
Artikel Panas

Alat panas Tag

Artikel Panas

Tag artikel panas

Notepad++7.3.1
Editor kod yang mudah digunakan dan percuma

SublimeText3 versi Cina
Versi Cina, sangat mudah digunakan

Hantar Studio 13.0.1
Persekitaran pembangunan bersepadu PHP yang berkuasa

Dreamweaver CS6
Alat pembangunan web visual

SublimeText3 versi Mac
Perisian penyuntingan kod peringkat Tuhan (SublimeText3)

Topik panas

Gunakan ddrescue untuk memulihkan data pada Linux

Sumber terbuka! Di luar ZoeDepth! DepthFM: Anggaran kedalaman monokular yang cepat dan tepat!

Cara menggunakan fungsi penapis Excel dengan berbilang syarat

Google gembira: prestasi JAX mengatasi Pytorch dan TensorFlow! Ia mungkin menjadi pilihan terpantas untuk latihan inferens GPU

Daya hidup kecerdasan super membangkitkan! Tetapi dengan kedatangan AI yang mengemas kini sendiri, ibu tidak perlu lagi bimbang tentang kesesakan data

Kelajuan Internet Data Selular Perlahan pada iPhone: Pembetulan

Tentera Udara A.S. mempamerkan jet pejuang AI pertamanya dengan profil tinggi! Menteri secara peribadi menjalankan pandu uji tanpa campur tangan semasa keseluruhan proses, dan 100,000 baris kod telah diuji selama 21 kali.

Robot pertama yang menyelesaikan tugas manusia secara autonomi muncul, dengan lima jari fleksibel dan kelajuan manusia luar biasa, dan model besar menyokong latihan angkasa maya
