代码实现SQL SERVER TCP/IP协议配置

SET NOCOUNT ON

DECLARE @Root NVARCHAR(1000)
,@Path NVARCHAR(1000)
,@TcpPort NVARCHAR(100) SET @Root = 'HKEY_LOCAL_MACHINE'
SET @Path = 'Software\Microsoft\MSSQLServer\MSSQLServer\SuperSocketNetLib\Tcp'
SET @TcpPort = '' PRINT N'TcpPort ' + @TcpPort EXEC xp_instance_regwrite @Root, @Path, N'Enabled', REG_DWORD, 1 -- 启用TCP/IP协议
EXEC xp_instance_regwrite @Root, @Path, N'ListenOnAllIPs', REG_DWORD, 0 --禁止全部监听
DECLARE @t TABLE (KeyName NVARCHAR(1000))
INSERT INTO @t EXEC xp_instance_regenumkeys @Root, @Path -- IP1、IP2、IP3...IPALL DECLARE @CurrentKey NVARCHAR(200)
,@CurrentPath NVARCHAR(1000)
,@CurrentIP NVARCHAR(1000)
,@Enabled INT
DECLARE C CURSOR FAST_FORWARD FOR SELECT KeyName FROM @t
OPEN C
FETCH NEXT FROM C INTO @CurrentKey
WHILE @@fetch_status = 0
BEGIN
SET @CurrentPath = @Path + '\' + @CurrentKey EXEC xp_instance_regwrite @Root, @CurrentPath, N'TcpPort', REG_SZ, @TcpPort
EXEC xp_instance_regwrite @Root, @CurrentPath, N'TcpDynamicPorts', REG_SZ, N'' IF @CurrentKey != 'IPALL'
BEGIN
EXEC xp_instance_regread @Root, @CurrentPath, N'IpAddress', @CurrentIP OUT SET @Enabled = CASE
WHEN @CurrentIP LIKE '10.%'
OR @CurrentIP LIKE '172.[123][0-9].%'
OR @CurrentIP LIKE '192.168.%'
OR @CurrentIP = '127.0.0.1'
THEN 1 ELSE 0 END -- 只启用内网IP PRINT @CurrentKey + ' - ' + @CurrentIP + ' - ' + CASE WHEN @Enabled = 1 THEN 'Enable' ELSE 'Disable' END EXEC xp_instance_regwrite @Root, @CurrentPath, N'Active', REG_DWORD, @Enabled
EXEC xp_instance_regwrite @Root, @CurrentPath, N'Enabled', REG_DWORD, @Enabled
END FETCH NEXT FROM C INTO @CurrentKey;
END
CLOSE C;
DEALLOCATE C;

