Fórum limite de registro sql express #606202
24/10/2019
0
Uso o sql express 2014, e estou tentando inserir 5000 registros e só vai até 1000.
Até onde sei, tem limite de 10GB por base. Meu arquivo .mdf e está em 5000KB
Alguem me dizer porque não consigo inserir mais registro?
Simone
Curtir tópico
+ 0Posts
24/10/2019
Emerson Nascimento
o que pode ter acontecido: teu banco não alcançou 10GB de tamanho, mas o processo pode ter alcançado 1GB de memória.
Gostei + 0
24/10/2019
Simone
o que pode ter acontecido: teu banco não alcançou 10GB de tamanho, mas o processo pode ter alcançado 1GB de memória.
Como faço pra saber se é esse o problema de fato?
Gostei + 0
24/10/2019
Fernando Junior
o que pode ter acontecido: teu banco não alcançou 10GB de tamanho, mas o processo pode ter alcançado 1GB de memória.
Como faço pra saber se é esse o problema de fato?
Talvez um e-mail para o suporte da Microsoft.
Gostei + 0
24/10/2019
Simone
o que pode ter acontecido: teu banco não alcançou 10GB de tamanho, mas o processo pode ter alcançado 1GB de memória.
Como faço pra saber se é esse o problema de fato?
Talvez um e-mail para o suporte da Microsoft.
Usei esse script para saber o tamanho da tabela
DECLARE @table_name VARCHAR(500) ;
DECLARE @schema_name VARCHAR(500) ;
DECLARE @tab1 TABLE(
tablename VARCHAR (500) collate database_default
, schemaname VARCHAR(500) collate database_default
);
DECLARE @temp_table TABLE (
tablename sysname
, row_count INT
, reserved VARCHAR(50) collate database_default
, data VARCHAR(50) collate database_default
, index_size VARCHAR(50) collate database_default
, unused VARCHAR(50) collate database_default
);
INSERT INTO @tab1 SELECT t1.name, t2.name FROM sys.tables t1
INNER JOIN sys.schemas t2 ON ( t1.schema_id = t2.schema_id );
DECLARE c1 CURSOR FOR
SELECT t2.name + '.' + t1.name FROM sys.tables t1
INNER JOIN sys.schemas t2 ON ( t1.schema_id = t2.schema_id );
OPEN c1;
FETCH NEXT FROM c1 INTO @table_name;
WHILE @@FETCH_STATUS = 0
BEGIN
SET @table_name = REPLACE(@table_name, '[','');
SET @table_name = REPLACE(@table_name, ']','');
IF EXISTS(SELECT OBJECT_ID FROM sys.objects WHERE OBJECT_ID = OBJECT_ID(@table_name))
BEGIN
INSERT INTO @temp_table EXEC sp_spaceused @table_name, false ;
END
FETCH NEXT FROM c1 INTO @table_name;
END;
CLOSE c1;
DEALLOCATE c1;
SELECT t1.*, t2.schemaname FROM @temp_table t1
INNER JOIN @tab1 t2 ON (t1.tablename = t2.tablename )
ORDER BY schemaname,tablename;
SELECT -100 AS l1
, ERROR_NUMBER() AS tablename
, ERROR_SEVERITY() AS row_count
, ERROR_STATE() AS reserved
, ERROR_MESSAGE() AS data
, 1 AS index_size, 1 AS unused, 1 AS schemaname
me retornou isso
tablename row_count reserve Data index_size unused schemaname tabelaXYZ 1003 56 KB 40 KB 16 KB 0 KB dbo
Seria isso mesmo?
Gostei + 0
25/10/2019
Emerson Nascimento
SELECT DB.name, SUM(size)*8 AS Tamanho_KB, CAST(ROUND((SUM(size)*8)/1024.0,2) AS NUMERIC(15,2)) AS Tamanho_MB, CAST(ROUND((SUM(size)*8)/1024.0/1024.0,2) AS NUMERIC(15,2)) AS Tamanho_GB, CAST(ROUND((SUM(size)*8)/1024.0/1024.0/1000.0,2) AS NUMERIC(15,2)) AS Tamanho_TB FROM sys.databases DB INNER JOIN sys.master_files ON DB.database_id = sys.master_files.database_id GROUP BY DB.name
Gostei + 0
25/10/2019
Simone
SELECT DB.name, SUM(size)*8 AS Tamanho_KB, CAST(ROUND((SUM(size)*8)/1024.0,2) AS NUMERIC(15,2)) AS Tamanho_MB, CAST(ROUND((SUM(size)*8)/1024.0/1024.0,2) AS NUMERIC(15,2)) AS Tamanho_GB, CAST(ROUND((SUM(size)*8)/1024.0/1024.0/1000.0,2) AS NUMERIC(15,2)) AS Tamanho_TB FROM sys.databases DB INNER JOIN sys.master_files ON DB.database_id = sys.master_files.database_id GROUP BY DB.name
Obrigada,
Meu insert deu certo, não era problema de memória.
Gostei + 0
Clique aqui para fazer login e interagir na Comunidade :)