在CentOS系统中配置SQL Server以允许远程连接,可以按照以下步骤进行:
首先,确保你已经在CentOS上安装了SQL Server。你可以使用Microsoft提供的官方安装指南来安装SQL Server。
打开SQL Server Configuration Manager:
sudo systemctl start mssql-server
sudo systemctl enable mssql-server
/opt/mssql-tools/bin/sqlserver-config-manager)。启用TCP/IP协议:
配置TCP/IP属性:
重启SQL Server服务:
你也可以使用PowerShell脚本来配置SQL Server以允许远程连接。
安装PowerShell模块:
Install-Module -Name SqlServer
连接到SQL Server:
$server = "你的服务器地址"
$credential = Get-Credential
$connectionString = "Server=$server;Integrated Security=True;"
$connection = New-Object System.Data.SqlClient.SqlConnection
$connection.ConnectionString = $connectionString
$connection.Open()
配置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
}
重启SQL Server服务:
Restart-Service mssql-server
确保你的CentOS防火墙允许通过TCP端口1433(或你配置的其他端口)进行通信。
sudo firewall-cmd --permanent --zone=public --add-port=1433/tcp
sudo firewall-cmd --reload
如果你希望使用SQL Server身份验证而不是Windows身份验证,你需要创建一个SQL Server登录名并启用SQL Server身份验证。
连接到SQL Server:
sqlcmd -S 你的服务器地址 -U sa -P 你的密码
创建登录名:
CREATE LOGIN [用户名] WITH PASSWORD = '你的密码';
创建用户并映射到数据库:
USE [你的数据库名];
CREATE USER [用户名] FOR LOGIN [用户名];
EXEC sp_addrolemember 'db_datareader', '用户名';
EXEC sp_addrolemember 'db_datawriter', '用户名';
完成以上步骤后,你应该能够从远程计算机连接到你的CentOS上的SQL Server实例。