我想更改服务器中SQL Server的默认TCP端口。我知道默认端口是1433,并且我知道如何使用UI,但是我需要诸如注册表或批处理文件之类的代码或诸如Delphi,VB,C#之类的编程语言
谢谢
答案 0 :(得分:0)
下面是dockerfile的摘录,该用于为Windows构建正式的Microsoft SQL Server 2017映像。
RUN stop-service MSSQLSERVER ; \
set-itemproperty -path 'HKLM:\software\microsoft\microsoft sql server\mssql14.MSSQLSERVER\mssqlserver\supersocketnetlib\tcp\ipall' -name tcpdynamicports -value '' ; \
set-itemproperty -path 'HKLM:\software\microsoft\microsoft sql server\mssql14.MSSQLSERVER\mssqlserver\supersocketnetlib\tcp\ipall' -name tcpport -value 1433 ; \
set-itemproperty -path 'HKLM:\software\microsoft\microsoft sql server\mssql14.MSSQLSERVER\mssqlserver\' -name LoginMode -value 2 ;
Set-ItemProperty
PowerShell命令配置SQL Server端口并设置登录模式以允许SQL Server和Windows身份验证。在更改了适合您的版本和安装的注册表路径以及所需的端口号之后,可以对本地SQL实例运行这些相同的命令。需要重新启动实例,以使更改生效。
答案 1 :(得分:0)
这是我在Powershell脚本中拥有的内容,该脚本是我以前通过几个工作构建的服务器的一部分:
param (
[string]$server_name = $(Read-Host -prompt Server)
)
$Machine = new-object 'Microsoft.SqlServer.Management.Smo.Wmi.ManagedComputer' $server_name
$instance = $Machine.ServerInstances[ 'MSSQLSERVER' ];
$instance.ServerProtocols[ 'Tcp' ].IsEnabled = $true;
$instance.ServerProtocols[ 'Tcp' ].Alter();
$ipAll = $instance.ServerProtocols['Tcp'].IPAddresses['IPAll'];
$ipAll.IPAddressProperties['TcpPort'].Value = "14330";
$ipAll.IPAddressProperties['TcpDynamicPorts'].Value = ""
$instance.ServerProtocols['Tcp'].Alter();
它假定SQL Server的未命名实例,并且您要设置的端口为14330
。进行调整以满足您的要求。