
Problema SQL SERVER 2016 - Propiedades TCP/IP - Open IPALL TCPPort 1433
Publicado por Javier (1 intervención) el 23/11/2017 14:41:44

Hola, una cuestión que me está volviendo loco desde hace una semana
Necesito abrir el 1433 sin ayuda externa de usuarios
Para ello he probado lo siguiente
1º Acceder a la clave del registro y modificarla desde vb.net, Framework 4.0 Visual Studio 2010, pero la clave no deja modificarla
HKEY_LOCAL_MACHINE\SOFTWARE\Microsoft\Microsoft SQL Server\MSSQL13.MSSQLSERVERMSSQLServer\SuperSocketNetLib\Tcp\IPAll
2ºLanzar un .bat que lanza un vb.script
Contenido del .bat
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
28
29
30
31
32
33
34
35
36
37
@echo off
if _%1_==_payload_ goto :payload
:getadmin
echo %~nx0: elevating self
set vbs=%temp%\getadmin.vbs
echo Set UAC = CreateObject^("Shell.Application"^) >> "%vbs%"
echo UAC.ShellExecute "%~s0", "payload %~sdp0 %*", "", "runas", 1 >> "%vbs%"
"%temp%\getadmin.vbs"
del "%temp%\getadmin.vbs"
goto :eof
:payload
::ENTER YOUR CODE BELOW::
cd \
cd C:\Program Files (x86)\MiCarpeta
dir
pause
start 1433_SQL2016.vbs
pause
::END OF YOUR CODE::
echo.
echo...Script Complete....
echo.
pause
Contenido del script
Fuente: https://gist.github.com/stefanteixeira/12602d32416808ab538b#file-configipall-vbs
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
set wmiComputer = GetObject( _
"winmgmts:" _
& "!\\.\root\Microsoft\SqlServer\ComputerManagement13")
set tcpProperties = wmiComputer.ExecQuery( _
"select * from ServerNetworkProtocolProperty " _
& "where InstanceName='MSSQLSERVER' and " _
& "ProtocolName='Tcp' and IPAddressName='IPAll'")
for each tcpProperty in tcpProperties
dim setValueResult, requestedValue
Wscript.Echo tcpProperty.PropertyName
if tcpProperty.PropertyName = "TcpPort" then
requestedValue = "1433"
elseif tcpProperty.PropertyName ="TcpDynamicPorts" then
requestedValue = ""
end if
setValueResult = tcpProperty.SetStringValue(requestedValue)
if setValueResult = 0 then
Wscript.Echo "" & tcpProperty.PropertyName & " set."
else
Wscript.Echo "" & tcpProperty.PropertyName & " failed!"
end if
next
Si lanzo este .bat desde un doble clik con ayuda del raton se ejecuta y cambia el puerto al 1433
Sin embargo si el .bat lo lanzo desde un process.start + permisos de admin "runas" no encuentra

3º
Tambien he intentado con la query para intetar cambiar la clave del registro de windows pero nada
1
2
3
4
5
6
7
8
9
10
11
DECLARE @portNumber NVARCHAR(10)=1433
EXEC xp_instance_regread
@rootkey = 'HKEY_LOCAL_MACHINE',
@key =
'SOFTWARE\Microsoft\Microsoft SQL Server\MSSQL13.MSSQLSERVER\MSSQLServer\SuperSocketNetLib\Tcp\IPAll',
@value_name = 'TcpPort',
@value = @portNumber OUTPUT
SELECT [Port Number] = @portNumber
GO
Gracias
- 1433.rar(897,0 B)
Valora esta pregunta


0