We have a Windows 2003 Enterprise server with SQL Server 2000 Enterprise on it. This has the AWE settings for 'max memory setting' to 5120MB. This server has 6GB of memory, or rather about 5.8GB due to PAE. From yesterday morning the server has become almost unresponsive when the SQL service is running, and pretty much all the memory, ie < 1MB on average is listed as being free.
The database has been growing constantly and is now 46GB, with database file size of 67GB.
We moved the database onto a new box which was being prepared for another service, and this has 8GB or ram and no AWE settings. It is running fantastic.
We are going to rebuild the original box and the SAN structure, but I want to do some fiddling before we do. I was going to set awe-enabled to 0 to see if that setting was allowing the OS to have no memory, but from reading http://www.microsoft.com/technet/prodtechnol/sql/2000/maintain/failclus.mspx it says If AWE is enabled and is taking too much memory, SQL Server must be shut down to reconfigure it, causing downtime (which makes a high availability option such as failover clustering less available). Because the memory pages used by the instance of SQL Server are taken from the nonpageable pool of Windows memory, none of the memory can be exchanged. This means that if the physical memory is filled up, SQL Server cannot use the page file set up on a physical disk to account for the surplus in memory usage. How do you reconfigure AWE settings if the SQL service is shutdown?
Also, how can I figure out whether the server is deficient in physical RAM, or it is just a 'max memory' setting we need to tweak, or is it just trial and error?
Incase it might help, we have ~3 meaningful DB's on the server apart from 'master'. One is an archive DB ~80GB, one is ~5MB and the live DB which is the size mentioned above. Unfortunately I don't know table sizes.
sql server 2000 is running on windows server 2003 ... 4gb of memory on server .... 2003 was allocated 2.3gb nd sql server was allocated (and using all of it) 1.6gb for total of approx 4gb based on idera monitor software ... all memory allocated betweeen the OS and sql server .... then 4 more gb of memory added for total now of 8g ... now idera monitor shows 1.7gb for OS and 1.0 gb for sql server ..... 'system' info shows 8gb memory with PAE ... so I assume that the full 8gb can now be addressed .... why are less resources being used now with more total memory .... especially sql server ..... i thought about specifying a minimum memmry for sql server but i amnot convinced that would even work since it seems that this 1gb limit is artificial .... it it used 1.6 gb before why would it not use at least that much now ??
I have SQL Server 2000 STD installed on a Windows Server 2003 STD machine. It's essentially the only app on this box. I have 4GB of RAM installed. SQL is configured to dynamically allocate memory. I run a batch file daily to restart the SQL services as SQL does not seem to release memory once it's got it. I don't think this is a problem because, like I said, it's basically the only app. But I want to make sure my OS memory settings and SQL's memory settings are optimized. Will adding the /3gb switch to the boot.ini file make a difference? Also, can someone educate me a little on PAE and AWE? Thanks
Every day or two I have to restart my SQL Server because users are receiving timeouts and very slow page loads. My mem usage in Task Manager show that SQL Server is at 1,200,000k compared to 400,000k when I restart it. Performance Monitor also shows that Buffer Manager/Target Pages and Total pages are maxed out. Any advice? Thanks!
We have a SQL Server 2000 that has been working nice without any issues. Lately we noticed the fact that the amount of memory that it is using has increased and once it took down the web server as the total amount of memory used was 2G. Due to this fact I have set Memory Max to 500MB. Now as I look in Task Manager the Memory usage is at 530396k which is 518MB. Any reason why would it exceed the 500MB?
What we did before was to stop the SQL Server and restart it, and it takes about 2 days until it gets back to +500MB.
Good day to all of you I am faced SQL SERVER 2000 Memory usage problem. I am using Windows 2000 Server SP4 and SQL SERVER 2000 SP4. When User running some in-house application software, the memory for sqlservr.exe was increased . But, when user logout from the software. The sqlservr.exe did not decrease the memory. I have around 100 Users in my company. SQL Memory will countinues increase till max memory usage in CPU.
May i know how to order SQL SERVER need to purge memory when USER was log off from the Program? Or my SQL SERVER was corrupted /missing file?
SQL Server 2000 SP3 on a Dell dual 2.4GHz Xeon box 3GB RAM Windows 2KSP4. Two aplication dbs, each less than 2GB in size.Had a problem where we would run Solomon queries and what not againstthe box. It had 2GB RAM, and sqlserv.exe would take up to 1.85GB ofRAM, exhausting the physical RAM on the box. SQL would choke and theSolomon users would have problems, and I would have to restart the SQLservice.I added another GB of RAM, bringing the box to 3GB, and increased thepaging file. The OS sees it, and SQL sees it. I check EnterpriseManager, and tell SQL to dynamically configure memory, and it offers anupper limit of 3071MB, so it "sees" the 3GB.I can stress the box with queries to the point that sqlserv.exe takes1.99GB of memory (as viewed through Task Manager) and then SQL serverchokes. It never goes past 2GB, and the OS and box continue runningfine.Does SQL server 2000 have some upper limit, or do I just need to changesome setting through EM?Thanks.
Hi,I guess SQL server does not release claimed memory even if it is notused. Is there anyway to free the unused memory?Thanks,John Jayaseelan*** Sent via Developersdex http://www.developersdex.com ***Don't just participate in USENET...get rewarded for it!
We use MSDN SQL 2000 , the enterprise edition for our development servers, which have always had 2GB RAM. Now they are bringing in a Win 2003 Enterprise with > 12GB RAM . They want SQL SERVER 2000 to use AWE memory up to 12GB . Is there any limitation on MSDN Ent. Edition using more memory.?
I am running SQL Server 2000 on a desktop PC. Just recently upgraded my PC to 2gig of ram from 1 gig, in part, to try and fix the problem below. Didn't work. Have SP3 installed but not SP4 at this point.
When I open up query analyzer and edit some code, regardless of whether I actually execute the code, SQL server eventually sucks up available and cached memory to the point that my system comes to an effective halt --takes forever to do anything either in SQL server or other applications. In the task manager PF Usage climbs to just over the 2gig memory limit.
I conceptually understand the dynamic memory operation of SQL server ... but why is it sucking up most available memory when nothing is executing?
Is there a way I can release/clear the memory? Ideally, code that coould be run under a stored procedure would best meet my needs. Right now, I am "fixing" by shutting down and then restarting SQL server.
Hi to all, i have a very important problem...pls help me
I have a server with Windows 2003 Server (3GB RAM) and SQL SERVER 2000 running on it, my problem is that sqlserv.exe eat 2GB RAM even if on this server nothing happen....if i restart the service of SQL Server everything is ok eat just 30 MB RAM but after some minutes...after i made a simple select or a simple delete....simple things he arrive to 2GB RAM...this not happen until now(2 days ago)...the problem is that when he arrive to ~2GB RAM the statio run very slow and i receive the error "Time out expire"
this problem happens and on my local station where i have Win XP PRO (1 GB RAM) SQL Server 2000....
The issue I'm going to pose here has to do with SQL Server allocated memory BEING EXHAUSTED by an application (a simple data receiver from GPS units) when the number of units connecting to it is considerably increasing. This happens to an extent that no more connections from the units are valid and therefore lots of data (Afterwards) is being lost. This causes a real problem with the installations and the projects which are running the system.
I will hereby post all of the info which might be useful for any Database Experts among you, so you can perhaps help me figure out the source(s) of the mentioned problem, and possible solution(s) of the issue.
1- The Operating System used: Windows 2003 Server (Ent. Edition)
2- The Database Server used: Microsoft SQL 2000 Server
3- The amount of memory: 1 GB (but on some sites there are 4 GB and the same problem is faced)
4- The conditions where the issue happens When the amount of the received data - which gets written to the SQL Server tables - exceeds a certain limit.
5- Number of applications used: We are using two applications: a- The receiver, which is a simple application that only receives the data from the GPS units installed at the cars of the clients' fleet(s), and writes them to the database (Day and Night - running all the time), so the memory used gets bigger and bigger till it floats the memory used by MS SQL Server 2000. As a result of this the connections made from the units furtherly to this point (to the receiver) are not being received and written to the database.
b- the other application is quite heavy.. it does data management on SQL Server 2000 and exhausts the CPU. It reads from tables and makes analysis for GPS data... This is done while "vehicle tracking".. so it makes calculations on the received data and stores them into output tables.
6- The programming language used in writing these 2 applications: Delphi 7
7- What are we doing right now to handle this problem? We need to flush the memory on periodical basis. This is being done by stopping the SQL Server, or by restarting the PC. And it is not solving the problem entirely, especially that there must be a way to handle this. BTW, the memory is not being flushed when we turn the application off.
8- What do we need to know?
a- We've found, after research, that there are "Temporary tables" or objects in SQL Server 2000, that the DB system creates.. also page files, and temp tables. What are these for? And does handling them in a certain manner help solve the problem? b- Is there a way to monitor our applications to see where they are increasing the usage of memory and how this is happening? c- Is there a script that writes to the database that we can use to see if the problem is from our applications? And in case it is, then is there a command we should write or a function or script we should run in order to flush the MS SQL 2000 Server periodically, so that it doesn't flood?
What comments can you have on this issue? Are there solutions at hand?
I thank everyone for trying to help!
All the best :beer: :beer: TD.
P.S. you can write to me at: database1980 (AT) hotmail (DOT) com
I am joining the thread that initially Mike started. We have a x64 bit SQL Server with 32GB RAM. On start up sqlserver.exe starts with 15 to 20MB of RAM. After that the memory gradually increases at a step of 100MB and reaches 31.8 GB at the end. We don't see a out of memory situation so far and the memory remains the same, once the sqlserver.exe reaches that level we are facing application in stability issue. There is no other application running in this server. At present the database size is 28GB and we have employed the following,
There is a database replication running
A weekly maintenance plan to reindex, backup and other maintenance is running.
There is a log back up job which runs once in 2hrs time.
The temdb size grows to 3gb max. We didn't see any temp table created left out orphan in the temdb.
We have the required indexes placed in the tables to reduce the scan time. Also the server is configured to use dynamic memory allocation that is all are factory settings.
The database is encounters on an average 200 to 500 connections at a time. One observation is the memory goes up as soon as the replication starts, this is at one of the 2 servers.
Please advise what is causing this issue and how to go abt it.
We have an SQL 2000 Standard SP4 system with 3gb of RAM running on Windows 2003 Server R2 Standard.
The SQL memory usage of this server flatlines at around 1665mb and will not go any higher.
I understand SQL 2000 Standard on Windows 2003 Server Standard has a 2gb memory limit, however why wont the memory push up to this limit? The OS shows there is around 700mb of the 3076 unused (SQL uses 1660, windows uses around 700 making the maximum used around 2300 of the 3076)
I have set the /3gb switch on windows boot, I have changed the SQL memory configurations many different times. If I try and set 'min server memory' to anything over around 1500mb I get the error on SQL startup;
Warning: unable to allocate 'min server memory' of 1720mb
In the above example surely if the Server has a 2gb limit it should let me set say 1720/2048 ? or 1920/2048 or even 2048/2048, however anything over around 1500 generates the above error.
Our server continues to flatline at 1660mb, any help to squeeze out an extra 200-400mb of RAM would be appreciated or an explination as to why it can not be done.
My server is a dual AMD x64 2.19 GHz with 8 GB RAM running under Windows Server 2003 Enterprise Edition with service pack 1 installed. We have SQL 2000 32-bit Enterprise installed in the default instance. AWE is enabled using Dynamically configured SQL Server memory with 6215 MB minimum memory and 6656 maximum memory settings.
I have now installed, side-by-side, SQL Server 2005 Enterprise Edition in a separate named instance. Everything is running fine but I believe SQL Server2005 could run faster and need to ensure I am giving it plenty of resources. I realize AWE is not needed with SQL Server 2005 and I have seen suggestions to grant the SQL Server account the 'lock pages in memory' rights. This box only runs the SQL 2000 and SQL 2005 server databases and I would like to ensure, if possible, that each is splitting the available memory equally, at least until we can retire SQL Server 2000 next year. Any suggestions?
Could anyone inform me how much the conventional memory SQL7 Enterprise on Advanced Server 2000 can have? The SQL is on an active/active cluster. Currently each runs at 2GB of memory, with available memory for failover. I am planning to add another 2GB to each SQL node. Is this possible? Are there any configurations I need to do? Do I need to set AWE enabled? and How much?
I did a load testing and found the following observations:
1. The Memory:Pages/sec was crossing the limit beyond 20.
2. The Target Server Memory was always greater than Total Server Memory
Seeing the above data it seems to be memory pressure. But I found that AvailableMemory was always above 200 MB. Also Buffer Cache HitRatio was close to 99.99. What could be the reason for the above behavior?
Does anyone know how or where to adjust Ram Memory usage for SQL 2000. I've just added Changed the 512 MB Ram that came with the Server and Exchanged it with 4 GIG Ram . Is it a good Idea to allow only 2GiG for SQL . I 've heard that SQL will take/use all Ram that you install if you let. If this is true Can anyone advise on how/where to make adjustments. Thank You...
I am looking for recommandations regarding the memory distribution for SQL 2000 server. In the memory tab of the server properties you can define use a fixed memory size or dynamically configure SQL server or even reserve physical memory for SQL server. Are there any hints available or must it be handled according trial and error?
Running sqlserver 2000 on a w2k server with 1gb of memory. After a reboot the memory usage is around 500m but quickly climbs. At 1 point it was up to 1.5gb so it must have been swapping. Are there any good docs about this or any recommendations on how to limit sqlserver from using all the memory. It is the only application on the server so it isn't affecting anything else so maybe it isn't a problem. I just wanted to get people's inpit on this.
I would like to ask regarding the memory allocation fo SQL Server 2000. For example if my Data Server have 8GB physical memory installed how much memory can SQL Server 2000 utilize? Based on my research and understing SQL 2000 Server can only utilize 3GB memory? But using the AWE you can set the memory to a maximum server memory?
I recently changed the max. memory option in SQL from 24 GB to 30GB but the perfmon counters still only show 24 GB. Any ideas on why it is not recognizing the change? The server has Win 2003 EE and 32 GB of RAM.
On one of our intranet SQL servers running under Windows 2000 SP 3, MSsql 2000 SP4 seems to gradually "eat" away all available memory (with no obvious reason for it) until a certain limit is reached, forcing the server to slow down substantially since the OS has to SWAP continuously.
I would appreciate any suggestions at this point on how to tackle this problem :)
Hi, I have one application in two different companies with MSSQL2000 running on Windows2000 Server and Windows2003 Server. It seems that memory needed for MSSQL2000 as displayed in task manager is increased every day. Does anybody knows anything regarding memory leaks in MSSQL2000?
How can I find what version of service pack have I installed in a MSSQL2000 server machine?
I have an Active/Active/Passive cluster with 64GB RAM on each node running SQL 2000 EE, AWE is enabled as well as the PAE switch, all is dandy with that.
Question: Should I configure each SQL Instance to have only a max mem usage of 32GB in the event both failover to the same node ? or will the memory allocation be handled without any issue if each node is configured to use 64GB ?
Hi,From a previous sys-admin I inherited a a MS-SQL (2000) machine with 3instances. It is a nice machine with 4 Gb of memory but the memory allocationis very weird:Instance A: 1400MbInstance B: 1000MbInstance C: 80Mb (!)Instance C is performing badly under a bit of pressure which seems not strangeconsidering these allocations.With that in mind, is there a way to check and re-allocate memory? I'd like tosee if the instances really need these amounts of memory and if not, to movesome over to other instances.Thanks!Dries Bessels
We have a new server (4 dual-core CPUs and 8GB ram) with Windows 2003 x64 installed. We need to put SQL 2000 on the system and want to maximize it for sql performance (will be dedicate to SQL). Do we enable awe in SQL? Are there any 3GB switches we need to put in the boot.ini for the 32-bit subsystem? Should we use the 32bit version of Windows and just use awe and pae?
One of my production SQL Server 2000 systems is listening on TCP and Named Pipes, but not on Shared Memory.
This server has a lot of scheduled jobs that are internal to this box. I assume these jobs would benefit from using shared memory instead of TCP/IP, but I can't figure out why it doesn't use shared memory already and how to correct that.
Does anyone have any advice or useful experience configuring memory management for SQL Server 2000 and 2005 instances residing on the same box? I'm looking for advice on whether I should just completely leave it up to SQL Server and Windows to allocate memory or should I attempt to put ceilings on certain instances.
I have a client server that has win2000 on it with sql 2000 enterprise edition. The box has 4 gig of memory on it. I noticed today that the sql server was set to use all 4 gig (even though I know sql can't really access that memory because sql can't really utilize the 2-4 gig range). Is there overhead or a downside to leaving it at this, or should I set it to 2 gig