我需要将数据库从远程服务器复制到本地服务器。我尝试使用SQL Server Management Studio,但它只备份到远程服务器上的驱动器。

一些要点:

我不能以复制文件的方式访问远程服务器; 我没有权限设置一个UNC路径到我的服务器;

知道如何复制这个数据库吗?我是否需要使用第三方工具?


当前回答

您可以尝试SQLBackupAndFTP。它将创建脚本来创建数据库中的所有对象,并为表中的所有行创建INSERT语句。在任何数据库中都可以运行此脚本文件,整个数据库将被重新创建。

其他回答

为此,我使用Redgate备份pro 7工具。您可以创建镜像从备份文件在创建瓷砖在其他位置。在网络和主机存储上创建备份文件后,可以自动复制备份文件。

使用SQL Server 2019中的存储过程

CREATE PROCEDURE [dbo].[BackupDB]
@backupPath nchar(200), 
@dbname nchar(50)
AS
BEGIN
    SET NOCOUNT ON;
    DECLARE @backupDate as nchar(10) 
    SELECT @backupDate = CONVERT(VARCHAR(10),GETDATE(),112) 
    IF DB_ID(TRIM(@dbname)) IS NOT NULL
    BEGIN
        SET @backupPath = TRIM(@backupPath) + TRIM(@dbname) + '_' + TRIM(@backupDate) + '.BAK'
        BACKUP DATABASE @dbname TO DISK = @backupPath
    END 
END
GO

我以前也可以这么做……要做到这一点,你必须在远程服务器上打开一个共享。然后您可以直接将备份放在共享本身,而不是默认位置…

通常管理员会将备份文件保存在某个共享文件夹中与我们共享。我试过了,如果我把备份放在那里。它工作。

您不能从远程服务器创建备份到本地磁盘—根本没有办法做到这一点。据我所知,也没有第三方工具可以做到这一点。

您所能做的就是在远程服务器机器上创建备份,然后让其他人将其压缩并发送给您。

如果您在本地网络中,则可以共享本地计算机上的一个文件夹,并将其用作备份的目标文件夹。

例子:

本地文件夹: URL: \\MyMachine\MySharedFolder 远程SQL Server: 选择您的数据库->任务->备份->目的地->添加->应用'\\MyMachine\MySharedFolder\BACKUP_NAME.bak'