Lately i was experiencing heavy RAM consumption on server and after finding out which app is using the most it showed sqlservr.exe is taking 890,016KB.
I want to know why does SQL take up so much of my server's RAM. My SQL performs simple functions on tables, store procedures and function and no jobs are assigned on the background.
I even tried restarting the server and after the restart when the SQL service started it took 90MB and after 8-9 users connected it the usage went back to 800-900MB.
Server : Windows Server 2008R2 Standard
SQL : SQL Server 2008 R2
Open SSMS, connect to your local instance an right-click on your instance name->properties->memory and check Minimum and Maximum server memory.
By default it will take a huge amount of memory, reduce your max memory if needed.
Related
I have Cloud SQL instance(16 vCPUs, Memory 128 GB, SSD storage 300 GB). Db size 110GB.
When I execute a complex query from the cloud windows VM using SQL Server Management Studio(this vm is in the same VPC as SQL Server), it always takes on average 35s.
When I execute the same query locally (connected to the same SQL server instance with sql proxy) from a mac machine(8 cores, 16 gb RAM) using DBeaver it takes 1.5s on average.
I can't figure out why such a difference. I even tried connecting from vm to SQL server with sql proxy, but still no change.
Please help to understand why.
Looks like the Server Management Studio is asking for some tables / permissions on the server and times out.
Cloud SQL is a managed database and you simply cannot do all administration tasks a normal MSSQL database would allow you yo do.
When you use DBeaver does not try to manage the server: it just sends the query and retrieves the results. If you run DBeaver from your Windows VM, or a VM in the same VPC you'll get that 1.5s/query.
We have around 20 Different physical servers in which SQL Server has been installed and configured( various versions MS SQL servers)
Need to monitor the complete SQL servers using one tool Which includes Database Performance, wait time, expensive queries currently executing, Log size utilization, disk space utilization ,Monitor CPU, memory and disk space utilization of the SQL Servers,Get complete details about SQL Server sessions, buffer, memory, locks and latches
If there is any Microsoft product available then preferred or possible other tools.
Please suggest
Looks like a lot of requirements. FYI, there is no Microsoft tool to manage On-Premise MS SQL Server instances. But, you can create your own utility using SQL scripts or SSIS packages.
I have old MS SQL 2000 server. We have issue(very slow) in our web application(.Net), and we thought it is because of high memory usage in SQL Server. Because we found that (in Task manager processes) SQl server is consuming a lot of memory and becomes very slow.
So my questions are -
1. Do you think SQL Server issue is the cause for our application issue?
2. How do we check memory usage of SQL server for past few days.
Thanks in adavance.
Kindly do reply
Sharda
I have two questions.
I am installing SCCM 2016 on a Windows Server 2016, but I am stuck at the prerequisite screen. It keeps asking me to change the Required SQL Server Collation to SQL_Latin1_General_CP1_AS. But when I look on the SQL Server it is already on that collation.
My SCCM Server reports the above problem. Why isn't my SQL Server reporting that problem?
Thanks in advance for helping me!
Screenshot with the error:
Current SQL-collation
Check the properties on the existing database (right click the database, Properties, Options), each database has it's own setting; possibly the database was created on a different server?
As SqlACID mentioned, you need to reinstall SQL with "SQL_Latin1_General_CP1_CI_AS"
SQL Server security mode
On the SQL Server, Right click SQL instance go to properties and then Security. Make sure you have selected Windows Authentication Mode only, and run check to verify warning is gone.
Configuration for SQL Server memory usage
On properties of SQL server, under Memory set minimum and maximum memory to 8192.
SQL Server process memory allocation
Configuration Manager requires SQL Server to reserve a minimum of 8 gigabytes (GB) of memory for the central administration site and primary site and a minimum of 4 gigabytes (GB) for the secondary site. This memory is reserved by using the Minimum server memory setting under Server Memory Options and is configured by using SQL Server Management Studio. For more information about how to set a fixed amount of memory, see Here.
We are working for a client with an asp.net/SQL server application which has been using a SQL Server 2005 system till now. The client has decided to upgrade the database to SQL Server 2008 R2 and has procured a powerful server machine with 16 processors with enough RAM and installed Windows Server 2008 64 bit on the system. Now we are tasked with the installation of SQL Server 2008 on the system followed by migration of the existing DB from the SQL 2005 box. Now I am not a SQL Server DBA nor am I a System Administrator by role. Hence, in spite of reading up a lot of the literature on the net, I am not quite able to make sense of it all or put it in the right order of execution. Can somebody explain me the following items, preferably in terms of bullet lists:
What are the points of consideration during installation of SQL Server 2008, specifically in terms of
Configuring memory usage
Configuring the SQL Server to take advantage of the multiple processors available
Other factors to configure to enable SQL Server 2008 features for performance and scalability
Other points, if any, for configuring the Windows Server 2008 with respect to SQL Server 2008
Note: We will only use the Database Engine services in SQL Server. The applications does not use SSIS, SSRS, etc.
SQL Server will take advantage of whatever processors are available. Processors will be shared between sessions - if all of the work is being done by a single session, then it will all occur on the same processor (to the best of my knowledge - this requires citation).
Memory usage is dynamic by default, meaning that there is no restrication on memory usage. You can limit the memory usage used by the server (right-click on the connection in SSMS and select properties) if needed. This is generally used if the instance is part of a server performing other tasks, such as running other database instances, web service tasks, etc.
SQL server is pretty good it sorting itself out according to its environment. If you are in a position that you need to create a server farm and distribute data and processing between different machines, this is a whole new topic, discussed at length on MSDN and the StackExchange forums.