database sql-server – sys.database_files / sys.filegroups VS sys.sysfiles / sys.sysfilegroups

Pregunta:

Estas vistas de catálogo parecen mostrar exactamente los mismos datos. ¿Cuál es el punto de tener múltiples vistas del sistema que parecen mostrar lo mismo?

Así es como probé que son los mismos datos:

select
    fil.name as [FileName],
    fg.name as GroupName
from sys.database_files fil
inner join sys.filegroups fg
on fil.data_space_id = fg.data_space_id

select 
    fil.name as [FileName],
    fg.groupname as GroupName
from sys.sysfiles fil
inner join sys.sysfilegroups fg
on fil.groupid = fg.groupid

Respuesta:

Casi siempre, compatibilidad con versiones anteriores. A menudo, para la compatibilidad del usuario final, pero también para fines internos.

Juraría que estaba leyendo un artículo a principios de esta semana que mencionaba una de las vistas antiguas, posiblemente sysfiles, que se eliminó en un 99% durante el desarrollo de SQL2005, pero el 1% final resultó difícil / arriesgado de eliminar.

Como regla general, apunte a las versiones más recientes de las tablas / vistas del sistema en sus scripts, es más probable que sigan allí en versiones posteriores.

Leave a Comment

Your email address will not be published. Required fields are marked *

Scroll to Top

web tasarım