zoukankan      html  css  js  c++  java
  • Linux下SQL Server安装及数据库迁移

    有客户使用Linux服务器,SQL Server从2017开始已支持Linux,从未用过,今天测试了一下,比较简单,记录一下。

    Linux:CentOS 7.0

    首先更新源:

    curl -o /etc/yum.repos.d/mssql-server.repo https://packages.microsoft.com/config/rhel/7/mssql-server-2017.repo

    然后安装:

    yum install -y mssql-server

    安装完后配置:

    /opt/mssql/bin/mssql-conf setup

    好了,就这么简单!

    然后测试从windows sql server 2008 R2迁移至Linux SQL Server 2017下。

    首先在windows下备份数据库,比如是a.bak,将备份文件上传至Linux。Linux默认数据路径是/var/opt/mssql/data。然后在Linux下运行命令:

    RESTORE DATABASE newdbname FROM DISK = '/var/opt/mssql/data/a.bak'
    WITH
    MOVE 'db1' TO '/var/opt/mssql/data/newdb.mdf',
    MOVE 'db1_log' TO '/var/opt/mssql/data/newdb_log.ldf', STATS = 1, REPLACE, RECOVERY

    此处注意,newdbname为新创建的数据库名字,而db1和db2_log为原数据库中的逻辑数据文件的名字。

    设置防火墙:

    sudo firewall-cmd --zone=public --add-port=1433/tcp --permanent
    sudo firewall-cmd --reload 


    CentOS7防火墙相关命令:

    //临时关闭
    systemctl stop firewalld
    //禁止开机启动
    systemctl disable firewalld
    Removed symlink /etc/systemd/system/multi-user.target.wants/firewalld.service.
    Removed symlink /etc/systemd/system/dbus-org.fedoraproject.FirewallD1.service.

    恢复成功,然后可以用SSMS或navicat或Azure Data Studio等工具正常连接数据库使用了。

    安装mssql-tools:

    添加源:

    curl https://packages.microsoft.com/config/rhel/7/prod.repo > /etc/yum.repos.d/msprod.repo

    安装:

    yum install mssql-tools unixODBC-devel

     添加登录会话访问路径:

    echo 'export PATH="$PATH:/opt/mssql-tools/bin"' >> ~/.bash_profile

    source ~/.bash_profile

    交互式/非登录会话:

    echo 'export PATH="$PATH:/opt/mssql-tools/bin"' >> ~/.bashrc

    source ~/.bashrc

    总体很简单,很Microsoft !  :-)

  • 相关阅读:
    分段、分页&&内存碎片、外存碎片
    mysql中的事务处理
    算法的在线演示网站
    为什么要使用树以及使用什么树
    平衡多叉树--B-Tree(B树)
    MVCC--多版本并发控制机制
    mysql中的锁
    平衡二叉树--红黑树(RB-Tree)
    平衡二叉树--AVL树
    自平衡方式--旋转
  • 原文地址:https://www.cnblogs.com/GarfieldTom/p/11431746.html
Copyright © 2011-2022 走看看