43 lines
1.5 KiB
PowerShell
43 lines
1.5 KiB
PowerShell
$ErrorActionPreference = "Continue"
|
|
|
|
function Log($msg) {
|
|
$ts = Get-Date -Format "HH:mm:ss"
|
|
Write-Host "[$ts] $msg" -ForegroundColor Cyan
|
|
try { Invoke-RestMethod -Uri "http://10.0.10.8:8000/log" -Method Post -Body @{msg="[$env:COMPUTERNAME] $msg"} -UseBasicParsing -ErrorAction SilentlyContinue | Out-Null } catch {}
|
|
}
|
|
|
|
Log "=========================================="
|
|
Log "SQL SYSADMIN FIX — Agregando DASUTEN\admindasu"
|
|
Log "=========================================="
|
|
|
|
# Paso 1: Parar SQL Server
|
|
Log "PASO 1: Deteniendo MSSQLSERVER..."
|
|
net stop MSSQLSERVER /y 2>&1 | Out-Null
|
|
Start-Sleep -Seconds 3
|
|
|
|
# Paso 2: Iniciar en modo single-user
|
|
Log "PASO 2: Iniciando en modo single-user..."
|
|
net start MSSQLSERVER /m 2>&1 | Out-Null
|
|
Start-Sleep -Seconds 5
|
|
|
|
# Paso 3: Agregar sysadmin
|
|
Log "PASO 3: Agregando DASUTEN\admindasu como sysadmin..."
|
|
$result = sqlcmd -S localhost -E -Q "ALTER SERVER ROLE sysadmin ADD MEMBER [DASUTEN\admindasu]; SELECT 'SYSADMIN_OK' AS resultado;" -W 2>&1
|
|
Log "Resultado: $result"
|
|
|
|
# Paso 4: Reiniciar normal
|
|
Log "PASO 4: Reiniciando SQL Server en modo normal..."
|
|
net stop MSSQLSERVER /y 2>&1 | Out-Null
|
|
Start-Sleep -Seconds 3
|
|
net start MSSQLSERVER 2>&1 | Out-Null
|
|
Start-Sleep -Seconds 5
|
|
|
|
# Paso 5: Verificar
|
|
Log "PASO 5: Verificando acceso..."
|
|
$check = sqlcmd -S localhost -E -Q "SELECT SYSTEM_USER AS usuario, IS_SRVROLEMEMBER('sysadmin') AS es_sysadmin" -W 2>&1
|
|
Log "Verificacion: $check"
|
|
|
|
Log "=========================================="
|
|
Log "SQL SYSADMIN FIX COMPLETADO"
|
|
Log "=========================================="
|