je cours ce SQL: et le résultat est le suivant: p> sysdiagrams code> est une table système
code> mais montrée en résultat. p>
SELECT S.name as Owner, T.name as TableName
FROM
sys.tables AS T
INNER JOIN sys.schemas AS S ON S.schema_id = T.schema_id
LEFT JOIN sys.extended_properties AS EP ON EP.major_id = T.[object_id]
WHERE
T.is_ms_shipped = 0 AND
(EP.class_desc IS NULL OR (EP.class_desc <>'OBJECT_OR_COLUMN' AND
EP.[name] <> 'microsoft_database_tools_support'))
3 Réponses :
Voulez-vous s'il vous plaît essayer avec la requête ci-dessous, merci
Merci de votre réponse, je pense que cela n'exclurea que sysdiagrams code>, mais je veux savoir si une manière générique d'exclure toute la table du système.
Habituellement, dans chaque base de données créée, une seule table système nommée sysdiagrams code>, afin que nous puissions aller avec la requête ci-dessus, merci pour votre temps.
SSMS utilise une propriété étendue pour marquer la table SysDiagrams comme une sorte de pseudo system table.
Essayez ceci: p>
SELECT S.name as Owner, T.name as TableName FROM sys.tables AS T INNER JOIN sys.schemas AS S ON S.schema_id = T.schema_id LEFT JOIN sys.extended_properties AS EP ON EP.major_id = T.[object_id] WHERE (EP.class_desc IS NULL OR (EP.class_desc <> 'OBJECT_OR_COLUMN' AND EP.[name] <> 'microsoft_database_tools_support'))
Le T. [type] = 'u' code> semble un peu redondant, car
sys.tales code> sélectionne déjà uniquement des objets de type
o.type = 'u' < / code> dans sa définition
Supprimé T. [TYPE] = 'U'
Vous pouvez utiliser is_ms_shipped code> pour cela. J'espère que le script ci-dessous est ce que vous recherchez
SELECT
S.[name] AS Owner,
T.[name] AS TableName
FROM
sys.tables AS T JOIN sys.schemas AS S
ON S.schema_id = T.schema_id
WHERE
T.is_ms_shipped = 0
AND T.[name] <> 'sysdiagrams'
Bienvenue sur Stackoverflow: Si vous postez du code, des échantillons XML ou des données, Veuillez mettre en surbrillance ces lignes dans l'éditeur de texte et cliquez sur le bouton "CODE SAMPLES" ( {} code>) sur La barre d'outils de l'éditeur au format joliment et la syntaxe met en surbrillance!
Bien sûr Marc_s. Merci de me laisser savoir sur le bouton "Samples de code".
Malheureusement, cela ne pas b> excluez le tableau code> sysdiagrams code> car ce tableau n'a pas le is_ms_shipped code> drapeau .....
J'ai édité ma réponse pour ignorer les sysdiagrammes explicitement. Merci.
is_ms_shiped code> peut être une meilleure propriété à utiliser, si vous souhaitez également exclure par ex. Objets ajoutés à la base de données pour prendre en charge la réplication (alors que la réponse sélectionnée n'est utile que pour l'exclusion, en particulier les objets ajoutés aux schémas de support)
@Damien_the_unbeliever: Malheureusement, que
sysdiagrams code> ne dispose pas de
is_ms_shipped = 1 code> défini - il ne sera donc pas affecté lorsque vous essayez d'exclure toutes les tables système