2010-11-05 11 views
10

Esto es bastante confuso. Estoy recibiendo este error cada vez que intento añadir a (o incluso ver) el nodo Diagramas de base de datos en un nodo de base de datos en SQL Server Management Studio Express (SQL Server 2008):Los objetos de soporte del diagrama de base de datos no se pueden instalar

objetos de soporte del diagrama de base de datos no se pueden instalar porque esta base de datos no tiene un propietario válido. Para continuar, utilice primero la página Archivos del cuadro de diálogo Propiedades de la base de datos o la instrucción ALTERAR AUTORIZACIÓN para configurar el propietario de la base de datos con un inicio de sesión válido, luego agregue los objetos de soporte del diagrama de la base de datos.

Ok, bien. El problema es que, de acuerdo con Management Studio, mi inicio de sesión es el propietario de la base de datos. Estoy usando Autenticación de Windows cuando inicio sesión en Management Studio, y si voy a la página Archivos del cuadro de diálogo Propiedades de la base de datos, mi inicio de sesión es el propietario.

Así que la próxima Calculo, bueno, tal vez no soy un miembro de la función de servidor correcto para ser realmente el propietario, sin embargo, mi ingreso es un miembro de la función de servidoradministrador de sistemas, que, de acuerdo con this MDSN page es un requisito para ser dueño de una base de datos.

Así que finalmente lo hacen algunas google, y veo people telling me para tratar la ejecución de una sentencia como esta:

EXEC sp_dbcmptlevel 'yourDB', '90'; 
go 
ALTER AUTHORIZATION ON DATABASE::yourDB TO "yourLogin" 
go 
use [yourDB] 
go 
EXECUTE AS USER = N'dbo' REVERT 
go 

Mi problema aquí es que no entiendo realmente lo que el código está haciendo, y ninguna cantidad de probar diferentes nombres de usuario o bases de datos con la declaración anterior (que parece ejecutarse con éxito) parece solucionar mi problema.

¿Alguien puede pensar en algo que podría estar perdiendo?

+0

Esto realmente pertenece en ServerFault.com. Probablemente obtendrá buenas respuestas aquí, pero este problema es más en el ámbito de un DBA que en el ámbito de un desarrollador. – David

+0

@David, eso tiene sentido. He votado para moverlo a SF. –

+0

posible duplicado de [Los objetos de soporte de Diagrama de base de datos no pueden ser instalados ... ningún propietario válido] (http://stackoverflow.com/questions/2043382/database-diagram-support-objects-cannot-be-installed-no-valid- propietario) –

Respuesta

20

Ha intentado este conjunto de medidas, que podría resolver su problema:

En SQL Server Management Studio haga lo siguiente:

  1. haga clic derecho en su base de datos, seleccionar propiedades
  2. Vaya a la página de opciones
  3. En el menú desplegable a la derecha con la etiqueta "Nivel de compatibilidad", seleccione "SQL Servidor 2005 (90)"
  4. Ir a la Página de archivos
  5. Ingrese "sa" en el cuadro de texto del propietario.
  6. pulsa OK

Suponiendo que esto funciona y se puede añadir diagramas de base de datos, a continuación, puede cambiar el propietario de nuevo a su nombre de usuario de Windows.

+0

Bueno, "sa" funciona. Puedo agregar diagramas DB a través de ese nombre de usuario. Pero tan pronto como vuelva a cambiar a mi nombre de usuario de Windows, tengo el mismo problema anterior. ¿Por qué funciona "sa"? Además, ¿por qué los diagramas de bases de datos son tan difíciles de obtener permisos para trabajar? :-) –

+0

una vez que funciona con sa, restablezca su cuenta de Windows como propietario y luego intente agregar diagramas en esa cuenta. Tengo la sensación de que cuando se instaló SQL Server, configura sa como DBA. Ahora, si agrega la cuenta de Windows como DBA mientras está conectado con las credenciales de sa, debe poder volver a la cuenta de Windows y tener los privilegios que necesita. –

+1

Hmm, ¿cómo configuro mi cuenta de Windows como DBA? Esa es la parte que creo que me falta. –

0

Esto funcionará; BASE DE DATOS

ALTER autorización en :: basedatos en NT AUTHORITY \ SYSTEM

Pero esto es sólo para temp .. solución, por cualquier razón si tiene que restaurar DB entonces el problema estará presente ..

1

Simplemente intente esto.

Alter AUTHORIZATION ON DATABASE::YourDbName TO [sa]; 
0

Bueno, durante un tiempo intenté algunas cosas y nada funcionó. Después de eso, leí cuidadosamente el error y me di cuenta de que se había propuesto una solución solo en el error. Solo tengo que leerlo con cuidado.

A continuación se presentan los pasos que hice para hacer este trabajo:

ALTER AUTHORIZATION ON DATABASE::YourDatabaseName TO sa 
GO 

O

  • Seleccione su base de datos> clic derecho> seleccione Propiedades
  • Seleccione ARCHIVO en el lado izquierdo de la página
  • En el cuadro PROPIETARIO, seleccione el botón que tiene tres puntos (...) en él
  • Ahora seleccione el usuario 'sa' o NT AUTHORITY \ SYSTEM y haga clic en Aceptar.
Cuestiones relacionadas