2011-06-15 41 views
8

¿Dónde se almacenan las propiedades extendidas en SQL Server?¿Dónde se almacenan las propiedades extendidas en SQL Server?

¿se almacenan en la base de datos que contiene el objeto al que se añadió a, o ¿se almacenan por separado y unido a la máquina local de alguna manera.

Por ejemplo, si agrego, rellene el campo "Descripción" (propiedad extendida MS_Description) en SSMS para documentar la columna de una tabla, y luego cierre el motor de base de datos y copie los archivos MDF/LOG para adjuntarlo a un máquina diferente, ¿van las propiedades extendidas con el archivo copiado, o se quedarán atrás en la base de datos maestra (o algo así) en la máquina local?

Respuesta

12

Se almacenan en la base de datos. Los puede obtener consultando la vista sys.extended_properties y se almacenan en System Base Table sys.sysxprops.

+0

+1 para buscar la tabla del sistema real. – RThomas

+1

¡Gracias! Ahora estoy más cómodo usando propiedades extendidas. También es interesante: "Para unirse a una tabla base del sistema, un usuario debe conectarse a la instancia de SQL Server mediante la conexión de administrador dedicada (DAC) Tratar de ejecutar una consulta SELECT de una tabla base del sistema sin necesidad de conectarse mediante el uso del CAD plantea una. error." – Triynko

+2

Además, aquí es cómo unirse sys.extended_properties y sys.columns vistas, y obtener la propiedad extendida MS_Description: seleccionar * de sys.extended_properties p combinación interna sys.columns c = c.object_id en p.major_id y c.column_id = p.minor_id donde p.name = 'MS_Description' – Triynko

2

De MSDN:

"[... E] propiedades XTended se almacenan en la base de datos [.]"

Así que sí, cuando se crea una copia de seguridad y/o mover el base de datos, las propiedades extendidas van con eso.

+0

que marcó la otra respuesta no es la respuesta, porque había oído que las propiedades extendidas se almacenan en la base de datos "cuando se crea una copia de seguridad", pero el proceso de copia de seguridad crea un archivo de copia de seguridad independiente y que podría tirar de información de la base de datos maestra durante ese proceso, por lo que no estaba claro para mí que los datos realmente estuvieran almacenados en el archivo MDF principal de la base de datos todo el tiempo. La otra respuesta cita documentación que muestra en qué tabla de sistema se almacenan las propiedades extendidas y establece explícitamente que la tabla existe en cada base de datos (archivo MDF), no solo en la base de datos maestra. – Triynko

Cuestiones relacionadas