我使用的是Centos7在虚拟机中完成测试
1、下载设置mssql的yum源,执行以下代码,现在sqlserver的linux版本130多兆,网速慢的请等待
curl https://packages.microsoft.com/config/rhel/7/mssql-server.repo > /etc/yum.repos.d/mssql-server.repo sudo yum install -y mssql-server
2、运行首次设置命令,设置密码,如果你的内存小于3G,这一步将无法通过,如果你用虚拟机搭建,请注意
/opt/mssql/bin/sqlservr-setup
3、关闭防火墙,或者允许防火的1433端口
systemctl stop firewalld
此时SQLSERVER已经安装完成,如果以上代码执行全部没有出现错误,那么可以在windows下,用sql server managerment studio来连接测试
4、由于linux和windows系统的盘符路径格式不一样,如果使用sql server图形化管理工具来新建数据库的话,我这里数据库默认创建到了/var/opt/mssql/data/目录下,我想把数据库新建到/var/mymssql下,但是默认情况下sqlserver服务没有操作这个文件夹的权限,需要修改这个文件夹的权限
mkdir /var/mymssql chown mssql:mssql /var/mymssql
5、然后创建数据库,注意这里的路径格式,平时表达linux文件/var/testdb.mdf这样,这里创建要用C:\开头并且/左斜杠要改为\右斜杠
create database testdb on primary ( name='testdb', filename= N'C:\var\testdb.mdf', size=5mb, maxsize=100mb, filegrowth=15% ) log on ( name='testdb_log', filename=N'c:\var\stuDB_log.ldf', size=2mb, filegrowth=1mb )
6、修改数据库默认排序规则,否则数据库中文会乱码,执行这一步骤时,数据库要是刚创建的,否则无法执行通过
ALTER DATABASE testdb COLLATE Chinese_PRC_CI_AS
7、建表和测试
create table classtable( id int primary key identity(1,1) not null, classname nvarchar(max) ) go insert into classtable values('班级1') insert into classtable values('班级2') go create table usertable( id int primary key identity(1,1) not null , name nvarchar(max) not null, sex bit , classid int foreign key references classtable(id) ) go insert into usertable values('学生1' , 1 , 1) insert into usertable values('学生2' , 1 , 2) select * from classtable select * from usertable
结束!