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.
Related
We have a SQL Server VM with a SQL Server instance running on it. Can we install other software on it including the application server on this SQL Server VM? And can we use it as a jump server to connect other SQL Server databases and managed instances?
I have a SQL Server VM with many other software installed on it and it is being used as a jump server. Want to know if we can continue with it or shall not be used for other purposes.
Want to know the cons of this approach.
Thanks & Regards
This is considered a bad practice.
Reasons:
You are using resources (CPU/Memory/IO/Network) from your (expensive) SQL Server
Your SQL Server license is paid by core, so if you would need to scale because of the other applications, this would impact your SQL server licensing cost.
SQL Server will consume the amount of memory that is configured, so if you set it to 90% of that server, your app server won't have any memory to use.
Troubleshooting will become harder because of shared resources.
Security: You'll open more ports then the SQL server ports increasing the attack surface
SQL server also has a specific set of best practices for the host. Eg: Disk Sector size, ...
If you enable lock pages in memory together with apps running on the same server, you are going to have a bad time.
...
So host your applications on a different server preferably in a different subnet for security reasons.
Create a seperate jump box, because remote sessions will always impact performance, even if they are idle.
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.
I have statistical math functions that use intense sql queries and run in an sql assembly. I just increased the RAM on my db server (IIS 6, SQL Server 2005) but my queries still suck up 100% of my CPU for the 5 minutes I allow for the assemblies to run. Is there any way to allow the assemblies to cap their CPU? At 100% the server becomes unresponsive. Any sql tuning would help too.
SQLServer 2008 has a resource governor that allows you to throttle the CPU and/or I/O based on the db username that is used for a given connection. If upgrading to SQL Server 2008 is an option for you, your stats assembly could use a dedicated database username that allows it to consume 100% of the CPU unless another db connection needs CPU, then it yields to the other processes.
This works very well. We have queries and reports that do complex statistical analysis of thousands of data points. It too is CPU intensive. Before we upgraded to SQL Server 2008, we have all sorts of performance issues. Now everything runs smooth. The other new features of 2008 are nice, but the resource governor is the real reason we upgraded.
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.
I have both SQL Server and SQL Server Express installed on my desktop PC, and have the AdventureWorks database installed out-of-the-box separately for each.
When I run the same application against the AW database on SQL Server Express, each query takes more than twice as long to complete. These are simple queries - not particularly demanding. None of the processor cores are under any significant load.
This has surprised me. I would expect that the (commercial) SQL Server would run faster in an enterprise environment with thousands of users: I would not expect to see any difference in performance for a single-user running a very simple set of queries on a local database.
Has anyone else had a similar experience, or can shed any light on what might be going on here? Thanks.
SQL Server Express is limited to use a single CPU and 1GB RAM, so that could be causing the queries to run slower than the paid editions.