zoukankan      html  css  js  c++  java
  • Centos7 下安装以及使用mssql

    Centos7下安装以及使用Mssql,在这下面玩,主要是发现linux环境下的mysql非常的小,小到只有169M,这在windows上面,动撤几个G的安装文件,会让你直接打消使用MSSQL的勇气,废话不多说,进入正题

    分三个部分:

    一 安装MSSQL

    二 安装MSSQL-TOOLS

    三 使用VS连接MSSQL,进行数据库的增删改查以及创建和还原

    ----------------------------------------------------------------------------------------------------------------------------------------------------------------------------------

    一  安装Mssql

    设置yum安装源
    curl https://packages.microsoft.com/config/rhel/7/mssql-server-preview.repo > /etc/yum.repos.d/mssql-server.repo

    注意:这个源的设置非常重要,不然你yum search mssql 连找都找不到

    安装Mssql server
    yum install -y mssql-server

    注意:很多神人和作者动不动就让执行 yum update,我觉得非到万不得己,确实是没有必要啊,伤不起,总之,如果你真不懂这个命令是干啥的,就不要随意瞎执行,会等死你的,而且还会遇到python的问题

    mssql-conf 安装并按照提示操作以设置 SA 密码,并选择你的版本

    /opt/mssql/bin/mssql-conf setup

    选择 SQL Server 的一个版本: 1) Evaluation (免费,无生产许可,180 天限制) 2) Developer (免费,无生产许可) 3) Express (免费) 4) Web (付费版) 5) Standard (付费版) 6) Enterprise (付费版) 7) Enterprise Core (付费版) 8) 我通过零售渠道购买了许可证并具有要输入的产品密钥。

     这里阿三的坑实在是埋的牛逼,不得不服,请选择 1 ,因为我选择2 安装一直是失败,各种找不出原因的错误,选择1就正确了,至于说180天限制,玩完了再说吧

     正常安装完成后,会提示创建了一个软件链接:

     Created symlink from /etc/systemd/system/multi-user.target.wants/mssql-server.service to /usr/lib/systemd/system/mssql-server.service.

     加入开起启动

      systemctl enable mssql-server

      开放防火墙:

    [root@CentOS7 ~]# firewall-cmd --zone=public --add-port=1433/tcp --permanent
    success
    [root@CentOS7 ~]# firewall-cmd --reload
    success使用navicate连接:

    二 安装MSSQL-TOOLS

     工具设置源:curl https://packages.microsoft.com/config/rhel/7/prod.repo >> /etc/yum.repos.d/msprod.repo
     安装sqlcmd工具
     yum install -y mssql-tools

    三 使用VS连接MSSQL,进行数据库的增删改查以及创建和还原

    这里要讲的是如何还原备份到linux数据库1.上传备份到服务器目录去 (winscp,samba等等都可以)2.通过VS连接mssql打开新查询,注意,我们连接到master数据库获取备份文件的逻辑名:

    RESTORE FILELISTONLY
    FROM DISK = N'/var/opt/mssql/data/ysc34.bak'
    Go

    为备份在服务器上面所在的位置   看到逻辑文件分别为:ysc  ysc_log   

    进行还原,注意,有连接话,必须先清掉当前还原数据库的连接:

    RESTORE DATABASE ydysc
    FROM DISK = N'/var/opt/mssql/data/ysc34.bak'
    WITH MOVE 'ysc' TO '/var/opt/mssql/data/ydysc.mdf', 
    MOVE 'ysc_log' TO '/var/opt/mssql/data/ydysc_log.ldf',
    STATS = 10, REPLACE
    GO

    对于有时候会遇到数据库在使用,还原失败的提示的时候,可以使用以下语句进行强制还原:

    use master
    go
    ---声明变量
    declare @dbName nvarchar(max)='hotel_data';
    declare @dbFullName nvarchar(max)=N'/home/sqldata.backup/hotel_backup_20190129.bak'
    --1.1修改为单用模式
    exec(N'ALTER DATABASE '+@dbName+' SET SINGLE_USER WITH ROLLBACK IMMEDIATE');
    --1.2结束链接进程
    DECLARE @kid varchar(max)
    SET @kid=''
    SELECT @kid=@kid+'KILL '+CAST(spid as Varchar(10)) FROM master..sysprocesses
    WHERE dbid=DB_ID(@dbName) ;
    EXEC(@kid) ;
    --2.执行还原语句
    restore database @dbName from disk=@dbFullName
    with replace --覆盖现有的数据库
    --3.重置数据库为多用户模式
    exec(N'ALTER DATABASE '+@dbName+' SET MULTI_USER WITH ROLLBACK IMMEDIATE');

  • 相关阅读:
    Raid5 Raid10性能测试
    MetaData_model_package
    UBoot命令说明
    ubuntu 12.10 配置一个Apache+MySQL+phpMyAdmin环境
    SSH服务器
    VC2008使用boost库方式
    嵌入式Web服务器BOA移植
    利用matlab将数据写入指定列的方法
    error LNK2019: 无法解析的外部符号,解决办法
    在CYGWIN下编译和运行软件Bundler ,以及PMVS,CMVS的编译与使用
  • 原文地址:https://www.cnblogs.com/freewsf/p/10777345.html
Copyright © 2011-2022 走看看