jueves, 28 de enero de 2016

Invalid object name 'dbo.sysproperties'

El error Microsoft OLE DB Provider for SQL Server error '80040e14' Invalid object name 'dbo.sysproperties' se produce cuando se mueve una base de datos de Gestar desde un SQL Server 2000 a una versión posterior. Para solucionarlo debemos actualizar la vista USER_TAB_COLUMNS con el siguiente script:

DROP VIEW [dbo].[USER_TAB_COLUMNS]
GO

CREATE VIEW [dbo].[USER_TAB_COLUMNS]
AS
SELECT TOP 100 PERCENT o.name AS TABLE_NAME, c.name AS COLUMN_NAME, t.name AS DATA_TYPE,
 c.max_length AS DATA_LENGTH, c.precision AS DATA_PRECISION, c.scale AS DATA_SCALE,
 CONVERT(int, c.is_nullable) AS NULLABLE, c.column_id AS COLUMN_ID, ep.value AS DESCRIPTION,
 dc.definition AS DATA_DEFAULT, CONVERT(int, c.is_computed) AS IS_COMPUTED
FROM sys.columns c INNER JOIN sys.objects o
 ON c.object_id = o.object_id
 INNER JOIN sys.types t
 ON c.system_type_id = t.system_type_id
 LEFT OUTER JOIN sys.extended_properties ep
 ON c.object_id = ep.major_id AND c.column_id = ep.minor_id AND ep.name = N'MS_Description'
 LEFT OUTER JOIN sys.default_constraints dc
 ON c.default_object_id = dc.object_id
WHERE o.type = 'U'
ORDER BY o.name, c.column_id

No hay comentarios:

Publicar un comentario