2016-12-05 76 views
0

我想恢复托管在Linux VM上的SQL服务器上的数据库备份。备份文件放置在Windows文件系统网络路径中。我安装在linux/home/user中该路径/ WINMAP/恢复在Linux上托管的SQL服务器上的备份虚拟机

现在,当我试图使用恢复屏幕来恢复数据库备份,我看到像

C中的路径:\ VAR \选择\ MSSQL \数据

。我不能在那里看到我的安装路径是

/家庭/用户/ WINMAP/

,这样我可以恢复我的备份。

任何想法如何处理SQL Server中的Linux文件系统将不胜感激。

TIA

+0

请问Linux上的SQL用户可以访问路径? – MihaelaBlendea

+0

我不太了解Linux,因此可能需要对此进行研究。安装SQL服务器的用户有权访问路径,一定有权访问。 –

回答

1

不使用SSMS ..以及使用参考从这里开始:Restore a SQL Server database from Windows to Linux

下一步,一旦你放置备份文件在Linux中备份文件移动到/var/opt/mssql

这可能是使用

移动备份文件 此时,备份文件位于Linux服务器上。在将数据库恢复到SQL Server之前,您必须将备份放置在/ var/opt/mssql的子目录中。

在包含备份的目标Linux机器上打开终端。

进入超级用户模式。

须藤苏

创建一个新的备份目录。如果该目录已经存在,则-p参数不执行任何操作。

mkdir -p /var/opt/mssql/backup 

移动备份文件到该目录。在以下示例中,备份文件驻留在user1的主目录中。更改命令以匹配您计算机上AdventureWorks2014.bak的位置。

mv /home/user1/AdventureWorks2014.bak /var/opt/mssql/backup/ 

退出超级用户模式。

exit 

现在恢复,你必须使用SQLCMD ..

在同一个终端,推出SQLCMD。以下示例使用SA用户连接到本地SQL Server实例。提示时输入密码或使用-P参数指定密码。

sqlcmd -S localhost -U SA 

连接后,进入下面的RESTORE命令DATABSE,每一行后按ENTER键。下面的示例恢复/var/opt/mssql/backup directory中的AdventureWorks2014.bak文件。

RESTORE DATABASE AdventureWorks 
FROM DISK = '/var/opt/mssql/backup/AdventureWorks2014.bak' 
WITH MOVE 'AdventureWorks2014_Data' TO '/var/opt/mssql/data/AdventureWorks2014_Data.mdf', 
MOVE 'AdventureWorks2014_Log' TO '/var/opt/mssql/data/AdventureWorks2014_Log.ldf' 
GO 
+0

感谢您的帮助!我的要求是从网络位置恢复备份。基本上我们有大量的备份存储在一个集中的网络位置。在VM上复制它们会花费我们宝贵的磁盘空间。 –

相关问题