代码实现SQL SERVER TCP/IP协议配置的更多相关文章

  1. 通过配置Windows 防火墙允许使用TCP/IP协议远程访问数据库

    原文:通过配置Windows 防火墙允许使用TCP/IP协议远程访问数据库 本文适用于:2005.2008.2008R2所有版本 为了可以通过TCP/IP协议远程访问SQLServer数据库,需要做以 ...

  2. 云计算介绍、TCP/IP协议及配置

                                                 云计算介绍.TCP/IP协议及配置 1案例1:配置计算机名及工作组 1.1问题 本例要求为修改计算机名并加入工 ...

  3. linux视频学习3(linux安装,shell,tcp/ip协议,网络配置)

    linux系统的安装: 1.linux系统的安装方式三种: 1.独立安装linux系统. 2.虚拟机安装linux系统. a.安装虚拟机,基本是一路点下去. b.安装linux. c.linux 安装 ...

  4. TCP/IP协议(一)网络基础知识

    参考书籍为<图解tcp/ip>-第五版.这篇随笔,主要内容还是TCP/IP所必备的基础知识,包括计算机与网络发展的历史及标准化过程(简述).OSI参考模型.网络概念的本质.网络构建的设备等 ...

  5. TCP/IP协议、UDP协议、 Http协议

    开放式系统互联通信参考模型(Open System Interconnection Reference Model,缩写为 OSI),简称为OSI模型(OSI model),一种概念模型,由国际标准化 ...

  6. 转:TCP/IP协议(一)网络基础知识

    转载:http://www.cnblogs.com/imyalost/p/6086808.html 参考书籍为<图解tcp/ip>-第五版.这篇随笔,主要内容还是TCP/IP所必备的基础知 ...

  7. TCP/IP协议(一)网络基础知识 网络七层协议

    参考书籍为<图解tcp/ip>-第五版.这篇随笔,主要内容还是TCP/IP所必备的基础知识,包括计算机与网络发展的历史及标准化过程(简述).OSI参考模型.网络概念的本质.网络构建的设备等 ...

  8. TCP之三:TCP/IP协议中backlog参数(队列参数)

    目录: <TCP洪水攻击(SYN Flood)的诊断和处理> <TCP/IP协议中backlog参数> TCP建立连接是要进行三次握手,但是否完成三次握手后,服务器就处理(ac ...

  9. TCP/IP协议<一>

    下面是协议层从底层至顶层的一个模型图: 一.计算机网络的背景 1.1 计算机的发展 有人说:“20世纪最伟大的发明就是计算机”,自诞生伊始,计算机经历了一系列发展,从大型通用计算机.超级计算机.小型机 ...

随机推荐

  1. Python时间戳与时间字符串互相转换实例代码

    #设a为字符串import timea = "2011-09-28 10:00:00" #中间过程,一般都需要将字符串转化为时间数组time.strptime(a,'%Y-%m-% ...

  2. N76E003之定时器3

    定时器3是一个16位自动重装载,向上计数定时器.用户可以通过配置T3PS[2:0] (T3CON[2:0])选择预分频,并写入重载值到R3H 和R3L寄存器来决定它的溢出速率.用户可以设置TR3 (T ...

  3. STL源码剖析—顺序容器

    一.vector 1.vector简介: vector的数据安排及其操作方式与数组非常相似,微小的差别在于空间的使用,数组是静态空间,一旦配置了就不能改变.vector是动态空间,随着元素的加入,它的 ...

  4. mysql在命令行模式下创建数据库时要显式指定字符集

    create database db1 DEFAULT CHARACTER SET utf8 COLLATE utf8_chinese_ci;

  5. redis基本结构

    redis数据结构string(字符串)1->12->23->3 list(列表)key->(1->2->3->4->5) hash(散列)1-> ...

  6. Qt编写activex控件在网页中运行

    qt能够实现的东西非常多,还可以写activex控件直接在网页中运行.参照qtdemo下的例子即可. 方案一:可执行文件下载:https://pan.baidu.com/s/14ge9ix2Ny0x7 ...

  7. javascript prototype学习

    function foo(a, b, c) { return a*b*c; } alert(foo.length); alert(typeof foo.constructor); alert(type ...

  8. Android7.0 PowerManagerService 之亮灭屏(二) PMS 电源状态管理updatePowerStateLocked()

    本篇注意接着上篇[Android7.0 PowerManagerService 之亮灭屏(一)]继续分析量灭屏的流程,这篇主要分析PMS的状态计算和更新流程,也是PMS中最为重要和复杂的一部分电源状态 ...

  9. Python 安装出错:Setup script exited with error: command 'gcc' failed with exit status 1

    退出当前环境: logout (再重新登录进去) yum install python-devel  -yyum install libevent-devel  -y 把环境更新下yum instal ...

  10. 【CF618G】Combining Slimes 概率+矩阵乘法

    [CF618G]Combining Slimes 题意:一个长度为$1\times n$的网格,每次从最右侧往里推入一个数字1或2(数字会一直跑到最左边的空格子里),加入1的概率为p,2的概率为1-p ...