LOGO OA教程 ERP教程 模切知识交流 PMS教程 CRM教程 开发文档 其他文档  
 
网站管理员

如何启用或禁用SQL Server数据库的TCP/IP网络协议

admin
2021年2月16日 17:41 本文热度 3801
SQL Server 安装程序安装了 TCP 和 Named Pipes 网络协议,但这些协议可能并未启用。可以使用以下 PowerShell 脚本或者使用 SQL Server 配置管理器启用或禁用网络协议。必须停止然后再重新启动 SQL Server 数据库引擎,对协议所做的更改才会生效。

有关 PowerShell 的常规信息,请参阅 SQL Server PowerShell 概述。有关如何使用 SQL Server 配置管理器管理协议的详细信息,请参阅如何启用或禁用服务器网络协议(SQL Server 配置管理器)。

SQL Server PowerShell (SQLPS.exe) 实用工具会启动一个 PowerShell 会话,并加载和注册 SQL Server PowerShell 提供程序和 cmdlets。当运行 PowerShell (PowerShell.exe) 而非 SQL Server PowerShell 时,首先请执行以下语句以便手动加载所需的程序集。
# Load the assemblies
[reflection.assembly]::LoadWithPartialName("Microsoft.SqlServer.Smo")
[reflection.assembly]::LoadWithPartialName("Microsoft.SqlServer.SqlWmiManagement")

下面的脚本会启用协议。若要禁用协议,请将 IsEnabled 属性设置为 $false。

使用 SQL Server PowerShell 启用服务器网络协议
使用管理员权限打开一个命令提示符。

若要启动 SQL Server PowerShell,请在命令提示符处键入 sqlps.exe。

执行以下语句以启用 TCP 和 Named Pipes 协议。将 替换为运行 SQL Server 的计算机的名称。如果您在配置命名实例,请将 MSSQLSERVER 替换为该实例的名称。
$smo = 'Microsoft.SqlServer.Management.Smo.'
$wmi = new-object ($smo + 'Wmi.ManagedComputer')

# List the object properties, including the instance names.
$Wmi

# Enable the TCP protocol on the default instance.
$uri = "ManagedComputer[@Name='']/ ServerInstance[@Name='MSSQLSERVER']/ServerProtocol[@Name='Tcp']"
$Tcp = $wmi.GetSmoObject($uri)
$Tcp.IsEnabled = $true
$Tcp.Alter()
$Tcp

# Enable the named pipes protocol for the default instance.
$uri = "ManagedComputer[@Name='']/ ServerInstance[@Name='MSSQLSERVER']/ServerProtocol[@Name='Np']"
$Np = $wmi.GetSmoObject($uri)
$Np.IsEnabled = $true
$Np.Alter()
$Np

为本地计算机配置协议
当脚本在本地运行并配置本地计算机时,SQL Server PowerShell 可以通过动态确定本地计算机的名称使脚本更为灵活。若要检索本地计算机的名称,请将设置 $uri 变量的行替换为以下行。
$uri = "ManagedComputer[@Name='" + (get-item env:\computername).Value + "']/ServerInstance[@Name='MSSQLSERVER']/ServerProtocol[@Name='Tcp']"

使用 SQL Server PowerShell 重新启动数据库引擎
启用或禁用了协议后,必须停止并重新启动数据库引擎才能使更改生效。执行以下语句,通过使用 SQL Server PowerShell 来停止和启动默认实例。若要停止和启动命名实例,请将 'MSSQLSERVER' 替换为 'MSSQL$'。
# Get a reference to the ManagedComputer class.
CD SQLSERVER:\SQL\
$Wmi = (get-item .).ManagedComputer
# Get a reference to the default instance of the Database Engine.
$DfltInstance = $Wmi.Services['MSSQLSERVER']
# Display the state of the service.
$DfltInstance
# Stop the service.
$DfltInstance.Stop();
# Wait until the service has time to stop.
# Refresh the cache.
$DfltInstance.Refresh();
# Display the state of the service.
$DfltInstance
# Start the service again.
$DfltInstance.Start();
# Wait until the service has time to start.
# Refresh the cache and display the state of the service.
$DfltInstance.Refresh(); $DfltInstance

该文章在 2021/5/19 10:37:04 编辑过

全部评论1

admin
2021年2月16日 21:20
按照上面操作没有成功,最后还是直接修改注册表成功了,可根据:
HKLM /SoftWare/ Microsoft / Microsoft SQL Server / mssql $ <实例名称,版本不同名称不同> / MSSQLServer / SuperSocketNetLib / Tcp / IP1-IP8
按照以下可对照正确的机器上的值进行修改,例如:Enabled = 1、TcpPort = 1433等等。




注意名称不是固定的。

该评论在 2021/2/16 22:17:20 编辑过
关键字查询
相关文章
正在查询...
点晴ERP是一款针对中小制造业的专业生产管理软件系统,系统成熟度和易用性得到了国内大量中小企业的青睐。
点晴PMS码头管理系统主要针对港口码头集装箱与散货日常运作、调度、堆场、车队、财务费用、相关报表等业务管理,结合码头的业务特点,围绕调度、堆场作业而开发的。集技术的先进性、管理的有效性于一体,是物流码头及其他港口类企业的高效ERP管理信息系统。
点晴WMS仓储管理系统提供了货物产品管理,销售管理,采购管理,仓储管理,仓库管理,保质期管理,货位管理,库位管理,生产管理,WMS管理系统,标签打印,条形码,二维码管理,批号管理软件。
点晴免费OA是一款软件和通用服务都免费,不限功能、不限时间、不限用户的免费OA协同办公管理系统。
Copyright 2010-2024 ClickSun All Rights Reserved