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');

Centos7 下安装以及使用mssql的更多相关文章

  1. CentOS7 下 安装 supervisor以及使用

    CentOS7 下 安装 supervisor 以及使用 手动安装 [注] linux环境必须安装 python 1.获取supervisor包:[https://pypi.python.org/py ...

  2. Linux CentOs7 下安装 redis

    Linux CentOs7 下安装 redis 请将以下命令放入linux命令行中运行 如果安装过程前没有安装GCC请先安装  命令如下 $ yum install gcc-c++ $ wget ht ...

  3. Centos7下安装配置Redsocks

    Redsocks是一个开源的网络程序,代码依赖开源的libevent网络库.Redsocks允许你将所有TCP连接重定向到SOCKS或HTTPS代理,比如Shadowsocks(Centos7下安装配 ...

  4. CentOS7下安装SVN服务端

    CentOS7下安装SVN服务 1. yum命令即可方便的完成安装# sudo yum install subversion 测试安装是否成功:# svnserve --version 更改svn的默 ...

  5. centOS7下安装GUI图形界面

    1.如何在centOS7下安装GUI图形界面 当你安装centOS7服务器版本的时候,系统默认是不会安装GUI的图形界面程序,这个需要手动安装CentOS7 Gnome GUI包. 2.在系统下使用命 ...

  6. CentOS7下安装MySQL并配置远程连接

    一.CentOS7下安装MySQL数据库 CentOS7默认的安装包里面已经没有 MySQL-Server安装包了,远程镜像中也没有了. 默认的是MariaDB (MySQL的一个分支,开发这个分支的 ...

  7. Docker学习笔记3:CentOS7下安装Docker-Compose

    Docker-Compose是一个部署多个容器的简单但是非常必要的工具. 安装Docker-Compose之前,请先安装 python-pip,请参考我的另一篇博文CentOS7下安装python-p ...

  8. docker(一) Centos7下安装docker

    docker(一) Centos7下安装dockerdocker(二) windows10下安装dockerdocker(三) 镜像和容器常用命令 docker(四) 使用Dockerfile构建镜像 ...

  9. centos7 下 安装部署nginx

    centos7 下 安装部署nginx 1.nginx安装依赖于三个包,注意安装顺序 a.SSL功能需要openssl库,直接通过yum安装: #yum install openssl b.gzip模 ...

随机推荐

  1. POJ-1845 Sumdiv---因子和(快速幂+快速加法+因子和公式)

    题目链接: https://cn.vjudge.net/problem/POJ-1845 题目大意: 求AB的因子和 解题思路: 先将A质因数分解,然后B次方的质因数指数就是乘上B即可 这里要mod9 ...

  2. AsyncTask基础知识

    大家都知道,在子线程中是不能更新UI的,必须要采用异步消息处理机制.一般的做法就是在有需要的地方,使用Handler发送消息给主线程,然后在主线程中处理消息更新UI.如果好多子线程都有更新UI的需求, ...

  3. 2.为ADF应用添加安全性认证

    1.打开ADF应用之后,选择Application==>Secure==>Configure ADF Security 2.在弹出框中选择ADF Authentication,一直Next ...

  4. YII中使用SOAP一定要注意的一些东西

    SiteController.php 在Yii框架下使用soap接口的时候,需要注意几个问题:: 1 服务器要打开soap功能,在phpinfo里搜soap,如果已经打开了的话有个大标题就是SOAP2 ...

  5. UVa 658 - It's not a Bug, it's a Feature!(Dijkstra + 隐式图搜索)

    链接: https://uva.onlinejudge.org/index.php?option=com_onlinejudge&Itemid=8&page=show_problem& ...

  6. 转:Json序列化和反序列化

    JSON是专门为浏览器中的网页上运行的JavaScript代码而设计的一种数据格式.在网站应用中使用JSON的场景越来越多,本文介绍 ASP.NET中JSON的序列化和反序列化,主要对JSON的简单介 ...

  7. java中数据类型的范围

    前言:最近:本菜鸡在准备pat,可以每次遇到数据类型的时候都得去查找范围,因此本着学习的目的,来总结一下java中的数据类型. 因此我用mindManager做了一个思维图

  8. Mac--查看公钥

    打开macbook的终端输入以下命令: $ cd ~/.ssh $ ls $ cat id_rsa.pub

  9. vue的实例

    vue的实例 创建一个vue实例的写法和创建一个变量一样 var vm = new Vue{{ //我们一般用vm来接收vue的实例,vm是 ViewModel的缩写 }} 然后,我们就可以给vue实 ...

  10. 30行代码实现js原生三级联动菜单

    var oneArr=[['00','成都'],['01','绵阳'],['02','南充']] var towArr={ '00':[['000','武侯区'],['002','锦江区']], '0 ...