Acabamos de copiar una base de datos SQL 2008 en otro servidor, con fines de prueba. El usuario típico que inicia sesión utiliza algunos objetos en un determinado esquema. Digamos que es usuario foo
y esquema bar
.
foo
El esquema predeterminado es bar
tanto a nivel de instancia como de base de datos. Sin embargo, cuando foo
inicia sesión, no puede encontrar ningún objeto en el bar
esquema sin utilizar un nombre completo.
¿Por qué el esquema predeterminado no funcionaría aquí?
fuente
Otro escenario en el que puede ocurrir este problema (SQL 2008 R2) ...
Tenía un usuario vinculado a un inicio de sesión de autenticación de SQL, que estaba tratando de asociar con un esquema existente. El inicio de sesión no tenía derechos de administrador de sistemas , por lo que la solución anterior no ayudó.
Eventualmente descubrí que la base de datos todavía estaba configurada en modo de compatibilidad SQL 2000. El cambio a SQL 2005 resolvió el problema.
fuente
Asumirá que el esquema predeterminado en el nuevo servidor es dbo; Si el esquema no se ha copiado con la base de datos.
No es la solución, pero tal vez esto pueda ayudar, echando un vistazo al artículo de msdn. http://msdn.microsoft.com/en-us/library/dd283095.aspx
fuente
foo
el nuevo servidor. Se establecebar
tanto en el usuario de instancia como en el nivel de usuario de la base de datos.