mssql2005에서 MB의 테이블 크기를 가져 오려는 경우 EXEC sp_spaceused 'table'을 사용합니다.SQL Azure 테이블 크기
일부 쿼리 또는 API를 사용하여 SQL Azure의 특정 테이블에서 사용되는 공간을 확보 할 수있는 방법이 있습니까?
라이언 던에서mssql2005에서 MB의 테이블 크기를 가져 오려는 경우 EXEC sp_spaceused 'table'을 사용합니다.SQL Azure 테이블 크기
일부 쿼리 또는 API를 사용하여 SQL Azure의 특정 테이블에서 사용되는 공간을 확보 할 수있는 방법이 있습니까?
라이언 던에서http://dunnry.com/blog/CalculatingTheSizeOfYourSQLAzureDatabase.aspx
select
sum(reserved_page_count) * 8.0/1024 [SizeInMB]
from
sys.dm_db_partition_stats
GO
select
sys.objects.name, sum(reserved_page_count) * 8.0/1024 [SizeInMB]
from
sys.dm_db_partition_stats, sys.objects
where
sys.dm_db_partition_stats.object_id = sys.objects.object_id
group by sys.objects.name
order by sum(reserved_page_count) DESC
첫 번째는 당신에게 MB의 데이터베이스의 크기와 동일한 작업을 수행 할 두 번째를 제공하지만, 발주 데이터베이스에있는 각 개체에 대해 그것을 깰 것 가장 큰 것에서 가장 작은 것.
이 방법은 위에 더 큰 가질 수 있습니다 여기에
SELECT sys.objects.name,
SUM(row_count) AS 'Row Count',
SUM(reserved_page_count) * 8.0/1024 AS 'Table Size (MB)'
FROM sys.dm_db_partition_stats, sys.objects
WHERE sys.dm_db_partition_stats.object_id = sys.objects.object_id
GROUP BY sys.objects.name
ORDER BY [Table Size (MB)] DESC
sum (row_count)은 인덱스의 모든 행에 대해 1 행을 계산하므로 사기성입니다. – tster
테이블에서 행 당 행과 바이트의 전체 크기, 수 당신을 줄 것이다 쿼리입니다 :
,536,913 : 여기select
o.name,
max(s.row_count) AS 'Rows',
sum(s.reserved_page_count) * 8.0/(1024 * 1024) as 'GB',
(8 * 1024 * sum(s.reserved_page_count))/(max(s.row_count)) as 'Bytes/Row'
from sys.dm_db_partition_stats s, sys.objects o
where o.object_id = s.object_id
group by o.name
having max(s.row_count) > 0
order by GB desc
그리고 는 위와 동일하지만 인덱스를 분해하는 쿼리입니다
select
o.Name,
i.Name,
max(s.row_count) AS 'Rows',
sum(s.reserved_page_count) * 8.0/(1024 * 1024) as 'GB',
(8 * 1024* sum(s.reserved_page_count))/max(s.row_count) as 'Bytes/Row'
from
sys.dm_db_partition_stats s,
sys.indexes i,
sys.objects o
where
s.object_id = i.object_id
and s.index_id = i.index_id
and s.index_id >0
and i.object_id = o.object_id
group by i.Name, o.Name
having SUM(s.row_count) > 0
order by GB desc
이렇게하면 SQL Server에서 sp_spaceUsed보다 훨씬 작은 크기가됩니다 (예 : 겨우 40 % 정도). 이것에 대한 이유가 있습니까? ODBC 연결을 사용하는 경우 백엔드에서 Azure라는 것을 어떻게 알 수 있습니까? –
트로이 - 정말 잘됐다 !! 고맙습니다! – Rogala