none
usar usario SA RRS feed

  • Pregunta

  • buenas tardes a todos

    la siguiente consulta que tengo es la siguiente, es que lo he buscado mucho pero no pude encontrar una respuesta a mi pregunta

    Como puedo usar al Usuario 'SA' en otra base de datos ?? 

    por ejemplo:

    tengo mi base de datos "Comercial" y dentro de la misma cuando quiero crear un SCHEMA y asignar el mismo al usuario sa 

    al ejecutar me dice que "No se puede buscar el usuario 'sa' porque no existe o el usuario no tiene permiso."

    miércoles, 3 de septiembre de 2014 19:57

Respuestas

  • Cuando dices "usuario", hay que tener presente que en SQL Server significa dos cosas distintas: "Login" y "User". El Login se aplica a nivel de servidor, mientras que los User se aplican en cada base de datos. Es frecuente crear un User con el mismo nombre que el Login mapeado a ese User, y esto es lo que puede llevar a la confusión de pensar que las dos cosas son iguales.

    En SQL Server se puede habilitar el Login sa para acceder al servidor. Y de forma predeterminada, el sa pertenece al rol de servidor sysadmin, el cual a su vez se mapea al User dbo en cada base de datos.

    Así que cuando haces Login con sa, eres el User dbo en la base de datos. No existe (salvo que lo crees y lo mapees) un User en las bases de datos que se llame sa (tienes el dbo en lugar del sa -- este es un caso en el que el Login y el User no tienen el mismo nombre).

    Y aunque ese comportamiento predeterminado se puede reconfigurar, es poco recomendable porque luego puede dar lugar a mucha confusión. Es preferible que crees un login no-administrador con un nombre conocido tal como "pepe", que lo mapees en la base de datos a un User también con el mismo nombre "pepe" (o un nombre distinto si lo prefieres), y que si lo deseas le asignes a ese User un esquema predeterminado y/o que lo hagas propietario de un esquema.

    miércoles, 3 de septiembre de 2014 20:18