centos

centos中sqlserver如何远程连接

小樊
46
2025-10-11 11:13:46
栏目: 云计算

在CentOS系统中配置SQL Server以允许远程连接,可以按照以下步骤进行:

1. 安装SQL Server

首先,确保你已经在CentOS上安装了SQL Server。你可以使用Microsoft提供的官方安装指南来安装SQL Server。

2. 配置SQL Server以允许远程连接

方法一:使用SQL Server Configuration Manager

  1. 打开SQL Server Configuration Manager

    • 在CentOS上,你可以通过命令行启动SQL Server Configuration Manager:
      sudo systemctl start mssql-server
      sudo systemctl enable mssql-server
      
    • 然后,找到并打开SQL Server Configuration Manager(通常位于/opt/mssql-tools/bin/sqlserver-config-manager)。
  2. 启用TCP/IP协议

    • 在SQL Server Configuration Manager中,展开“SQL Server Network Configuration”。
    • 右键点击“Protocols for [你的实例名]”并选择“Enable”。
  3. 配置TCP/IP属性

    • 右键点击“TCP/IP”并选择“Properties”。
    • 转到“IP Addresses”选项卡。
    • 找到“IPAll”部分,将“TCP Port”设置为默认的1433(或你选择的任何端口)。
  4. 重启SQL Server服务

    • 返回SQL Server Configuration Manager,右键点击“SQL Server (MSSQLSERVER)”并选择“Restart”。

方法二:使用PowerShell

你也可以使用PowerShell脚本来配置SQL Server以允许远程连接。

  1. 安装PowerShell模块

    • 确保你已经安装了SQL Server PowerShell模块。如果没有,可以使用以下命令安装:
      Install-Module -Name SqlServer
      
  2. 连接到SQL Server

    • 使用以下命令连接到你的SQL Server实例:
      $server = "你的服务器地址"
      $credential = Get-Credential
      $connectionString = "Server=$server;Integrated Security=True;"
      $connection = New-Object System.Data.SqlClient.SqlConnection
      $connection.ConnectionString = $connectionString
      $connection.Open()
      
  3. 配置TCP/IP协议

    • 使用以下PowerShell脚本配置TCP/IP协议:
      Import-Module SqlServer
      $server = "你的服务器地址"
      $instanceName = "MSSQLSERVER"  # 替换为你的实例名
      $tcpIp = Get-SqlInstanceConfigProperty -ServerInstance $instanceName -Property "TcpEnabled"
      if (-not $tcpIp.Value) {
          Set-SqlInstanceConfigProperty -ServerInstance $instanceName -Property "TcpEnabled" -Value 1
      }
      $tcpPort = Get-SqlInstanceConfigProperty -ServerInstance $instanceName -Property "TcpPort"
      if ($tcpPort.Value -ne 1433) {
          Set-SqlInstanceConfigProperty -ServerInstance $instanceName -Property "TcpPort" -Value 1433
      }
      
  4. 重启SQL Server服务

    • 使用以下命令重启SQL Server服务:
      Restart-Service mssql-server
      

3. 配置防火墙

确保你的CentOS防火墙允许通过TCP端口1433(或你配置的其他端口)进行通信。

sudo firewall-cmd --permanent --zone=public --add-port=1433/tcp
sudo firewall-cmd --reload

4. 配置SQL Server身份验证

如果你希望使用SQL Server身份验证而不是Windows身份验证,你需要创建一个SQL Server登录名并启用SQL Server身份验证。

  1. 连接到SQL Server

    sqlcmd -S 你的服务器地址 -U sa -P 你的密码
    
  2. 创建登录名

    CREATE LOGIN [用户名] WITH PASSWORD = '你的密码';
    
  3. 创建用户并映射到数据库

    USE [你的数据库名];
    CREATE USER [用户名] FOR LOGIN [用户名];
    EXEC sp_addrolemember 'db_datareader', '用户名';
    EXEC sp_addrolemember 'db_datawriter', '用户名';
    

完成以上步骤后,你应该能够从远程计算机连接到你的CentOS上的SQL Server实例。

0
看了该问题的人还看了