0

私たちのプロジェクトには、数百万のレコード (~1 億) をデータベースに保存するという要件があります。また、SQL Express Edition 2012 は最大 10 GB のデータに対応できることがわかっています。このクエリを使用してデータベースの実際のサイズを取得しています - これは正しいですか?

use [Bio Lambda8R32S50X]

SELECT DB_NAME(database_id) AS DatabaseName,
Name AS Logical_Name,
Physical_Name, (size*8)/1024 SizeMB
FROM sys.master_files
WHERE DB_NAME(database_id) = 'Bio Lambda8R32S50X'

GO

SET NOCOUNT ON 

DBCC UPDATEUSAGE(0) 

-- Table row counts and sizes.
CREATE TABLE #t 
( 
    [name] NVARCHAR(128),
    [rows] CHAR(11),
    reserved VARCHAR(18), 
    data VARCHAR(18), 
    index_size VARCHAR(18),
    unused VARCHAR(18)
) 

INSERT #t EXEC sp_msForEachTable 'EXEC sp_spaceused ''?''' 

SELECT *
FROM   #t

-- # of rows.
SELECT SUM(CAST([rows] AS int)) AS [rows]
FROM   #t

DROP TABLE #t 

2 番目の質問は、この制限がプライマリ ファイル グループのデータベース サイズのみに適用されるのか、それともログ ファイルも含めて適用されるのかということです。多くの削除と挿入を行った場合、または同じ数のレコードを削除して挿入した場合、データベースのサイズは変化しますか、それとも同じままですか?

これは、SQL Server 2012 Express Edition を使用できるかどうかを決定するため、非常に重要です。

感謝と敬意

スバシッシュ

4

1 に答える 1