How to use multiple instances of Microsoft SQL Server 2016 web edition - sql-server

I am planning to get SQL Server web edition licence from my server provider
https://msdn.microsoft.com/en-us/library/cc645993(v=sql.130).aspx
SQL web edition has 64 gb ram and 16 core limitation
I will run 3 websites on this server and server has 24 cores and 128 gb ram currently
So it is logical for me if I run 2 instances SQL Server and I can utilize all system resources?
However I have never used two instances of SQL Server before.
So how can I install multiple instances of SQL Server 2016 web edition and use them?
This is my static connection string currently
public static string srConnectionString = "server=localhost;database=myDB;uid=sa;pwd=myPW;";

I'd suggest to go with Standard edition. It might be more expensive (about $45K), but you can use all of your 24 cores and 128 gb ram by just one instance.
You do not have to have multi instances, just have everything in different databases. If you are concerned about security, then you can make databases invisible for another user.
In case you want an ability to restart services separately, then it is better to have 2-3 virtual boxes, but in this case you'd have to pay individually for each box.

Related

TFS performance issues with data tier on Hyper-V

Since I want to evaluate TFS 2018 as a solution for our 25 Person Dev Team, I installed an evaluation alongside with the SQL Server 2017 on a Windows Server 2012 R2 (running on a physical Win Server 2012 R2).
The problem (TLDR): The only time when TFS perform fast is when connecting remotely to the server and login with just one account. As soon as a second user logs into the TFS web interface, the response time increases up to 2-3 minutes for everything. Any domain network login causes also the response performance to drop.
VM Specs:
Windows Server 2012 R2
TFS 2018 app & data tier
SQL Server 2017 (only for TFS)
IIS (only for TFS)
The VM has assigned 4 Threads (2 Cores)
2-32 GB Dynamic Memory (25% buffer) usually taking about 8GB
Connection via SSL
Physical Specs:
Windows Server 2012 R2
Roles: Domain Controller, Active Directory, DNS, WSUS, CertAuth, Hyper-V (only running the TFS Machine above), Repository Server
Xeon E5-2620 # 2.1GHz
Physical RAID 5 with 3 disks (7200rpm).
4x16 GB RAM (own channel each)
Details:
Ok, I know that the physical server already performs quite a load of a task, but we have just a small network of about 30 Workstations. I noticed no significant performance issues since the Hyper-V / TFS installation.
I know that putting the data tier (SQL Server) also in the VM is not recommended since the overhead of the host system will most likely slow down any I/O. But I don't have the feeling it is a hardware problem, since there a no repository in there jet, and it's responding fast if just one user accesses it. I'll probably get an appropriate physical server for the data tier once it will be used in a production environment, but for now, I just want to evaluate the capabilities of TFS if it fits our workflow needs.
We authenticate via Active Directory and SSL properly certified from the physical host.
Ping goes through in < 1 ms so no network load issues.
The resource monitor (both VM and physical) are barely different to idle during requests.
Installing TFS with and SQL Server Express on a local machine works just fine as you would expect.
I feel like I read every tutorial and guide about TFS, installing SQL Server on Hyper-V Servers, troubleshoot performance issues with TFS and so on.
I sitting on this problem for weeks now and don't find a cause of this problem.
Has anyone an idea what could cause this issue or what I could look into?

Sql server execution on dedicated vs shared servers

I have Sql Server Management Studio 2008 installed on a dedicated server with total System RAM of 16 GB allocated to SSMS. Whereas i have another SSMS installed on a shared Windows server with 32 GB RAM allocated to SSMS out of 128 GB total server RAM.
Is there an issue when we use SSMS to run heavy queries on a shared Windows server as compared to running the same queries of SSMS on a dedicated Windows server.
By dedicated i mean the Windows Server has only SSMS running and some very small applications.Here only SSMS is using whole of Server RAM.
By shared i mean the Windows Server has many heavy applications like Spotfire, Hadoop, Linux along with SSMS. All the other applications are concurrently running of shared Windows server.
Actually, when i run a query on dedicated server it takes 70 mins to execute whereas the same query takes ~300 mins in a shared server where other users are also using the server at the same time.
Please suggest me with solutions to resolve this.
Thanks!

