SQL SERVER 数据库备份代码实例

这篇文章主要介绍了SQL SERVER数据库备份,文中通过示例代码介绍的非常详细,对大家的学习或者工作具有一定的参考学习价值,需要的朋友们下面随着小编来一起学习学习吧

本文实例为大家分享SQL SERVER数据库备份的具体代码,供大家参考,具体内容如下

?

1

2

3

4

5

6

7

8

9

10

11

12

13

14

15

16

17

18

19

20

21

22

23

24

25

26

27

28

29

30

31

32

33

34

35

36

37

38

39

40

41

42

43

44

45

46

47

48

49

50

51

52

53

54

55

56

57

58

59

60

61

62

63

/**

批量循环备份用户数据库,做为数据库迁移临时用

*/

SET NOCOUNT ON

DECLARE @d varchar(8)

DECLARE @Backup_Flag NVARCHAR(10)

SET @d=convert(varchar(8),getdate(),112)

/***自定义选择备份哪些数据库****/

–SET @Backup_Flag='UserDB' — 所用的用户数据库

SET @Backup_Flag='AlwaysOnDB' — AlwaysOn 用户数据库

CREATE TABLE #T (ID INT NOT NULL IDENTITY(1,1),SQLBak NVARCHAR(MAX) NOT NULL)

IF @Backup_Flag='UserDB'

BEGIN

INSERT INTO #T (SQLBak)

SELECT

'BACKUP DATABASE [' + name + '] TO DISK=''E:\\Backup\\' + NAME + '_Full_'+@d+'.bak'' WITH CHECKSUM,NOFORMAT,INIT,SKIP,COMPRESSION' AS 'SQLBak'

FROM sys.databases

WHERE database_id>4

END

IF @Backup_Flag='AlwaysOnDB'

BEGIN

INSERT INTO #T (SQLBak)

SELECT

'BACKUP DATABASE [' + database_name + '] TO DISK=''E:\\Backup\\' + database_name + '_Full_'+@d+'.bak'' WITH CHECKSUM,NOFORMAT,INIT,SKIP,COMPRESSION' AS 'SQLBak'

FROM sys.availability_databases_cluster

END

DECLARE

@Minid INT ,

@Maxid INT ,

@sql VARCHAR(max)

SELECT @Minid = MIN(id) ,

@Maxid = MAX(id)

FROM #T

PRINT N'–打印备份脚本……….'

WHILE @Minid <= @Maxid

BEGIN

SELECT @sql = SQLBak

FROM #T

WHERE id = @Minid

—-exec (@sql)

PRINT ( @sql )

SET @Minid = @Minid + 1

END

DROP TABLE #T

以上所述是小编给大家介绍的SQL SERVER数据库备份详解整合,希望对大家有所帮助,如果大家有任何疑问请给我留言,小编会及时回复大家的。在此也非常感谢大家对钦钦技术栈网站的支持!

原文链接:https://www.cnblogs.com/lvzf/p/10564890.html

版权声明:本文(即:原文链接:https://www.qin1qin.com/catagory/24498/)内容由互联网用户自发投稿贡献,该文观点仅代表作者本人。本站仅提供信息存储空间服务,不拥有所有权,不承担相关法律责任。如发现本站有涉嫌抄袭侵权/违法违规的内容, 请发送邮件至 630367839@qq.com 举报,一经查实,本站将立刻删除。

(0)
上一篇 2022年9月22日 上午11:17
下一篇 2022年9月22日 上午11:17
软件定制开发公司

相关阅读

发表回复

登录后才能评论
通知:禁止投稿所有关于虚拟货币,币圈类相关文章,发现立即永久封锁账户ID!