sql >> Base de Datos >  >> RDS >> Sqlserver

Restaurar el acceso a la instancia de SQL Server sin reiniciar

A partir de Microsoft SQL Server 2008, de manera predeterminada, el grupo de administradores locales ya no se agrega a los administradores de SQL Server durante la instalación, esto solo se puede hacer manualmente.

Como resultado, si el grupo del administrador no se agregó durante o después de la instalación, hay situaciones en las que se pierde el acceso administrativo a SQL Server. Esto puede ocurrir cuando se desconoce el usuario bajo el cual se realizó la instalación o se pierde la contraseña de la misma cuenta, o cuando el administrador de la base de datos anterior sale y su cuenta de Windows, siendo la única con derechos de administrador para SQL Server, fue eliminada. .

Por lo general, en este caso, se utiliza el mecanismo normal con un reinicio de SQL Server de un solo usuario. Sin embargo, este enfoque requiere cierto tiempo de inactividad y, en algunos sistemas, esto es inaceptable.

Hay una manera muy sencilla de resolver este problema sin ningún tiempo de inactividad si se cumplen ciertas condiciones. Muchos han escuchado y usado las utilidades de Mark Russinovich:Windows Sysinternals. Este conjunto contiene la utilidad PsExec, que le permite iniciar un proceso en una máquina local o remota.

Una de las ventajas de esta utilidad es la capacidad de ejecutar procesos en nombre de una cuenta de NT AUTHORITY\SYSTEM , que, a diferencia de las cuentas de administrador "normales", tiene acceso a SQL Server de forma predeterminada.

Para que este método funcione, SQL Server debe tener habilitada la autenticación de Windows y ejecutarse como una cuenta NT AUTHORITY\SYSTEM; de lo contrario, la cuenta NT AUTHORITY\SYSTEM solo tendrá derechos públicos, no un administrador de sistemas.

Preparación para restaurar el acceso administrativo a SQL Server

1. Asegúrese de que el servicio de SQL Server se esté ejecutando en nombre de su cuenta NT AUTHORITY\SYSTEM.
2. Descargue e instale la versión actual de SQL Server Management Studio (SSMS) en su servidor SQL, por ejemplo aquí
3. Descargue y descomprima el archivo en el servidor SQL, la versión actual del conjunto de utilidades PsTools (PsExec está incluido), por ejemplo, PSTools.

Adiciones al Administrador de SQL Server

1. Ejecute la línea de comando con derechos elevados en el servidor SQL (Shift + clic derecho, "Ejecutar como administrador") y navegue a la carpeta donde se descomprime la utilidad PsExec.
2. Ejecute el siguiente comando, corrigiendo su ruta actual a Management Studio:

PsExec -s -i "C:\Program Files (x86)\Microsoft SQL Server\110\Tools\Binn\ManagementStudio\Ssms.exe"

Configuración:

  • -i – indica que es necesario iniciar el proceso en modo interactivo
  • -s:indica que debe ejecutar el proceso en nombre de su cuenta del sistema NT AUTHORITY\SYSTEM.
    Obtendrá aproximadamente lo siguiente (en el primer lanzamiento verá una ventana con el acuerdo de licencia):

y se iniciará el SSMS.

3 Hacer clic en Conectar le permitirá conectarse y ver la lista de objetos en el servidor.

4. Ahora, vaya a Seguridad> Inicios de sesión y agregue su cuenta como administrador del sistema, y ​​actualice la misma contraseña, en general, haga todo lo necesario para que su instancia sea manejable.

Inicie sesión y agregue su cuenta como administrador del sistema, y ​​actualice la contraseña de sa, en general, haga todo lo necesario para que su instancia sea manejable” width=”300″ height=”160″ title=””>

Este método, aunque tiene una serie de limitaciones, le permite restaurar la administración del servidor SQL sin detener el servidor de la base de datos.

Conecte la instancia de SQL Server sin usar Management Studio, usando SqlCmd