La mayoría de las veces, necesitamos buscar objetos usando metadatos (datos sobre datos) para obtener información sobre SQL Server. Por ejemplo, usamos una consulta para encontrar qué versión de SQL Server se está ejecutando en una máquina en particular. Los metadatos nos ayudan a encontrar configuraciones y configuraciones para varios objetos en nuestra base de datos.
En este ejemplo, tenemos que encontrar en qué fecha de la tabla 'Cliente' fue creado. Necesitamos consultar los metadatos de SQL Server para encontrar esta fecha.
SELECCIONE create_date FROM sys.objects WHERE name = 'Customer';
sys.objects es una tabla que creó SQL Server que actúa como metadatos.
Cuando instalamos SQL Server por primera vez, creaba automáticamente ciertas tablas, procedimientos y diversos objetos para contener los metadatos que se consideran "Enviado" Elementos del proveedor de software Microsoft con servidor SQL.
Cuando creamos una nueva base de datos en el servidor SQL, crea automáticamente algunos objetos para contener los metadatos.
Propiedad is_ms_shipped en SQL Server
los is_ms_shipped la propiedad en el servidor SQL muestra qué objetos fueron creados (enviados) por Microsoft cuando instalamos SQL Server y qué objetos fueron creados por los usuarios.
SELECCIONE el nombre, object_id, is_ms_shipped FROM sys.objects;
is_ms_shipped = 1 (indica que este objeto fue enviado o creado por Microsoft) is_ms_shipped = 0 (indica que este objeto fue creado por un usuario)
Usando la consulta anterior, vemos varios objetos creados bajo una base de datos. La columna "is_ms_shipped" indica si un objeto fue creado por un usuario o fue enviado por Microsoft.
Ahora que hemos creado la tabla de ESTUDIANTES, la lista de columnas muestra el nombre del objeto, el id_objeto (que es único para cada objeto creado en el servidor SQL) y la columna is_ms_shipped.
Utilizando la ObjectProperty () función creada por el sistema, podemos averiguar si un objeto en particular fue enviado por Microsoft o si fue creado por un usuario.
--2105058535 es object_id para los estudiantes de la tabla seleccione CASE CUANDO OBJETAR propiedad (2105058535, 'IsMSShipped') = 0 ENTONCES 'Creado por el usuario' ELSE 'enviado por Microsoft' END AS 'IsMsShipped'; --2089058478 es object_id para la tabla syscommittab SELECCIONAR CASO CUANDO OBJETO propiedad (2089058478, 'IsMSShipped') = 0 ENTONCES 'Creado por el usuario' ELSE 'Enviado por Microsoft' END AS 'IsMsShipped';
Si queremos hacer una lista de objetos creados por Microsoft o creados por usuarios con fines de auditoría, podemos utilizar la consulta a continuación.
--is_ms_shipped = 1 indica los objetos enviados / creados por Microsoft. SELECCIONE el nombre, object_id, is_ms_shipped FROM sys.objects WHERE is_ms_shipped = 1; --is_ms_shipped = 0 indica objetos creados por los usuarios. SELECCIONE el nombre, object_id, is_ms_shipped FROM sys.objects WHERE is_ms_shipped = 0;