NAV 2013 R2 Performance on SQL Server 2012

The SQL Server is running on a well o:) configured server. The server configuration is given below.
OS - Windows Server 2012 R2
RAM - DDR3 24 GB ECC
RAID 10
The NAV SERVER is also installed on the same server. Almost 112 concurrent end-users are accessing the NAVISION database through different clients system.
I have noticed that at a particular time (5PM/6PM) the SQL as well as the NAV SERVER are consuming the whole (20GB+) RAM of the server everybody & makes the server unstable.
How can I solve this issue? Thanks in advance!
If it's always happening in a particular time you should have to figure what is hammering it.
SQL job? Something in NAV? Windows Task? Antivirus? Some user is running something which affecting it (copying thousands of files to network share for example)?
But yes - adding more RAM is always good.

Windows Azure and SQL Server on VM (which choose to compare)

I'd like to compare Windows Azure SQL Database and SQL Server on VM. So I'd like to ask:
which SQL server edition on Windows Azure(S,M edition; Web or Standard) should I choose to compare it with Windows Azure SQL Database Web. I know that these are different concepts PaaS IaaS and so on. In my question I am referring to your experience with these two technologies and their performance. I know that it would be roughly comparison
I made comparison for Azure SQL and SQL Server Std hosted on Azure VM (Large (A3)) for 2GB database. I just copied DB from Azure to VM, so, basically, I had 2 Databases with identical data and was able to run same queries.
SQL Azure DB has known advantages, but when it goes to performance people starts crying:
Getting last 1000 transactions from ~100k transactions with many joins takes:
Azure SQL: 7:40 mins
SQLServer on VM: 2:30 mins
Getting 10 transactions with specific parameter's:
Azure SQL: 3:57 mins
SQLServer on VM: 1:05 mins
In this test I didn't care about query performance, I just want to see the difference for the same data/queries between Azure SQL and SQL Server on Azure VM. As you see, it's very differ.
Roughly, Windows Azure SQL Database is comparable to the features of SQL Server 2012 Standard Edition, but this comparison is only approximate, because each offer is meant for a different use case and offers a different balance of features.
In Understanding Azure SQL Database and SQL Server in Azure VMs you'll find a detailed comparison. Some distinctive characteristics are:
SQL Database is highly available; each database is backed by 3 servers; each operation will only be completed when it is accepted by at least 2 servers. This leads to a higher latency than SQL Server on a single server.
SQL Database runs on cloud infrastructure. Client applications must be fault-tolerant.
SQL Database runs on shared resources, so clients may experience performance fluctuations. The Premium Offer for Windows Azure SQL Database delivers more powerful and predictable performance.
SQL Database has a few limitations on support for features, Transact-SQL, Data Types and Tools and Utilities.
See also how to Compare SQL Server with Windows Azure SQL Database and the guidance on SQL Server in Windows Azure Virtual Machines.
Regarding Windows Azure SQL Database Web edition: Web and Business editions are identical except for storage capacity (see my detailed SO answer about this, here), so it doesn't matter for your comparison.
Regarding SQL Server editions, I think this is going to be primarily a difference in features and licensing, not performance. That said: If you choose the Enterprise edition, you may find more features are active, therefore consuming more resources. Fortunately the Web, Standard, and Enterprise editions are all in the Virtual Machine gallery, so you can deploy any of them without having to do a custom install.
When comparing Windows Azure SQL Database with SQL Server, you should probably start with this MSDN article which goes into detail about the limitations of SQL Database as well as T-SQL differences.

SQL Server 2008 Installation pointers for optimizing Performance and Scalability

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.

Resources