Liste des noms de table, le propriétaire, le schéma et les colonnes dans la base de données SQL server
Dans SQL SERVER comment puis-je obtenir une liste de tous les noms de table, les noms de colonnes et les propriétaires?
Je l'ai fait, mais où puis-je obtenir les coordonnées du PROPRIÉTAIRE?
SELECT t.name AS tableName,
s.name SchemaName
FROM sys.tables AS t
INNER JOIN sys.schemas AS s
ON t.[schema_id] = s.[schema_id]
- Il y a des différences entre le schéma et le propriétaire. Lire ce lien pour plus de détails. Si vous avez besoin de lire le
Schema.Table.Columns
liste, il est préférable d'utiliser l'dédiéINFORMATION_SCHEMA
(qui contient les TABLES et les COLONNES de la vue) norme SQL-92 points de vue. - Je voulais utiliser l'id de l'objet qui les informations de schéma ne marche pas . Je regarde pour un particulier nom de la table et de la colonne nom fourni par l'utilisateur et de voir si il/elle ont la permission d'accéder à la table même si le schéma
- Vous pouvez utiliser le OBJECT_ID ("schéma.nom') funtction afin d'obtenir le tableau object_id.
Vous devez vous connecter pour publier un commentaire.
Note que "TABLE_OWNER" est la même que pour un SCHÉMA "Propriétaire" et "TABLE_TYPE" permettra d'identifier si l'élément est une table OU une vue.
Espérons que cette aide!
Avez-vous essayé d'utiliser le haut-
sp_tables
procédure stockée? Voir http://msdn.microsoft.com/en-us/library/ms186250.aspx pour l'utilisation.J'aurais ajouté ceci comme commentaire, mais je ne souhaite apparemment besoin de 50 points de réputation à faire.
EXEC sp_tables @table_name = '%', @table_owner = '%'
exec sp_tables <table name>
et vous obtiendrez les détails de cette table.