visual valid tool support studio online objects not management installed have engineering does cannot because sql-server sql-server-2008 database-diagramming

sql-server - valid - sql server database diagram tool



Los Objetos de Soporte de Diagrama de Base de Datos no pueden ser Instalados... ningún propietario válido (13)

Intenté crear un diagrama de base de datos con SQL Server 2008, pero ocurre un error:

Los 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.

Luego probé lo siguiente:

EXEC sp_dbcmptlevel ''Ariha'', ''90''; GO ALTER AUTHORIZATION ON DATABASE::Ariha TO [WIN-NDKPHUPPNFL/Administrator] GO USE Ariha GO EXECUTE AS USER = N''dbo'' REVERT GO

Aparece el siguiente error:

Msg 15404, nivel 16, estado 11, línea 1 No se pudo obtener información sobre el grupo / usuario de Windows NT ''WIN-NDKPHUPPNFL / Administrator'', código de error 0x534.

El problema es que el nombre de la PC se ha cambiado a "DevPC". También cambié esto en la secuencia de comandos de actualización, pero sigue siendo el mismo error 15404.

¿Qué puedo hacer para solucionar este molesto error?


1. Haga clic derecho en su Base de datos, 2. Luego seleccione propiedades. 3.Seleccione la opción en niveles de compatibilidad elija sql 2008 [100] si está trabajando con Microsoft sql 2008.

4. Luego seleccione el archivo y escriba (sa) en el cuadro de texto del propietario

100% funciona para mi


1. Seleccione su base de datos >> Right Click >> Select Properties
2. Seleccione FILE en el lado izquierdo de la página
3.En el cuadro OWNER , seleccione el botón que tiene tres puntos (...) en él
4.Ahora seleccione user ''sa'' o NT AUTHORITY/SYSTEM y haga clic en OK


Acabo de experimentar esto. Había leído las sugerencias en esta página, así como las sugerencias de SQL Authority (que es lo mismo) y ninguna de las anteriores funcionaba.

Al final, eliminé la cuenta y recreé (con el mismo nombre de usuario / contraseña). Solo así, todos los problemas desaparecieron.

Lamentablemente, esto significa que no sé qué salió mal, así que no puedo compartir ninguna otra cosa.


Debería considerar la cuenta de autenticación SQL para la propiedad de la base de datos; entonces no tiene que preocuparse de que las cuentas vayan y vuelvan, las bases de datos o las instancias se muevan a diferentes servidores, y cambie el próximo nombre de su PC. Tengo varios sistemas donde utilizamos:

ALTER AUTHORIZATION ON DATABASE::Ariha TO [sa];

O si desea cambiar el propietario a esa cuenta de administrador local, entonces debería ser:

ALTER AUTHORIZATION ON DATABASE::Ariha TO [DevPC/Administrator];

Debido a que el cambio de nombre de la máquina a DevPC ha eliminado la cuenta local que solía llamarse WIN-ND.../Administrator y esto también ha invalidado al propietario actual de la base de datos.

Si SELECT @@SERVERNAME; no es preciso (debe decir DevPC ), luego, para garantizar que el cambio de nombre de su servidor se haya realizado dentro de SQL Server, es posible que desee emitir lo siguiente:

EXEC sp_dropserver @server = N''old server name''; GO EXEC sp_addserver @server = N''DevPC'', @local = N''local''; GO


El verdadero problema es que el propietario predeterminado (dbo) no tiene un inicio de sesión asignado a él en absoluto. Cuando intenté asignar el inicio de sesión sa al propietario de la base de datos, recibí otro error que decía "Usuario, grupo o rol ''dbo'' ya existe ... ". Sin embargo, si pruebas este código, realmente funcionará:

EXEC sp_dbcmptlevel ''yourDB'', ''90'';

ir

ALTERAR LA AUTORIZACIÓN DE LA BASE DE DATOS :: yourDB A "yourLogin"

ir

use [suDB]

ir

EJECUTAR COMO USUARIO = N''dbo ''REVERT

ir


En SQL Server Management Studio, haga lo siguiente:

  1. Haga clic derecho en su base de datos, elija propiedades
  2. Ir a la página de opciones
  3. En el menú desplegable "Nivel de compatibilidad", seleccione "SQL Server 2005 (90)" 3-1. elija "SQL Server 2008" si recibe un error de comparabilidad.
  4. Ir a la página de archivos
  5. Ingrese "sa" en el cuadro de texto del propietario. 5-1 o haga clic en las elipses (...) y elija un propietario legítimo.
  6. Presione Aceptar

después de hacer esto, ahora podrá acceder a los Diagramas de la base de datos.


Esto me lo arregló. Establece al propietario que se encuentra en la sección ''archivos'' de la ventana de propiedades de la base de datos, y está guionado por el estudio de administración.

USE [your_db_name] GO EXEC dbo.sp_changedbowner @loginame = N''sa'', @map = false GO

De acuerdo con la documentación de sp_changedbowner esto está en desuso ahora.

Basado en la respuesta de Israel. La respuesta de Aaron es la variación no desaprobada de esto.


Ingrese "SA" en lugar de "sa" en el cuadro de texto del propietario. Esto funcionó para mí.


Una manera más fácil de resolver estos problemas sería hacer clic con el botón derecho en el nombre de su base de datos, elegir "Nueva consulta", escribir "exec sp_changedbowner ''sa''" y ejecutar la consulta. Entonces estarás listo para irte.


Yo tuve el mismo problema.
Quería ver mi diagrama, que creé el mismo día en el trabajo, en casa. Pero no pude debido a este mensaje.
Descubrí que el propietario de la base de datos era el usuario de mi computadora, como se esperaba. pero como la computadora está en el dominio de la compañía y no estoy conectado a la red de la compañía, la base de datos no pudo resolverlo.

¡Entonces lo que hice fue cambiar el propietario a un usuario local y funcionó!
Espero que esto ayude a alguien.

Usted cambia el usuario haciendo clic derecho en la base de datos, propiedades, archivos, propietario


debe ingresar como administrador, haga clic derecho en microsofft sql server management studio y ejecute admin


haga clic derecho en su Base de datos, luego seleccione propiedades. seleccione la opción en niveles de compatibilidad elija sql 2005 [90] en lugar de 2008 si está trabajando con Microsoft sql 2008. luego seleccione el archivo y escriba (sa) en el cuadro de texto del propietario. funcionará probablemente


USE [ECMIS] GO EXEC dbo.sp_changedbowner @loginame = N''sa'', @map = false GO

Funciona.