文章目录
前言
服务器存储空间受限,只安装数据库引擎服务,不安装管理工具SSMS。本文使用 SQL Server 2019 Express,
一、安装SQL服务,不安装SSMS(管理工具)
1.下载MSSQL 2019
2.安装MSSQL,不安装SSMS
其他的默认。
身份验证模式,使用【Windows 身份验证模式】。如果使用【混合模式】,后面不需要再使用sqlcmd修改sa密码
3.启动SQL Server Browser
cmd -> services.msc -> 选中【SQL Server Browser】
二、下载sqlcmd,测试连接
1.下载sqlcmd
2.测试连接
sqlcmd -S "WIN-RQ3DAT9LM9U\MSSQLSERVER"
-- 查看版本
select @@version
go
WIN-RQ3DAT9LM9U 是计算机名
MSSQLSERVER 是实例名
三、修改SQL的身份验证模式,默认为1
1表示Windows身份验证模式,2表示SQL Server和Windows身份验证模式
修改注册表
HKEY_LOCAL_MACHINE\SOFTWARE\Microsoft\Microsoft SQL Server\MSSQL10.SQLEXPRESS\MSSQLServer
LoginMode的键值,1修改为2
记得重启SQL服务
四、sqlcmd连接sa账户
1.连接默认数据库引擎
-- 连接默认数据库引擎
sqlcmd -S "WIN-RQ3DAT9LM9U\MSSQLSERVER"
-- 启用sa用户
ALTER LOGIN sa ENABLE
GO
-- 设置sa用户的密码
alter login sa with password='@123456ChaoJun'
GO
-- 退出sqlcmd
exit
2.登录sa账户
sqlcmd -S "WIN-RQ3DAT9LM9U\MSSQLSERVER" -U "sa" -P "@123456ChaoJun"
-- 查看数据库
select name from master.dbo.sysdatabases
go
-- 查看表
use master
go
select name from sysobjects where xtype='U'
go
-- 查看字段
select c.name,c.length from syscolumns c inner join sysobjects t on c.id = t.id and t.name='spt_monitor'
go
五、SSMS远程数据库
1.数据库所在计算机,启动TCP/IP
记得重启SQL服务
2.数据库所在计算机,关闭防火墙
测试用,直接关闭防火墙。
生产环境,不建议关闭防火墙,建立入站规则
2.1 端口(Port) -> TCP -> 1433 -> 选中三个(Domain, Private, and Public) -> 名称【SQL - TCP 1433】
2.2 端口(Port) -> UDP -> 1433 -> 选中三个(Domain, Private, and Public) -> 名称【SQL - UDP 1433】
2.3 开放程序sqlservr.exe:
程序(Program) ->【安装路径】-> 选中三个(Domain, Private, and Public) -> 名称【SQL – Sqlservr.exe】
C:\Program Files\Microsoft SQL Server\MSSQL15.MSSQLSERVER\MSSQL\Binn\sqlservr.exe
2.4 开放程序sqlservr.exe:
程序(Program) ->【安装路径】-> 选中三个(Domain, Private, and Public) -> 名称【SQL – Sqlbrowser.exe】
C:\Program Files (x86)\Microsoft SQL Server\90\Shared\sqlbrowser.exe
参考:Configuring a SQL Server for Remote Connections
3.本地计算机查看远程端口是否开放(非必要)
-- 192.168.1.108 为远程计算机IP
telnet 192.168.1.108 1433
4.本地计算机SSMS远程数据库
六、其他端口连接,请参考文章配置
Access Microsoft SQL Server remotely with command prompt - Remote SQLCMD
总结
在不适合安装SSMS管理工具的情况,理论上可使用sqlcmd对数据库进行全部操作,实际操作过程感觉不是很方便。
参考文章:
1.sqlcmd启用并连接sa用户
2.SQL Server: enable remote connections without SSMS
3.sqlcmd命令介绍