作者:西瓜程序猿
主页传送门:https://www.cnblogs.com/kimiliucn
服务器版本:Windows Server 2016
数据库版本:SQL Server 2016
当时买了一台Windows Server服务器,然后安装上SQL Server后,想通过外网访问到数据库,遇到了一些问题,查了很多资料也踩了很多坑。本文主要介绍如何配置SQL Server远程连接?如何新增管理员用户等等。
一、如何配置SQL Server远程连接?
1.1-配置远程连接
(1)在服务器上安装SQL Server后,然后打开数据库,用本地Windows身份帐户登录。
(2)然后右击第一个服务器选项,点击【属性】。
(3)然后在属性窗口点击【连接】,然后再左侧勾选上"允许远程连接到此服务器"。
1.2-为MSSQLServer配置相应协议
(1)在服务器上依次点击:开始——>所有程序——>Microsoft SQL Server 2008——>配置工具——>SQL Server配置管理器。
如果找不到【SQL Server配置管理器】,也可以使用以下命令的方法打开:
首先按键盘上的"Windows+R"键盘,然后输入命令打开,注意不同的SQLServer版本对应的命令不一样。
命令:
SQLServerManager15.msc(对于 SQL Server 2019 )
SQLServerManager14.msc(对于 SQL Server 2017 )
SQLServerManager13.msc(对于 SQL Server 2016 )
SQLServerManager12.msc(对于 SQL Server 2014)
SQLServerManager11.msc(对于 SQL Server 2012 )
SQLServerManager10.msc(对于 SQL Server 2008 )
截图:
(2)打开【SQL Server配置管理器】后,选择【SQL Server网络配置】下面的【MSSQLSERVER的协议】,然后看右边里面的TCP/IP是否为"已启用",如果没有开启记得要开启一下。
双击,然后在Enabled中选择【是】:
(3)右键【TCP/IP】,然后点击【属性】,找到数据库安装服务器所对应的静态IP地址所对应的选项,本例为IP4,将TCP动态端口去掉,TCP端口改为1433(默认就是1433),【活动(英文:Action)】和【已启用(英文:Enabled)】改为【是】。
IPALL配置端口:
1.3-检查SQLServer服务器防火墙设置
如果想要快捷设置,直接关闭防火墙,但是不建议这么干,不安全。
(1)操作这一步时,首先找到SQL服务器上那个端口支持【TCP/IP协议】。用户可以在SQL服务器防火墙已经处于运行状态下,右击【TCP/IP协议】选择【属性】。
从上图中我们可以看出,这台SQL服务器上支持TCP/IP协议的是【1433】端口。下一步要做的是在防火墙的配置中允许1433端口支持TCP/IP协议即可。
(2)如果服务器上运行的是Windows Server操作系统,其配置步骤为(其他微软操作系统的做法类似),打开"高级安全 Windows 防火墙"。
(3)打开后会发现在左边菜单栏中有“入站规则(Inboud Rules)”选项。将该选项打开,并在右边菜单栏中选择“新建规则(New Rule)”选项:
(4)打开“新建规则”选项后,利用“新内置绑定规则向导”为【1433】端口配置“内部绑定协议”配置为适用于TCP/IP协议即可。(前提是,需要完成该步骤以前所述的所有步骤),根据下面的几幅图为1433端口配置适用于1433端口即可。
(5)如果是云服务:需要登录腾讯云/阿里云开放SQL Server端口。
最后点击“完成”即可。测试方法:在局域网内找一台电脑,打开SQLServer数据库,然后输入你的Ip和密码,如果能连接上,就说明已经配置好了。
(5)重启服务器。
二、如何新增管理员用户?
如果还连接不上,估计是sa的密码错了或者其他原因,那我们重新新建一个远程用户连接试试。
(1)首先在服务器上本地登录SQLServer,然后展开【安全性】——>【登录名】。可以看到所有用户列表。
(2)右击【登录名】,点击【新建登录名】。
(3)然后选择【SQL Server身份验证】,输入【密码/确认密码】。后面的强制实施密码策略/强制密码过期/用户在下一次登录是必需更改密码 等设置可根据自行需求设置,然后点击确认即可。
三、如何删除SQL Server某个数据库中所有的表?
代码示例:
use 数据库名(是要删除某个数据库的名称,例如[西瓜程序猿DB])
GO
declare @sql nvarchar(8000)
while (select count(*) from sysobjects where type='U')>0
begin
SELECT @sql='drop table ' + name
FROM sysobjects
WHERE (type = 'U')
ORDER BY 'drop table ' + name
exec(@sql)
end;
原文链接:https://www.cnblogs.com/kimiliucn/p/17656685.html
文章来源: 博客园
- 还没有人评论,欢迎说说您的想法!