limite de registro sql express

24/10/2019

11

Oi pessoal,

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

Simone

Responder

Posts

24/10/2019

Emerson Nascimento

O limite é de 1 processador e 1GB de memória por instância, e de 10GB por banco de dados.
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.
Responder

24/10/2019

Simone

O limite é de 1 processador e 1GB de memória por instância, e de 10GB por banco de dados.
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?
Responder

24/10/2019

Fernando Junior

O limite é de 1 processador e 1GB de memória por instância, e de 10GB por banco de dados.
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.
Responder

24/10/2019

Simone

O limite é de 1 processador e 1GB de memória por instância, e de 10GB por banco de dados.
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?
Responder

25/10/2019

Emerson Nascimento

é isso aqui:
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


Responder

25/10/2019

Simone

é isso aqui:
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.
Responder

Utilizamos cookies para fornecer uma melhor experiência para nossos usuários,
consulte nossa política de privacidade.

Aceitar