viernes, 10 de junio de 2011

SQLSERVER: Asignar permiso sysadmin a un usuario sin ser administrador.

Puede que al haber instalado SQLSERVER 2008 sobre una máquina windows 7, el SQLSERVER sí que haya creado los usuarios de windows para SQLSERVER pero solo con el rol public. Si queréis asignarles cualquier otro rol, podéis forzarlo mediante comandos ms-dos.


1º.- Apaga el servicio de SQLSERVER.
Inicio > Microsoft SQLServer 2008 > Herramientas de configuración > Administrador de configuración de SQLServer.

En la ventana que aparece "SQLServer Configuration Manager", en el menu de la izquierda seleccionais la 1º opción "Servicios de SQL Server" y de los servicios que aparecen a la derecha parar el que se llama "SQL Server (MSSQLSERVER).

2.- CONEXIÓN SQLSERVER

En este punto vamos a iniciar una instacia de SQLSERVER
Abre una ventana de ms-dos en modo administrador (opción de botón derecho del ratón).
Situate dentro ms-dos en al ruta:
C:\Program File\Microsoft SQL Server\MSSQL10.MSSQLSERVER\MSSQL\Binn\
Ejecuta el siguiente comando.
sqlservr.exe -m -c
Deja esta ventana abierta, para que se mantenga la conexión de SQLSERVER. Si te ha dado algun error, puede que no estes en modo administrador.
3.- ASIGNAR PRIVILEGIOS:

Abre otra ventana de SQLSERVER en modo administrador.
Situate en la siguiente ruta:
C:\Program File\Microsoft SQL Server\100\Tools\Binn
Ejecuta:
SQLCMD.EXE -S (nombre del pc o nombrePc\Instancia que pones al conectarte al SQLSERVER)
Ejemplo SQLCMD.EXE -S PC

Si todo es correcto, no mostrará ningun mensaje pero se mostrará la siguiente linea, esperando que puedas ejecutar cualquier comando SQL.
1>

Y ejecutamos:
sp_addsrvrolemember 'Nombre de inicio de sesión', 'nombre del rol a asignar'
Ejemplo: sp_addsrvrolemember 'PC\Admin', 'sysadmin'

y por último:
GO

Acabamos de conseguir que el usuario de inicio de sesión PC\Admin, tenga el sol de sysadmin.

Cierra las 2 ventana de SQLSERVER.

Activa el servicio de SQLSERVER que apagastes en el punto 1.

Abre SQLSERVER Management Studio.

Inicia sesión con tu usuario y comprueba si tienes el rol asignado.

Como comprobar los roles?.

En el arbol que aparece a la izquierda de SQLSERVER, situate sobre Seguridad > Inicios de Sesión > escoge tu usuario y con el segundo botón del ratón ejecuta sus propiedades.
En la ventana que aparece, en el menu de la izquierda selecciona la opción "Funciones del Servidor" y ahi se veran todos los roles que tiene asignados el usuario.
palyginti kainas