limite de registro sql express

24/10/2019

0

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

Assista grátis a nossa aula inaugural

Assitir aula

Saiba por que programar é uma questão de
sobrevivência e como aprender sem riscos

Assistir agora

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

Aceitar