Ir al contenido principal

SQL Server 2005 - Error: 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.

Ya van varias ocasiones que me sucede que cuando quiero por comodidad tener el diagrama de la base de datos me sale el error en mención (título del escrito). Al principio fue una calamidad resolver este error, pero ya no demoro ni el minuto corrigiendolo. Hay varias posibles soluciones, pero aqui solo te daré dos que son las más probables:

Solución 1:

En el SQL Server Management Studio hacer lo siguiente:

  1. Botón derecho en tu Base de Datos, escoge propiedades.

  2. Vete a la opción Opciones de Página (Options Page)

  3. En la lista desplegable (Dropdown) títulada Nivel de Compatibilidad (Compatibility Level) escoge la opción "SQL Server 2005(90)".


De no funcionarte la solución 1, aplica la siguiente:

En la ventana de Query del SQL Server Management Studio, ejecuta la siguiente instrucción:

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


Están han sido las dos soluciones que siempre he aplicado cuando me sale este error. De no funcionarte, deberías buscarte otra alternativa.

Comentarios

Entradas populares de este blog

Consultas SQL basadas en fecha y/o hora

Manejando SQL Server 2005, me encontre que tratando hacer consultas basadas en fechas, obtenía como resultado nada (empty). Esto se debía a que no tenía claro como trabajan los tipos de dato datetime y smalldatetime. Estos dos tipos de datos son muy similares, se diferencia en que datetime es más detallado a la hora de almacenar la fecha. Estas diferencias pueden ser vistas en la siguiente tabla: Tipo Minimo Maximo Precision datetime Ene 1, 1753 media-noche Dic 31, 9999 23:59:59.997 (0.003 segundos hasta la media-noche) Más cercano 3.33 millisegundos smalldatetime Ene 1, 1900 media-noche Jun 6, 2079 23:59 (un minuto hasta la media-noche) Más cercano al mínuto Ambos, representan una fecha y hora que es igual al número de días en relación a una fecha base. En SQL Server la fecha base es la medianoche del 1 de Enero de 1900 . Observando la tabla, el tipo de dato smalldatetime, puede solo representar fechas desde esta fech...

SQL Server - Mostrar Estructura de una Tabla (nombre del campo, tipo de dato, tamaño, otros)

Si deseas mostrar las propiedades de los campos que conforman una tabla en SQL Server, este SQL puede ayudarte: USE <nombre de la base de datos> GO SELECT column_name  'Nombre del Campo', data_type  'Tipo de Dato', character_maximum_length  'Tamaño', column_default  'Valor por Defecto', is_nullable  'Permite Nulo' FROM information_schema.columns WHERE table_name = ' <nombre de la tabla> ' Esto es muy bueno cuando deseas crear Diccionario de Datos (DD), muy útiles para tener un control de los datos guardados en la Base de Datos y para futuras modificaciones o mantenimientos. - column_name: nos devuelve el nombre del campo - data_type: el tipo de dato del campo. - character_maximum_length: el tamaño de los datos en el campo. - column_default: valor por defecto del campo - is_nullable: Si el campo permite valor Null. - <nombre de la base de datos>: aqui debes reemplazar con el nombre real de la BD. - <nombre de...

AJAX: Redireccionar a una nueva página después de haber iniciado sesión

Estaba trabajando en una app, la cual quería que mostrará un mensaje cada vez que el usuario por error introducía el nombre de usuario o contraseña inválida. Bueno esto no fue díficil, ya que conozco como hacerlo. Pero lo que en ese momento no habia pensado era lo contrario, si el usuario introduce correctamente sus datos, no debo mostrar ningún mensaje. Lo que debo hacer es redireccionar al usuario a su pantalla inicial luego del logeo.