我需要将数据库从远程服务器复制到本地服务器。我尝试使用SQL Server Management Studio,但它只备份到远程服务器上的驱动器。
一些要点:
我不能以复制文件的方式访问远程服务器; 我没有权限设置一个UNC路径到我的服务器;
知道如何复制这个数据库吗?我是否需要使用第三方工具?
我需要将数据库从远程服务器复制到本地服务器。我尝试使用SQL Server Management Studio,但它只备份到远程服务器上的驱动器。
一些要点:
我不能以复制文件的方式访问远程服务器; 我没有权限设置一个UNC路径到我的服务器;
知道如何复制这个数据库吗?我是否需要使用第三方工具?
当前回答
仅复制数据和模式(不会复制存储过程,函数等),使用SQL Server导入导出向导,并选择新建…当选择目标数据库时。
右键单击“数据库>任务>导入数据”。
选择数据源
数据源:SQL Server本机客户端 服务器名称:远程服务器 身份验证: Database:数据库名称
选择目的地
数据源:SQL Server本机客户端 服务器名称:本地服务器 身份验证: 数据库:新…
剩下的就很简单了。
其他回答
你可以使用复制数据库…右键单击远程数据库…选择任务并使用复制数据库…它会询问您源服务器和目标服务器。您的源是远程的,目标是SQL server的本地实例。
就是这么简单
如果您在本地网络中,则可以共享本地计算机上的一个文件夹,并将其用作备份的目标文件夹。
例子:
本地文件夹: URL: \\MyMachine\MySharedFolder 远程SQL Server: 选择您的数据库->任务->备份->目的地->添加->应用'\\MyMachine\MySharedFolder\BACKUP_NAME.bak'
使用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
创建一个本地共享文件夹,具有“everyone”读写权限
连接到目标数据库,开始备份并像下面那样指向共享
\ mymachine \ shared_folder \ mybackup.bak
(Windows域环境试用)
您不能从远程服务器创建备份到本地磁盘—根本没有办法做到这一点。据我所知,也没有第三方工具可以做到这一点。
您所能做的就是在远程服务器机器上创建备份,然后让其他人将其压缩并发送给您。