SQL SERVER 数据库备份

本文涉及的产品
云数据库 RDS SQL Server,基础系列 2核4GB
RDS SQL Server Serverless,2-4RCU 50GB 3个月
推荐场景:
简介: SQL SERVER 数据库备份复制代码/**批量循环备份用户数据库,做为数据库迁移临时用*/SET NOCOUNT ONDECLARE @d varchar(8) DECLARE @Backup_Flag NVARCHAR(10)SET @d=convert(varchar(8),ge...

SQL SERVER 数据库备份
复制代码
/**

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

*/

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
复制代码
原文地址https://www.cnblogs.com/lvzf/p/10564890.html

相关文章
|
7天前
|
SQL 数据库
Microsoft SQL Server 2014如何来备份数据库
Microsoft SQL Server 2014如何来备份数据库
10 3
|
7天前
|
SQL 关系型数据库 MySQL
【MySQL 慢查询秘籍】慢SQL无处遁形!实战指南:一步步教你揪出数据库性能杀手!
【8月更文挑战第24天】本文以教程形式深入探讨了MySQL慢SQL查询的分析与优化方法。首先介绍了如何配置MySQL以记录执行时间过长的SQL语句。接着,利用内置工具`mysqlslowlog`及第三方工具`pt-query-digest`对慢查询日志进行了详细分析。通过一个具体示例展示了可能导致性能瓶颈的查询,并提出了相应的优化策略,包括添加索引、缩小查询范围、使用`EXPLAIN`分析执行计划等。掌握这些技巧对于提升MySQL数据库性能具有重要意义。
34 1
|
9天前
|
SQL 存储 监控
ADBPG&Greenplum成本优化问题之通过SQL查询找到数据库中所有的复制表如何解决
ADBPG&Greenplum成本优化问题之通过SQL查询找到数据库中所有的复制表如何解决
25 1
|
11天前
|
SQL 关系型数据库 MySQL
在Linux中,如何备份和恢复MySQL数据库?
在Linux中,如何备份和恢复MySQL数据库?
|
11天前
|
Linux 数据库 数据安全/隐私保护
|
11天前
|
存储 数据库 数据库管理
SQLite数据库的备份
【8月更文挑战第20天】SQLite数据库的备份
64 1
|
8天前
|
关系型数据库 MySQL Shell
分享一篇mysql数据库备份脚本
分享一篇mysql数据库备份脚本
14 0
|
9天前
|
SQL 数据库 Windows
【应用服务 App Service】当使用EntityFrameWorkCore访问Sql Server数据库时,在Azure App Service会出现Cannot create a DbSet for ** because this type is not included in the model for the context的错误
【应用服务 App Service】当使用EntityFrameWorkCore访问Sql Server数据库时,在Azure App Service会出现Cannot create a DbSet for ** because this type is not included in the model for the context的错误
|
10天前
|
SQL 网络协议 数据库连接
"解锁数据连接新技能:Python携手SqlServer,轻松驾驭企业级数据库挑战!"
【8月更文挑战第21天】本文介绍如何在Python中连接SqlServer数据库。首先,需安装`pyodbc`库:`pip install pyodbc`。接着配置数据库详情如服务器地址、端口等。示例代码展示如何建立连接、执行查询及处理结果。务必确认TCP/IP已启用并使用合适ODBC驱动。了解这些步骤可助您更好地利用Python进行数据管理。
23 0
|
10天前
|
SQL 安全 数据库
"数据库守卫战:揭秘SQL Server中角色与权限的神秘面纱,一键打造坚不可摧的安全堡垒!"
【8月更文挑战第21天】数据库安全性对企业至关重要。SQL Server提供强大机制保障数据安全,包括用户角色管理和权限授权。本文以杂文形式介绍如何创建服务器角色和数据库角色,并通过SQL语句进行权限分配。从创建角色到添加用户、授权和撤销权限,再到最佳实践,帮助读者掌握SQL Server中的角色和权限管理,确保数据安全与完整性。
21 0
下一篇
云函数