web-dev-qa-db-fra.com

SYS.DATABASE_FILES / SYS.FILEGROUPES VS SYS.SYSFILES / SYS.SYSFILEGROUPES

Ces vues de catalogue semblent montrer exactement les mêmes données. Quel est le point d'avoir plusieurs vues de système qui semblent montrer la même chose?

Voici comment j'ai prouvé que ce sont les mêmes données:

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
4
anon

Presque toujours, la compatibilité arriérée. Souvent pour la compatibilité finale des utilisateurs, mais aussi à des fins internes.

Je jurerais que je lisais un article plus tôt cette semaine qui a mentionné l'une des vieilles vues, éventuellement des sysfiles, ayant été retirés de 99% lors du développement SQL2005, mais le dernier 1% s'est avéré difficile/risqué d'éliminer.

En règle générale, cible les versions les plus récentes de toutes les tables/vues système de vos scripts, elles sont plus susceptibles d'être là dans des versions ultérieures.

3
Mark Storey-Smith