Published on

June 13, 2018

Recuperando el acceso a SQL Server: Un método sencillo

Como profesional de datos, puede llegar un momento en el que te encuentres en una situación en la que ya no tienes acceso a una instancia de SQL Server. Esto puede ser frustrante, especialmente cuando necesitas brindar soporte o administrar la instancia. Sin embargo, no todo está perdido. En este artículo, discutiremos un método sencillo para recuperar el acceso a SQL Server incluso cuando todas las demás cuentas están bloqueadas.

Antes de adentrarnos en la solución, es importante tener en cuenta que no tener acceso a SQL Server no significa que no tengas acceso al propio servidor. Muchos administradores de sistemas tienen acceso al servidor de Windows, y como veremos, esto se puede aprovechar para recuperar el acceso a SQL Server.

El método que discutiremos implica crear una tarea programada en Windows que ejecutará un script SQLCMD. Aquí están los pasos:

  1. Crea un script SQLCMD que agregue un inicio de sesión y le asigne el rol de sysadmin. Por ejemplo:
create login [mydomain\jason] from windows
exec sp_addsrvrolemember 'mydomain\jason','sysadmin';
go
  1. Crea una tarea programada en Windows y configúrala para ejecutar el script SQLCMD. Así es cómo:
  • Abre el Programador de tareas en Windows.
  • Crea una nueva tarea y dale un nombre.
  • En la pestaña “General”, selecciona la opción de ejecutar aunque el usuario no esté conectado.
  • En la pestaña “Disparadores”, agrega un nuevo disparador y establece el horario según lo desees.
  • En la pestaña “Acciones”, agrega una nueva acción y especifica la ruta de SQLCMD en el cuadro “Programa/Script”. En el cuadro “Agregar argumentos”, ingresa lo siguiente: -S TuServidor\tuinstancia -i c:\database\myscript.sql. Si no tienes una instancia, solo el nombre del servidor será suficiente después del parámetro -S.
  • Haz clic en “Aceptar” para guardar la tarea.
  1. Guarda el script SQLCMD como un archivo (por ejemplo, myscript.sql) en un directorio accesible por la tarea programada.
  2. Ejecuta la tarea de Windows.

Después de ejecutar la tarea, ahora deberías tener acceso de sysadmin a la instancia de SQL Server. Puedes verificar esto ejecutando el siguiente script:

SELECT spr.name AS SvrRole, sp.name AS SvrPrincipal
FROM sys.server_principals sp
INNER JOIN sys.server_role_members rm ON sp.principal_id = rm.member_principal_id
INNER JOIN sys.server_principals spr ON rm.role_principal_id = spr.principal_id
WHERE spr.name = 'sysadmin';

¡Y ahí lo tienes! Has recuperado con éxito el acceso a SQL Server utilizando un método sencillo que aprovecha el acceso de Windows. Este método puede ser un salvavidas en situaciones en las que todas las demás cuentas están bloqueadas.

Recuerda, siempre es importante auditar regularmente los permisos y principios en SQL Server para garantizar la seguridad de tu entorno. Perder el acceso a una instancia de SQL nunca es ideal, pero con el enfoque correcto, puedes recuperar el acceso y seguir administrando el servidor de manera efectiva.

¡Gracias por leer! Si encontraste útil este artículo, asegúrate de consultar nuestras otras publicaciones sobre temas de SQL Server, como copias de seguridad, historial de copias de seguridad, inicio de sesión de usuarios y auditoría.

Click to rate this post!
[Total: 0 Average: 0]

Let's work together

Send us a message or book free introductory meeting with us using button below.