Bonjour,
je cherche l'equivalence de ces définitions pour SQL Server
- TABLESPACE_NAME
- SYS.DBA_TABLES
- SYS.DBA_IND_COLUMNS
- SYS.ALL_IND_EXPRESSIONS
- SYS.ALL_TAB_COLS
Merci d'avance.
Bonjour,
je cherche l'equivalence de ces définitions pour SQL Server
- TABLESPACE_NAME
- SYS.DBA_TABLES
- SYS.DBA_IND_COLUMNS
- SYS.ALL_IND_EXPRESSIONS
- SYS.ALL_TAB_COLS
Merci d'avance.
Il n'y a pas de tablespace chez SQL Server.
Pour les tables et colonnes :
Pour les indexes :
Code : Sélectionner tout - Visualiser dans une fenêtre à part
1
2 select * from information_schema.tables; select * from information_schema.columns;
Il y a peut-être des jointures à faire avec une autre vue système pour récupérer d'autres informations, mais ça vous fait une bonne base de rechercher déjà.
Code : Sélectionner tout - Visualiser dans une fenêtre à part
1
2 select * from sys.indexes; select * from sys.index_columns;
Tout à fait .. on pourait cependant dire que "l'équivalent" serait les FILEGROUPS.Il n'y a pas de tablespace chez SQL Server.
++
Code : Sélectionner tout - Visualiser dans une fenêtre à part
1
2
3 SELECT * FROM sys.filegroups; SELECT * FROM sys.data_spaces;
Bien sur que si... ! Les table_space ne sont que des noms données à ce que l'on appelle des storage ou espace de stockage. Chez MS SQL Server et Sybase cela s'appelle des "file_group" et c'est exactement la même chose !
Donc sys.data_spaces
Pour les autres :
SYS.DBA_TABLES =>
SYS.DBA_IND_COLUMNS =>
Code : Sélectionner tout - Visualiser dans une fenêtre à part
1
2
3 1) SELECT * FROM INFORMATION_SCHEMA.TABLES WHERE TABLE_TYPE = 'BASE TABLE' 2) SELECT * FROM sys.tables 3) SELECT * FROM sys.all_objects WHERE type_desc = 'USER_TABLE'
SYS.ALL_IND_EXPRESSIONS => (les colonnes calculées indexées)
Code : Sélectionner tout - Visualiser dans une fenêtre à part SELECT * FROM sys.index_columns
SYS.ALL_TAB_COLS =>
Code : Sélectionner tout - Visualiser dans une fenêtre à part
1
2
3
4
5
6
7
8
9 SELECT * FROM sys.indexes AS i INNER JOIN sys.index_columns AS ic ON i.object_id = ic.object_id AND i.index_id = ic.index_id INNER JOIN sys.columns AS c ON ic.object_id = c.object_id AND ic.column_id = c.column_id WHERE c.is_computed = 1
1) INFORMATION_SCHEMA.COLUMNS
2) sys.columns
Entre nous, ce serait tellement mieux si Oracle respectait la norme sql avec INFORMATION_SCHEMA !
A +
Frédéric Brouard - SQLpro - ARCHITECTE DE DONNÉES - expert SGBDR et langage SQL
Le site sur les SGBD relationnels et le langage SQL: http://sqlpro.developpez.com/
Blog SQL, SQL Server, SGBDR : http://blog.developpez.com/sqlpro
Expert Microsoft SQL Server - M.V.P. (Most valuable Professional) MS Corp.
Entreprise SQL SPOT : modélisation, conseils, audit, optimisation, formation...
* * * * * Expertise SQL Server : http://mssqlserver.fr/ * * * * *
Au temps pour moi pour les tablespaces alors !
je vous remercie tous pour votre aide, mon problème est résolu grâce à vous. Au prochain problème alors![]()
j'ai encore besoin de votre aide, je cherche l'équivalence de ces deux champs avec SQL Server : SYS.DBA_IND_COLUMNS.CHAR_LENGTH
et SYS.DBA_IND_COLUMNS.DESCEND
et je veux aussi savoir si vous avez une idée de ce champs : COLUMN_EXPRESSION
j'ai longtemps cherché mais je n'ai rien trouvé, merci de votre aide!
c'est bon pour DBA_IND_COLUMNS.CHAR_LENGTH, j'ai trouvé CHARACTER_MAXIMUM_LENGTH dans INFORMATION_SCHEMA.COLUMNS, maintenant il me reste DBA_IND_COLUMNS.DESCEND (il y a sys.index_columns.is_descending_key, mais c'est uniquement sur SQL Server 2005 et moi je travaille sur SQL Server 2000).
est ce qu'il y a l'équivalent de sys.index_columns.is_descending_key dans SQL Server 2000 ?
En version 2000, c'est pas terrible :
En 2005/2008 :
Code : Sélectionner tout - Visualiser dans une fenêtre à part
1
2 SELECT *, INDEXKEY_PROPERTY ( id, indid , colid , 'IsDescending') AS "DESC" FROM sysindexkeys
A +
Code : Sélectionner tout - Visualiser dans une fenêtre à part SELECT * FROM sys.index_columns
Frédéric Brouard - SQLpro - ARCHITECTE DE DONNÉES - expert SGBDR et langage SQL
Le site sur les SGBD relationnels et le langage SQL: http://sqlpro.developpez.com/
Blog SQL, SQL Server, SGBDR : http://blog.developpez.com/sqlpro
Expert Microsoft SQL Server - M.V.P. (Most valuable Professional) MS Corp.
Entreprise SQL SPOT : modélisation, conseils, audit, optimisation, formation...
* * * * * Expertise SQL Server : http://mssqlserver.fr/ * * * * *
merci pour ta réponse SQLpro, mais est ce que ce n'est pas plutot
puisque dans indexkey_property, le troisième argument est la position de la colonne de clé d'index (keyno)?
Code : Sélectionner tout - Visualiser dans une fenêtre à part
1
2 SELECT *, INDEXKEY_PROPERTY ( id, indid , keyno , 'IsDescending') AS "DESC" FROM sysindexkeys
PS : je te remercie beaucoup, tu m'a vraiment aidé
Oui, tu as raison, autant pour moi !!!!
A +
Frédéric Brouard - SQLpro - ARCHITECTE DE DONNÉES - expert SGBDR et langage SQL
Le site sur les SGBD relationnels et le langage SQL: http://sqlpro.developpez.com/
Blog SQL, SQL Server, SGBDR : http://blog.developpez.com/sqlpro
Expert Microsoft SQL Server - M.V.P. (Most valuable Professional) MS Corp.
Entreprise SQL SPOT : modélisation, conseils, audit, optimisation, formation...
* * * * * Expertise SQL Server : http://mssqlserver.fr/ * * * * *
Partager