Hello,
J'ai besoin encore de votre lumière.
Pour obtenir le nombre total de pages occupées par la table T_TEST, j'ai fais :

Code : Sélectionner tout - Visualiser dans une fenêtre à part
1
2
3
SET STATISTICS IO ON
SELECT * FROM T_TEST
SET STATISTICS IO OFF
Et obtenir le résultat suivant :

--(1000000 row(s) affected)
--Table 'T_TEST'. Nombre d'analyses 1, lectures logiques 219698, lectures physiques 0, lectures anticipées 0, lectures logiques de données d'objets volumineux 0, lectures physiques de données d'objets volumineux 0, lectures anticipées de données d'objets volumineux 0.
Par contre en utilisant la DMV "sys.dm_db_partition_stats", je trouve une valeur différente :

Code : Sélectionner tout - Visualiser dans une fenêtre à part
1
2
3
4
5
6
7
SELECT partition_id,
       SUM(used_page_count) AS total_number_of_used_pages, 
       SUM (reserved_page_count) AS total_number_of_reserved_pages,
       SUM (row_count) AS total_number_of_rows    
FROM sys.dm_db_partition_stats
WHERE object_id=OBJECT_ID(N'MaBase.dbo.T_TEST') AND (index_id=0 or index_id=1)
GROUP BY partition_id

partition_id-------------------- total_number_of_used_pages --------------------total_number_of_reserved_pages -------------------- total_number_of_rows
72057594042187776-------------------- 5416 ---------------------------------------- 5417 -------------------------------------------1000000

d'où provient cette différente ? Merci de m'éclairer.

-- Voici la table T_TEST

Code : Sélectionner tout - Visualiser dans une fenêtre à part
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
--Création de la table
SET NOCOUNT ON 
IF OBJECT_ID('dbo.T_TEST') IS NOT NULL 
DROP TABLE dbo.T_TEST 
CREATE TABLE dbo.T_TEST 
( 
  id int identity(1,1), 
  val varchar(10), 
  creation_date datetime 
)
 
--Chargement d'1 million de lignes dans la table 
DECLARE @counter int; 
SET @counter = 1; 
WHILE @counter <= 1000000 
  BEGIN 
  INSERT INTO T_TEST(val,creation_date) VALUES(convert(varchar(10),(LEFT(convert(bigint,RAND()*10000000),6))),getdate()); 
  SET @counter = @counter + 1 
END;