[软件技术] SQL Server 2016 在Windows Server 2012 R2 上的初步安装与远程连接实战(一):初步配置

0
回复
225
查看
[复制链接]
  • TA的每日心情
    郁闷
    2024-4-24 14:15
  • 签到天数: 108 天

    [LV.6]常住居民II

    2356

    主题

    2361

    帖子

    0

    积分

    管理员

    Rank: 9Rank: 9Rank: 9

    积分
    0
    发表于 2022-2-24 09:17:52 | 显示全部楼层 |阅读模式
    1.安装过程没有什么说头
    2.下载并安装SSMS(SQLServer Management Studio),目前已更新到2017.1
    3.使用SSMS登陆数据库
    第一次选择Windows 身份验证,可免密码直接登陆。
    L3Byb3h5L2h0dHBzL2ltYWdlczIwMTcuY25ibG9ncy5jb20vYmxvZy8xMTU5MDQwLzIwMTcxMC8xMTU5MDQwLTIwMTcxMDI1MDExODUwNTE5LTEyNjI5MDkyMjcucG5n.jpg
    3.登陆后,创建自己的数据库
    右键数据库文件夹,点击新建数据库。
    L3Byb3h5L2h0dHBzL2ltYWdlczIwMTcuY25ibG9ncy5jb20vYmxvZy8xMTU5MDQwLzIwMTcxMC8xMTU5MDQwLTIwMTcxMDI1MDExODU2ODYzLTE0MTEyNDQ4Mi5wbmc=.jpg
    4.作为开发测试,只使用默认的配置,简单填写后直接确定
    L3Byb3h5L2h0dHBzL2ltYWdlczIwMTcuY25ibG9ncy5jb20vYmxvZy8xMTU5MDQwLzIwMTcxMC8xMTU5MDQwLTIwMTcxMDI1MDExOTAwOTU3LTY2OTY1NjY4MS5wbmc=.jpg
    数据库名是连接字符串中的Initial Catalog
    5.为新建的数据库添加远程登陆用户名和密码
    在安全性文件夹中的登陆名文件夹上右键,新建登陆名。
    L3Byb3h5L2h0dHBzL2ltYWdlczIwMTcuY25ibG9ncy5jb20vYmxvZy8xMTU5MDQwLzIwMTcxMC8xMTU5MDQwLTIwMTcxMDI1MDExOTA3NTM1LTE4NTk3NDYyMjIucG5n.jpg
    6.配置登陆名
    此处需要配置多项,首先是User ID与密码,可勾选强制实施密码策略、强制密码过期和下次登陆时必须修改密码,由于是新建管理员,所以并不设密码过期。
    L3Byb3h5L2h0dHBzL2ltYWdlczIwMTcuY25ibG9ncy5jb20vYmxvZy8xMTU5MDQwLzIwMTcxMC8xMTU5MDQwLTIwMTcxMDI1MDExOTEzMTYwLTE1NDQ3ODU1NTgucG5n.jpg
    7.勾选服务器角色
    一般会勾选public,如果是管理员,还要勾选sysadmin
    L3Byb3h5L2h0dHBzL2ltYWdlczIwMTcuY25ibG9ncy5jb20vYmxvZy8xMTU5MDQwLzIwMTcxMC8xMTU5MDQwLTIwMTcxMDI1MDExOTE2ODAxLTI0OTQ2ODg1MS5wbmc=.jpg
    8.勾选用户映射
    即确定用户是映射自哪个数据库的。由于我是管理员,所以角色成员勾选的比较多,别忘了public角色成员。
    L3Byb3h5L2h0dHBzL2ltYWdlczIwMTcuY25ibG9ncy5jb20vYmxvZy8xMTU5MDQwLzIwMTcxMC8xMTU5MDQwLTIwMTcxMDI1MDExOTIxMTc2LTY3MDk2NDIzMy5wbmc=.jpg
    9.安全对象使用默认,状态设置中选择授予和启用。
    L3Byb3h5L2h0dHBzL2ltYWdlczIwMTcuY25ibG9ncy5jb20vYmxvZy8xMTU5MDQwLzIwMTcxMC8xMTU5MDQwLTIwMTcxMDI1MDExOTI0ODYzLTEyNzUxODY4NjEucG5n.jpg
    10.断开旧连接,使用新建的用户名和密码登陆,测试连接是否成功。
    L3Byb3h5L2h0dHBzL2ltYWdlczIwMTcuY25ibG9ncy5jb20vYmxvZy8xMTU5MDQwLzIwMTcxMC8xMTU5MDQwLTIwMTcxMDI1MDExOTMwNjYwLTE4MzYxMzM5NDcucG5n.jpg
    服务器名称是连接字符串中的DataSource,远程登陆的话,身份验证选择SqlServer身份验证,这样可以填写账号和密码。默认账号为SA,默认密码为安装时填写的密码。但此处我们填写刚刚新建的用户和密码。
    11.A若登陆测试成功,则下一步应该配置防火墙,
    11.B否则使用Sql Server Configuration Manager检查本机网络配置。
    L3Byb3h5L2h0dHBzL2ltYWdlczIwMTcuY25ibG9ncy5jb20vYmxvZy8xMTU5MDQwLzIwMTcxMC8xMTU5MDQwLTIwMTcxMDI1MDEyMzA4NDczLTY1ODYxMTk2OS5wbmc=.jpg
    A1.打开Windows Server 服务管理器,选择本地服务器,修改防火墙高级设置的入站规则。
    L3Byb3h5L2h0dHBzL2ltYWdlczIwMTcuY25ibG9ncy5jb20vYmxvZy8xMTU5MDQwLzIwMTcxMC8xMTU5MDQwLTIwMTcxMDI1MDEyMzE5NzU0LTE0NzI5NzA0MTMucG5n.jpg
    A2.新建程序入站规则
    目的是为开放SQL Server的动态连接端口,文档详见
    程序路径为 $“{数据库实例安装路径}MSSQL{版本号}.{数据库实例名}MSSQLBinnSqlservr.exe”,若分不清,直接搜索Sqlservr.exe。注意拼写Sqlservr.exe。
    L3Byb3h5L2h0dHBzL2ltYWdlczIwMTcuY25ibG9ncy5jb20vYmxvZy8xMTU5MDQwLzIwMTcxMC8xMTU5MDQwLTIwMTcxMDI1MDEyMzI0NDg4LTE1OTA4MDg5NTYucG5n.jpg
    A3.新建UDP开放端口1434
    目的是使用SQL Server Browser来动态分配端口。
    L3Byb3h5L2h0dHBzL2ltYWdlczIwMTcuY25ibG9ncy5jb20vYmxvZy8xMTU5MDQwLzIwMTcxMC8xMTU5MDQwLTIwMTcxMDI1MDEyMzI3ODYzLTIyODUzNjY5NS5wbmc=.jpg
    12.使用局域网内另一台计算机进行测试
    首先必须能够Ping通服务器主机,若不能,打开防火墙-入站规则-文件和打印共享(回显请求),ipv4或ipv6看情况。
    L3Byb3h5L2h0dHBzL2ltYWdlczIwMTcuY25ibG9ncy5jb20vYmxvZy8xMTU5MDQwLzIwMTcxMC8xMTU5MDQwLTIwMTcxMDI1MDEyMzMxNzM4LTE0MDAxMTA1Mi5wbmc=.jpg
    13.方便的话,使用Visual Studio 2017的数据库连接服务进行快速测试和快速生成连接字符串。也可使用程序进行测试。
    此处填写的配置与建立数据库时一致。
    L3Byb3h5L2h0dHBzL2ltYWdlczIwMTcuY25ibG9ncy5jb20vYmxvZy8xMTU5MDQwLzIwMTcxMC8xMTU5MDQwLTIwMTcxMDI1MDEyMzM1MTYwLTE2NzUxNjI0NzUucG5n.jpg
    可将生成的字符串用代码再一次进行验证。
        public class SqlServerHelper

         {

             private static readonly string connStr = @"Data Source=WIN-3JD7GUIRB36\VMSQLSERVER;Initial Catalog=VM719DataBaseersist Security Info=True;User ID=VM719MANAGERWD=test1234;Connect Timeout=5";

             private static SqlConnection sqlConn;

             private static SqlDataAdapter sqlAdapter;

             private static SqlCommand sqlCommand;

             public static DataSet GetTestTableData()

             {

                 try

                 {

                     using (sqlConn = new SqlConnection(connStr))

                     {

                         sqlConn.Open();

                     }

                 }

                 catch (Exception e)

                 {

                     Console.WriteLine(e);

                     return null;

                 }

                 return null;

             }

         }


    测试用代码

    14.测试连接
    若无法连接成功,先关闭Windows Server中的防火墙进行测试,排除是否为防火墙未配置正确。否则从B1开始检查。
    B1.远程使用用户和密码方式登录实际为TCP,所以应该启用TCP/IP协议。
    L3Byb3h5L2h0dHBzL2ltYWdlczIwMTcuY25ibG9ncy5jb20vYmxvZy8xMTU5MDQwLzIwMTcxMC8xMTU5MDQwLTIwMTcxMDI1MDEyNTA1NzM4LTczMzQyNDk4Ny5wbmc=.jpg
    Named Pipes,命名管道是使用$IPSec服务,在很多计算机上为了安全是关闭的,且只能在局域网中对数据库进行连接。不过连接速度较TCP/IP更快。
    B2.检查连接字符串是否与别名不一致。

    回复

    使用道具 举报

    您需要登录后才可以回帖 登录 | 立即注册

    本版积分规则