Proprietà Is_ms_shipped in SQL Server

Il più delle volte, dobbiamo cercare gli oggetti usando metadati (dati sui dati) per ottenere informazioni su SQL Server. Ad esempio, utilizziamo una query per trovare la versione di SQL Server in esecuzione su un particolare computer. I metadati ci aiutano a trovare impostazioni e configurazioni per vari oggetti nel nostro database.

In questo esempio, dobbiamo trovare su quale data la tabella 'Cliente' è stata creata. Abbiamo bisogno di interrogare i metadati di SQL Server per trovare questa data.

SELECT create_date FROM sys.objects WHERE name = 'Customer';

sys.objects è una tabella creata da SQL Server che funge da metadata.

Quando abbiamo installato SQL Server per la prima volta, ha creato automaticamente determinate tabelle, procedure e vari oggetti per contenere i metadati considerati come “Spedito” articoli dal fornitore di software Microsoft con server SQL.

Quando creiamo un nuovo database sotto SQL server, crea automaticamente alcuni oggetti per contenere i metadati.

Proprietà is_ms_shipped in SQL Server

Il is_ms_shipped la proprietà nel server SQL mostra quali oggetti sono stati creati (spediti) da Microsoft quando abbiamo installato SQL Server e quali oggetti sono stati creati dagli utenti.

SELECT nome, object_id, is_ms_shipped FROM sys.objects;
is_ms_shipped = 1 (indica che questo oggetto è stato spedito o creato da Microsoft) is_ms_shipped = 0 (indica che questo oggetto è stato creato da un utente)

Usando la query sopra, vediamo vari oggetti creati sotto un database. La colonna "is_ms_shipped" indica se un oggetto è stato creato da un utente o è stato spedito da Microsoft.

Ora sappiamo che abbiamo creato la tabella STUDENTS, l'elenco delle colonne mostra il nome dell'oggetto, object_id (che è univoco per ogni oggetto creato nel server SQL) e la colonna is_ms_shipped.

Usando il ObjectProperty () sistema creato funzione, possiamo scoprire se un particolare oggetto è stato spedito da Microsoft o è stato creato da un utente.

--2105058535 è object_id per gli studenti della tabella selezionare CASE WHEN OBJECTproperty (2105058535, 'IsMSShipped') = 0 THEN 'Creato dall'utente' ELSE 'Spedito da Microsoft' END AS 'IsMsShipped'; --2089058478 è object_id per la tabella syscommittab SELECT CASE WHEN OBJECTproperty (2089058478, 'IsMSShipped') = 0 THEN 'Creato dall'utente' ELSE 'Spedito da Microsoft' END AS 'IsMsShipped';

Se vogliamo fare una lista di oggetti creati da Microsoft o creati dagli utenti a scopo di controllo, possiamo usare la query qui sotto.

--is_ms_shipped = 1 indica oggetti spediti / creati da Microsoft. SELECT nome, object_id, is_ms_shipped FROM sys.objects WHERE is_ms_shipped = 1; --is_ms_shipped = 0 indica oggetti creati dagli utenti. SELECT nome, object_id, is_ms_shipped FROM sys.objects WHERE is_ms_shipped = 0;