Ir al contenido principal

Error: Al abrir diagramas de base de datos en SQL2005

error-al-abrir-diagramas-de-base-de-datos-en-sql2005-quot-database-diagram-support-objects-cannot-be-installed-because-this-database-does-not-have-a-valid-owner-quot.aspx">Error: Al abrir diagramas de base de datos en SQL2005. "Database diagram support objects cannot be installed because this database does not have a valid owner"

Al migrar my base de datos de sql 2000 a SQL2005 y querer ir a los diagramas me salto el mensaje
Database diagram support objects cannot be installed because this database does not have a valid owner. To continue, first use the Files page of the Database Properties dialog box or the ALTER AUTHORIZATION statement to set the database owner to a valid login, then add the database diagram support objects.
Versión en español:
Los objetos de soporte del diagrama de base de datos no se pueden instalar. Esta base de datos carece de propietario válido. Para continuar, primero use la página Archivos del diálogo Propiedades de la base de datos o la instrucción ALTER AUTHORIZATION para establecer como propietario de la base de datos un inicio de sesión válido y después agregue los objetos de soporte del diagrama de base de datos.
Solución

Buscando la solución di con la documentación de este problema, y me funciono:

Restaurando el nivel de compatibilidad de la base de datos
EXEC sp_dbcmptlevel 'database_name', '90';

La instalación de estos objetos de soporte puede generar un error en una base de datos adjuntada o restaurada a partir de otra instancia de SQL Server. Esto puede ocurrir cuando el nombre del propietario de la base de datos (almacenado en la base de datos) no es un nombre de inicio de sesión válido para la instancia de SQL Server a la que se adjunta o en la que se restaura la base de datos.
Utilice la siguiente instrucción Transact-SQL para cambiar el propietario de la base de datos a un inicio de sesión válido en la instancia de SQL Server y, después, vuelva a intentar realizar la operación de diagrama de base de datos.

ALTER AUTHORIZATION ON DATABASE::miDatabase TO valid_login

Notas (...from msdn)
Aunque cualquier usuario con acceso a una base de datos puede crear un diagrama, una vez que se ha creado, los únicos usuarios que pueden verlo son su creador y cualquier miembro de la función db_owner.
La propiedad de los diagramas sólo se puede transferir a los miembros de la función db_owner. Esto sólo es posible si el propietario anterior del diagrama se ha eliminado de la base de datos.
Si se ha eliminado de la base de datos el propietario de un diagrama, el diagrama permanecerá en la base de datos hasta que el miembro de la función db_owner intente abrirlo. En ese momento, el miembro de db_owner podrá decidir si asume su propiedad.
Para instalar el soporte del diagrama de base de datos en SQL Server Management Studio, la base de datos debe estar en el nivel de compatibilidad de base de datos de SQL Server 2005

Comentarios

Entradas populares de este blog

GUARDAR DOCUMENTOS PDF EN LA BASE DE DATOS SQLSERVER DESDE .NET

Personalmente quiero contarles que para mi este proceso ha sido muy escabroso,he dedicado muchas horas de investigacion para encontrar la forma de hacerlos lo más sencillo posible. Anteriormente había guardado imagenes en la base de datos utilizando compos de tipo imagen, pero luego revisando la documentacion de sqlserver 2005 encontre que en el futuro este tipo de campo podría ser descartado, esto me llevo a buscar otras alternativas especialmente con los campos binarios o (varbinary(max)) . PASOS: 1.- Primero declare las siguientes variables de clase en su formulario windows form Dim fdlg As New OpenFileDialog Dim fs As System.IO.FileStream Dim mcorr_documento As Int32 Dim bw As System.IO.BinaryWriter ----- fin de las variables de clase 2.- Seguidamente en su formulario pegue un objeto de tipo OpenFileDialog que le servira para buscar el archivo que desea almacenar en la base de datos 3.- Cree un objeto de tipo Combo y agregue una lista de los tipos de archivos q...

Como guardar un PDF en un campo de una tabla en SQL SERVER utilizando PowerBuilder

1.- Crea un campo de tipo image en la tabla donde deseas guardar tu archivo. 2.- Luego lees el archivo pdf del path donde se encuentre 3.- Seguidamente actualizas el contenido leido en el campo de la tabla Supongamos que tenemos una tabla que se llama prueba y utiliza una llave unica sobre el campo tmp_llave. El campo campo image se llama tmp_archivo. // Declaramos nuetros campos de tipo blog blob lbl_data blob lbl_temp long ll_file, ll_long = 0, ll_tam integer li_pos = 1 // leemos el archivo ll_file = FileOpen("c:\temp\prueba.pdf",streammode!) // barremos sus registros Do While FileRead(ll_file,lbl_temp) > 0 lbl_data += lbl_temp Loop // cerramos el archivo FileClose(ll_file) // actualizamos nuestra base de datos UPDATEBLOB prueba SET prueba.tmp_archivo = :lbl_data WHERE prueba.tmp_llave = :li_llave; // Para recuperar y mostrar el archivo: SELECTBLOB tmp_archivo INTO :lbl_data FROM prueba WHERE prueba.tmp_llave = :li_llave; ll_file FileOpen("c:\temp\prueba2.pdf"...

GUIA PARA IMPLEMENTAR PUNTO DE VENTA

Cuando iniciamos con nuestro negocio, uno de los requerimientos de ley es la emisión de facturas, créditos fiscales y/o tiquetes en sustitución de facturas. Para esto necesitamos un software que nos permita crear y emitir estos documentos. Esta solución se conoce como un punto de venta (PDV). Cuáles son los componentes que requiere un punto de venta. Un punto de venta normalmente está compuesto por: Una computadora, Una Gaveta para depositar el dinero, Un impresor de tiquetes, un Lector de Barras y un software que administre nuestros productos y ventas. Los pasos para implementar la solución podrían ser los siguientes: 1.- Adquirir el equipo y el software 2.- Codificar nuestros productos con código de barras. Si soy una tienda muchos productos ya traen barra, de lo contrario tendré que buscar una solución para poner mi propio código de barras si deseo ser más ágil en mi proceso de facturación. 3.- Ingresar los productos al sistema, con su descripción y precios unitarios 4.- I...