sql中如何跨服务器备份

fiy 其他 111

回复

共3条回复 我来回复
  • 不及物动词的头像
    不及物动词
    这个人很懒,什么都没有留下~
    评论

    在SQL中,跨服务器备份是指将一个服务器上的数据库备份到另一个服务器上。下面是一种常用方法:

    1. 通过SQL Server Management Studio(SSMS)或者使用SQL语句连接到源服务器,选择要备份的数据库。
    2. 在SSMS中,右键点击选定的数据库,选择“任务”-“导出数据”。
    3. 在“导出数据向导”中,选择“SQL Server Native Client”作为数据源,输入目标服务器的连接信息。
    4. 选择目标服务器上的一个目标数据库,点击“下一步”。
    5. 在“选择表和视图”页面,选择要备份的表和视图,点击“下一步”。
    6. 在“选择查询”页面中,选择要备份的数据,点击“下一步”。
    7. 在“设置导出选项”页面,选择“导出所有行”和“写到文件中”,然后选择一个输出文件。
    8. 点击“下一步”和“完成”开始备份过程。

    另一种方法是使用SQL Server备份和还原命令:

    1. 在源服务器上,打开SQL Server Management Studio,连接到源数据库。

    2. 打开新查询窗口,运行以下备份命令:

      BACKUP DATABASE [源数据库名] TO DISK = '\\目标服务器IP\共享文件夹\备份文件名.bak'
      WITH FORMAT, 
      MEDIANAME = '介质名称',
      NAME = '备份名称';
      

      其中,[源数据库名]是要备份的数据库的名称,\目标服务器IP\共享文件夹\备份文件名.bak是目标服务器上的共享文件夹路径和备份文件名。

    3. 将备份文件移动到目标服务器上的共享文件夹中。

    4. 在目标服务器上,打开SQL Server Management Studio,连接到目标数据库。

    5. 打开新查询窗口,运行以下还原命令:

      RESTORE DATABASE [目标数据库名]
      FROM DISK = '\\目标服务器IP\共享文件夹\备份文件名.bak'
      WITH MOVE '[源数据库名]_Data' TO '目标路径.mdf',
      MOVE '[源数据库名]_Log' TO '目标路径.ldf',
      REPLACE;
      

      其中,[目标数据库名]是要还原的数据库的名称,\目标服务器IP\共享文件夹\备份文件名.bak是备份文件的路径和文件名,目标路径.mdf和目标路径.ldf是要还原到的目标文件路径。

    通过以上方法,可以实现SQL Server数据库的跨服务器备份。

    1年前 0条评论
  • worktile的头像
    worktile
    Worktile官方账号
    评论

    在SQL中,可以通过以下步骤实现跨服务器备份:

    1. 创建备份文件:首先,在源服务器上创建一个备份文件,保存数据库的完整备份。使用SQL Server Management Studio或SQL Server命令行实用程序(如SqlCmd)来执行备份操作。例如,使用以下命令创建一个备份文件:
    BACKUP DATABASE [YourDatabaseName] TO DISK = 'D:\Backup\YourBackupFile.bak'
    

    将 [YourDatabaseName] 替换为要备份的数据库名称,将 'D:\Backup\YourBackupFile.bak' 替换为要保存备份文件的路径和文件名。

    1. 复制备份文件到目标服务器:通过文件复制或其他文件传输方法,将备份文件从源服务器复制到目标服务器上。确保目标服务器的文件路径可以访问并保存备份文件。

    2. 在目标服务器上还原备份:在目标服务器上,使用SQL Server Management Studio或SQL Server命令行实用程序执行还原操作。例如,使用以下命令还原备份文件:

    RESTORE DATABASE [YourDatabaseName] FROM DISK = 'D:\Backup\YourBackupFile.bak'
    

    将 [YourDatabaseName] 替换为要还原的数据库名称,将 'D:\Backup\YourBackupFile.bak' 替换为备份文件的路径和文件名。还可以提供其他还原选项,如WITH MOVE来指定要将数据库文件放置在目标服务器上的位置。

    1. 配置目标服务器:在目标服务器上,确保正确配置了数据库所需的所有依赖项,如文件路径、权限等。如果数据库的配置与源服务器不同,可能需要做一些额外的配置。

    2. 确认备份完整性:在目标服务器上执行一些测试查询,验证已备份的数据库是否完整且可以正常访问。确保数据库文件在正确的位置,并且没有任何错误或丢失的数据。这有助于确保备份的完整性和可用性。

    通过以上步骤,您可以在不同的SQL服务器之间实现跨服务器备份,并且可以确保备份的数据完整性和可用性。

    1年前 0条评论
  • fiy的头像
    fiy
    Worktile&PingCode市场小伙伴
    评论

    在SQL中跨服务器备份是一种常见的操作,可以帮助保护数据库的数据以及避免数据丢失。这篇文章将详细讨论如何在SQL中进行跨服务器备份,以及相应的方法和操作流程。

    以下是在SQL中跨服务器进行备份的步骤:

    1. 设置主服务器和备份服务器:首先,需要设置主服务器和备份服务器。主服务器是存储要备份的数据库的服务器,而备份服务器是用于存储备份的服务器。

    2. 创建备份设备:在备份服务器上创建一个备份设备,该设备用于存储备份文件。可以使用"sp_addumpdevice"存储过程来创建备份设备。

      例如,以下代码将在备份服务器上创建一个名为"Backup_Device"的备份设备。

      EXEC sp_addumpdevice 'disk', 'Backup_Device', 'C:\Backup\Backup_Database.bak'
      

      这将在C:\Backup\目录下创建一个备份文件"Backup_Database.bak"。

    3. 创建备份任务:在主服务器上创建一个备份任务,该任务将根据一定的计划定期执行备份操作。可以使用SQL Server的作业调度器来创建备份任务。备份任务将使用"BACKUP DATABASE"语句来执行备份操作。

      例如,以下代码将创建一个名为"Backup_Job"的备份任务,每天晚上10点执行备份操作。

      USE msdb
      GO
      
      EXEC sp_add_job
           @job_name = 'Backup_Job',
           @enabled = 1,
           @description = 'Backup Database Job',
           @owner_login_name = N'sa',
           @notify_level_eventlog = 0,
           @notify_level_email = 2,
           @notify_level_netsend = 0,
           @notify_level_page = 0,
           @delete_level = 0
      
      EXEC sp_add_jobstep
           @job_name = 'Backup_Job',
           @step_name = 'Backup Step',
           @subsystem = N'TSQL',
           @command = N'BACKUP DATABASE [YourDatabase] TO Backup_Device WITH INIT',
           @database_name = 'YourDatabase'
      
      EXEC sp_add_jobschedule
           @job_name = 'Backup_Job',
           @name = 'Daily Schedule',
           @enabled = 1,
           @freq_type = 4,
           @freq_interval = 1,
           @freq_subday_type = 1,
           @freq_subday_interval = 0,
           @freq_relative_interval = 0,
           @freq_recurrence_factor = 0,
           @active_start_date = 20211231,
           @active_end_date = 99991231,
           @active_start_time = 220000,
           @active_end_time = 235959
      

      该备份任务使用"sp_add_job"存储过程来创建作业,使用"sp_add_jobstep"存储过程创建作业步骤,使用"sp_add_jobschedule"存储过程创建作业计划。

    4. 测试备份任务:在备份任务创建后,可以手动执行备份任务以进行测试。通过在SQL Server Management Studio中右键点击备份任务并选择"Start Job at Step…",可以手动启动备份任务。

    5. 监视备份过程:备份过程可能需要一些时间,取决于数据库的大小和复杂性。可以通过查看备份服务器上备份设备的文件大小来监视备份进度。

      例如,以下代码将显示"Backup_Device"文件的大小,用以监测备份进度。

      USE master
      GO
      
      SELECT
          physical_device_name,
          backup_size / 1024 AS Backup_Size_KB,
          backup_start_date,
          backup_finish_date
      FROM
          msdb.dbo.backupset bs
      INNER JOIN 
          msdb.dbo.backupmediafamily bmf ON bs.media_set_id = bmf.media_set_id
      WHERE
          physical_device_name = 'Backup_Device'
      

      这将显示备份文件的大小以及备份开始和结束的日期和时间。

    通过以上步骤,您可以在SQL中进行跨服务器备份。这种方法可以确保数据的安全性和可恢复性,以防止主服务器数据丢失。希望这篇文章能够帮助您了解如何在SQL中进行跨服务器备份。

    1年前 0条评论
注册PingCode 在线客服
站长微信
站长微信
电话联系

400-800-1024

工作日9:30-21:00在线

分享本页
返回顶部