官网完整教程:https://www.microsoft.com/zh-cn/sql-server/sql-server-downloads
先决条件
你必须 RHEL 7.3 或 7.4 机至少 3.25 GB的内存。
本人centos7.2也可以安装成功
安装 sql Server
1、下载 Microsoft sql Server Red Hat 存储库配置文件:
sudo curl -o /etc/yum.repos.d/mssql-server.repo https://packages.microsoft.com/config/rhel/7/mssql-server-2017.repo
2、运行以下命令,安装 sql Server:
sudo yum install -y mssql-server
sudo /opt/mssql/bin/mssql-conf setup
备注:请确保为 SA 帐户指定强密码(最少 8 个字符,包括大写和小写字母、十进制数字和/或非字母数字符号)。
systemctl status mssql-server
sudo firewall-cmd --zone=public --add-port=1433/tcp --permanent sudo firewall-cmd --reload
此时,sql Server 正在您 RHEL 的计算机上运行并且已准备好使用 !
安装 sql Server 命令行工具
若要创建数据库,你需要使用一种工具,可以在 sql Server 上运行 TRANSACT-sql 语句进行连接。 以下步骤安装 sql Server 命令行工具:sqlcmd和bcp。1、 下载 Microsoft Red Hat 存储库配置文件。
sudo curl -o /etc/yum.repos.d/msprod.repo https://packages.microsoft.com/config/rhel/7/prod.repo
sudo yum remove unixODBC-utf16 unixODBC-utf16-devel
3、 运行以下命令以安装 与 unixODBC 开发人员包。
sudo yum install -y mssql-tools unixODBC-devel
为方便起见,添加/opt/mssql-tools/bin/
到你路径环境变量。
这使您可以运行工具,而无需指定完整路径。
运行以下命令以修改路径登录会话和交互式/非-登录会话:
echo 'export PATH="$PATH:/opt/mssql-tools/bin"' >> ~/.bash_profile echo 'export PATH="$PATH:/opt/mssql-tools/bin"' >> ~/.bashrc source ~/.bashrc
本地连接
以下步骤使用 sqlcmd 本地连接到新的 sql Server 实例。
1、使用 sql Server 名称 (-S),用户名 (-U) 和密码 (-P) 的参数运行 sqlcmd。在本教程中,用户进行本地连接,因此服务器名称为localhost
。用户名为SA
,密码是在安装过程中为 SA 帐户提供的密码。
sqlcmd -S localhost -U SA -P '<YourPassword>'
使用备份和还原将 sql Server 数据库从 Windows 迁移到 Linux
1、现在window的客户端工具把bak文件传到linux上
在 Linux 上的将数据库还原
若要还原数据库备份,你可以使用RESTORE DATABASETRANSACT-sql (TQL) 命令。
1、在相同的终端中,启动sqlcmd。下面的示例连接到具有的本地 sql Server 实例SA用户。输入的密码出现提示时,或通过添加指定的密码-P参数。
sqlcmd -S localhost -U SA
2、 在
>1
提示符下,输入以下RESTORE DATABASE命令,每个行 (不能复制并粘贴整个多行命令一次) 后按 enter 键。
将出现的所有YourDB
替换为你的数据库的名称。
RESTORE DATABASE YourDB FROM DISK = '/var/opt/mssql/backup/YourDB.bak' WITH MOVE 'YourDB' TO '/var/opt/mssql/data/YourDB.mdf',MOVE 'YourDB_Log' TO '/var/opt/mssql/data/YourDB_Log.ldf' GO
这里注意事项:
2、两个逻辑文件mdf、ldf必须要查询清楚原备份文件的逻辑文件的名称,不然会还原失败。
或者运行sql
RESTORE FILELISTONLY FROM DISK = 'db.bak'
列出逻辑文件