MSSQL是什么?

MSSQL是指微软SQLServer数据库服务器,它是一个数据库平台,提供数据库的从服务器到终端的完整的解决方案,其中数据库服务器部分,是一个数据库管理系统,用于建立、使用和维护数据库。SQL Server一开始并不是微软自己研发的产品,而是当时为了要和IBM竞争时,与Sybase合作所产生的,其最早的发展者是Sybase,同时微软也和Sybase合作过 SQL Server 4.2版本的研发,微软亦将SQL Server 4.2移植到Windows NT(当时为3.1版),在与Sybase终止合作关系后,自力开发出SQL Server 6.0版,往后的SQL Server即均由微软自行研发

MSSQL数据库概述

MSSQL是大步份版本收费的关系型数据库服务器软件

SQL Server主要在常见的互联网公司使用。

2016年推出 linux版。

由于微软和Linux的紧密的联系的建立,Linux系统管理员如果想始终保持在他们的事业顶端,需要有关于MS SQL Server的渊博知识。

安装包位置:https://packages.microsoft.com//rhel/7/

我们这次用的是mssql-server-preview/下的mssql-server-15.0.1100.94-1.x86_64.rpm

MSSQL安装

  1. 下载好上述安装包
  2. 把虚拟机内存调整为4G
  3. 用共享账号vina把安装包转移到/home/vina
  4. 进入/home/vina,执行安装命令

命令:

cd /home/vina

yum -y install mssql-server-15.0.2000.5-5.x86_64.rpm

结果:

 

MSSQL配置

  1. 进入安装目的目录/opt/mssql/bin/   命令:cd /opt/mssql/bin/
  2. 把当前目录加入系统路径                PATH=$PATH:$PWD
  3. 执行配置脚本mssql-conf                ./mssql-conf setup
  4. 选择开发版2和简体中文10,并输入sa(mssql的系统管理账号)用的较复杂密码两遍

结果:

  1. 启动mssql-server                      systemctl start mssql-server
  2. 确认mssql-server已经运行             systemctl status mssql-server

结果:

 

MSSQL工具安装

1、指定工具源         curl -o /etc/yum.repos.d/msprod.repo https://packages.microsoft.com/config/rhel/7/prod.repo/

2、开始安装mssql-tools                 yum -y install mssql-tools

3、将mssql-tools安装目录加入系统路径(未关机生效)。    PATH=$PATH:/opt/mssql-tools/bin

4、将mssql-tools安装目录加入系统路径(开机即生效)。     

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

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

# source ~/.bashrc

5、确认可以登录mssql     sqlcmd -U sa -P Aa123456

结果:

 

#MSSQL安装后网卡找不到,请输入如下命令

# chkconfig NetworkManager off

# chkconfig network on

# service NetworkManager stop

# service network start

MSSQL使用-创建库、表

  1. 建库

1> create database auth;

2> go

  1. 打开库

1> use auth;

2> go

  1. 建表

1> create table info(code char(10) not null,name char(20),primary key(code));

2> go

结果:

 

MSSQL使用-记录操作

1、插入记录

1> insert into info(code,name) values('10086','zhangsan');

2> insert into info(code,name) values('10087','lisi');

3> go

2、显示记录

1> select * from info ;

2> go

3、更新记录

1> update info set name='wangwu' where code='10087';

2> select * from info;

3> go

结果:

 

MSSQL使用-查询库、表和记录

  1. 查询系统所有数据库(可获得库存储位置/var/opt/mssql/data,注意有两个同名文件)

1> select * from sysdatabases;(系统所有库名)

2> go

1> select name,filename from sysdatabases;

2> go

  1. 查询当前库所有的表(系统所有表名)

1> select * from sysobjects where xtype='u';

2> go

  1. 只显示当前库的表名

1> select name from sysobjects where xtype='u';

2> go

  1. 查询当前库某表(info)的结构

1> select name from syscolumns where id=object_Id('info');

2> go

结果:

 

数据库的备份与恢复

方法1:可直接备份目录 /var/opt/mssql/data /相关mdf文件

方法2:使用sqlcmd中备份与恢复命令

备份操作(请cd /home/vina再执行以下命令)

//创建数据库备份文件夹

# mkdir -pv /home/vina/databackup

//mssql授予上述文件夹的权限

# chown -R mssql:mssql /home/vina/databackup

//mssql通过/home/vina进入databackup权限

#chmod 705 /home/vina

//登录数据库

 sqlcmd -S 127.0.0.1 -U sa

//备份数据库到指定路径

 1> backup database auth to disk='/home/vina/databackup/auth-11.20.bak' ;

 2> go

结果:

 

恢复操作

// 登录数据库

#sqlcmd -S 127.0.0.1 -U sa

// 查出备份文件的逻辑文件名(很重要!!!不然会报错)

RESTORE FILELISTONLY FROM DISK ='/home/vina/databackup/auth-11.20.bak';

// 这个时候会显示两条数据,可能在Linux下数据会很乱,你找到里面的第一列LogicalName对应的值那列中原库文件和日志文件名然后进行还原

1> RESTORE DATABASE auth FROM DISK ='/home/vina/databackup/auth-11.20.bak'   WITH replace,

2> MOVE 'auth' TO  '/var/opt/mssql/data/auth.mdf',

3> MOVE 'auth_log' TO '/var/opt/mssql/data/auth_Log.ldf';

4> go

结果:

 

学习收获

通过本次实验我们学会了学会MSSQL-SERVER for centos7安装、MSSQL-TOOLS安装与使用、MSSQL数据库的备份与恢复。

Logo

欢迎加入我们的广州开发者社区,与优秀的开发者共同成长!

更多推荐