Still celebrating National IT Professionals Day with 3 months of free Premium Membership. Use Code ITDAY17

x
?
Solved

Cannot start

Posted on 1998-04-21
10
Medium Priority
?
539 Views
Last Modified: 2012-06-21
NtServer 40
I use MSQL 6,5 for learning purposes
after installing software (IIS, ASP and I do not remember what) I was unable to start my SQLServer
Getting Err 2140  "Internal NT error occurred"
Messages from MSQL errorlog
kernel   initblkmem: not enough memory for MEMMAP structures
kernel   initdata: suballocation for buffer pages failed (121032704 bytes requested)
I have 32 RAM  and 2G space
Any help appreciated
Matt
mativare@i-2000.com
0
Comment
Question by:mativare
[X]
Welcome to Experts Exchange

Add your voice to the tech community where 5M+ people just like you are talking about what matters.

  • Help others & share knowledge
  • Earn cash & points
  • Learn & ask questions
10 Comments
 
LVL 2

Expert Comment

by:jbiswas
ID: 1088820
Try rebooting the machine and trying to start server. If this fails go to your taskmanager and see what processes are running and how much memory is being taken up. See if you can close down some processes. If none can be closed, increase virtual memory. I don't know what you've set your paging file size as...so try increasing it by 50Mb from it's present size. If you still have problems starting the server then you might have done a faulty installation of the IIS/ASP. They really should not clash, but who knows what windows dll's gets overwritten.
0
 
LVL 1

Author Comment

by:mativare
ID: 1088821
Virtual memory 105 Now, still server cannot start
If I reinstall can I reach to my stored procedures and table definitions , in case data not backed up
0
 
LVL 2

Expert Comment

by:jbiswas
ID: 1088822
Once you reinstall MS SQL Server you cannot access any of the objects you created in the previous server(unless you have a backup and you create a database on the new server with the same device mapping in sysusages). You will have to create  all your objects again otherwise.

Did you see your task manager to see how much memory is free. Also look at your server config file how much memory you have allocated for the server. Did someone accidentally configure too much memory? If none else works, try starting the server in diag mode. Here's what you do,
Open a command prompt and attempt to start SQL Server as an executable program in minimal configuration rather than as a service. To do this, run the following command from a command prompt on the server

sqlservr /d <drive>\<default SQL Server directory>\data\master.dat /e <drive>\<default SQL Server directory>\log\errorlog -f

where <default SQL directory> is the directory you installed SQL Server in.

For more information about starting SQL Server, see the SQL Server Books Online "Starting SQL Server with Minimal Configuration" topic.

Review the error log or view the screen by scrolling back to check for any errors. The last line displayed should read "Launched startup procedure 'sp_sqlregister'." Leave the screen as it is and start ISQL/w to connect to the server. At the query prompt in ISQL/w, type:

sp_configure



This will return all of the configuration information for SQL Server. The config_value contains the values normally used by SQL Server, the run_value lists the minimum settings invoked if you used the -f option when you started SQL Server from the command line.

Check the config_value column for entries that may not be reasonable for your hardware. A common mistake is setting the memory value to high. This value is the number of 2K pages that SQL Server will use to operate. Therefore a value of 8,196 is 16 MB of RAM. The value for tempdb in RAM is entered as number of megabytes to use; an entry of 20 will create a 20 MB tempdb in RAM. The combined total of these two values, in addition to the amount of RAM that Windows NT requires, should not exceed the total amount of RAM installed in the system.

If this still doesn't work , you might have to do some recovery with trace flags, so that you can atleast bring the server back up with just the master database.
0
Learn how to optimize MySQL for your business need

With the increasing importance of apps & networks in both business & personal interconnections, perfor. has become one of the key metrics of successful communication. This ebook is a hands-on business-case-driven guide to understanding MySQL query parameter tuning & database perf

 
LVL 1

Author Comment

by:mativare
ID: 1088823
Virtual Memory 105
0
 
LVL 2

Expert Comment

by:jbiswas
ID: 1088824
Did you try starting the server with the minimal configuration? What happened?
0
 
LVL 1

Author Comment

by:mativare
ID: 1088825
Thanks
Memory management was sour indeed
MSSQL is up and running now
0
 
LVL 1

Author Comment

by:mativare
ID: 1088826
Please mark question as answered, grade excellent
I cannot do it regularly, because getting error message
Thanks a million
0
 
LVL 1

Expert Comment

by:kuk010998
ID: 1088827
PS: One CAN reinstall SQL Server and use previous databases - copy away the master.dat and give it to the fresh SQL server afterwards. Caveat: As the master.dat contains info on all the other db´s, all active databases should stay in the same drives/directories. The master.dat itself can move. Of course this would not have helped much in your case as the bad memory allocation value is stored in the same master.dat...

0
 
LVL 1

Author Comment

by:mativare
ID: 1088828
Nice.
Did I read you
1.First I copy master. dat then I deinstall(writing down directory names first) 2.reinstall , keeping directory structure same as before
and then  coping master dat in.
Thanks kuk .
Matt
0
 

Accepted Solution

by:
jayaramhh earned 200 total points
ID: 1088829
In your server the problem may be with some of the following configuration options.

1. The "memory" parameter might set too high
 
2. The "tempdb in RAM" parameter might set too high

Follow the steps below to start up the SQL Server and modify the
sp_configure parameters so that the MSSQLServer service will be able to start:
 
1. From a command prompt on the server, run the following command:
 
      sqlservr -c -f
 
   This will start the server in single-user and minimally configured modes. It will also skip the execution of startup stored procedures.
   When the last line on the screen reads "Warning: override, autoexec procedures skipped", leave the screen as it is and use ISQL/w to connect to the server.
 
2. In ISQL/w, use sp_configure to change the "memory" or "tempdb in RAM" settings. For example, issue a command similar to the following:
 
      Sp_configure memory, 8192
      Go
      Sp_configure tempdb, 0
      Go
 
3. Run the RECONFIGURE command to install, as in the following example:
 
      Reconfigure with override
      Go
 
4. Execute the SHUTDOWN command.
 
5. Start the MSSQLServer service; it should succeed.
 

0

Featured Post

Free Tool: ZipGrep

ZipGrep is a utility that can list and search zip (.war, .ear, .jar, etc) archives for text patterns, without the need to extract the archive's contents.

One of a set of tools we're offering as a way to say thank you for being a part of the community.

Question has a verified solution.

If you are experiencing a similar issue, please ask a related question

International Data Corporation (IDC) prognosticates that before the current the year gets over disbursing on IT framework products to be sent in cloud environs will be $37.1B.
This article shows gives you an overview on SQL Server 2016 row level security. You will also get to know the usages of row-level-security and how it works
Via a live example, show how to set up a backup for SQL Server using a Maintenance Plan and how to schedule the job into SQL Server Agent.
Viewers will learn how to use the INSERT statement to insert data into their tables. It will also introduce the NULL statement, to show them what happens when no value is giving for any given column.

704 members asked questions and received personalized solutions in the past 7 days.

Join the community of 500,000 technology professionals and ask your questions.

Join & Ask a Question