Dans SQL Server, vous avez des tables systèmes qui sont à l’intérieur de chaque base de données et qui vont contenir des informations sur la structure des objets. Par exemple, la liste des tables et leurs colonnes. Ces tables systèmes sont invisibles depuis SQL Server 2005. En 2005, Microsoft a décidé de les cacher et nous a donné à la place des vues de catalogue.

Où se trouvent réellement ces vues ? elles se trouvent dans une base de données cachée qui s’appelle systemeresource. On y trouve des vues de catalogues, des procédures stockées, des procédures stockées étendues, etc. On a beaucoup de vues.

On a aussi la possibilité de voir dans sys.objects les objets qui sont fabriqués par Microsoft, si on prend tous les objets qui sont is_ms_shipped = 1.

On peut voir le code source de ses vues, par exemple, à l’aide de la vue sys.system_sql_modules qui nous retourne la définition des objets.

SELECT * FROM sys.system_objects;

SELECT * FROM sys.objects WHERE is_ms_shipped = 1;

SELECT OBJECT_NAME(object_id), *
FROM sys.system_sql_modules
ORDER BY OBJECT_NAME(object_id);

Astuces et tutoriels SQL Server en français, pour SQL Server 2017, SQL Server 2016, et toutes versions.
Par Rudi Bruchez
https://www.linkedin.com/in/rudibruchez/ http://www.babaluga.com

Rudi Bruchez
Sql Server consultant and trainer, Data Platform MVP
Modélisation, administration, optimisation, audit, formation. Solutions MS SQL Server et NoSQL
Expert SQL Server avec vingt ans d’expérience, focalisation sur l’optimisation. Conseil et développement pour Cassandra et MongoDB

Modelling, administration, optimisation, audit, training, MS SQL Server and NoSQL.
MS SQL Server expert with 20 years experience. Also NoSQL solutions, mainly Cassandra and MongoDB.

http://www.babaluga.com/contact/

Comprendre les objets système en SQL Server