Computers & Electronics

SQL cluster question

  • Last Updated:
  • Jul 22nd, 2021 12:05 pm
[OP]
Deal Guru
May 29, 2006
10762 posts
3487 upvotes

SQL cluster question

Hi everyone, anyone here know if you can connect to a single node of a SQL cluster in SQL2019, my hunch is that this is a no, i have a SQL cluster running all my business APs, but a lone vendor says they cannot install against a cluster. they can only install against a single SQL node.

i dont want to make a single node SQL server because of cost and waste of time and resources, i also dont want to tear apart my cluster that is working just fine.

my hunch is this is not possible simply because of the way clusters operate, but maybe an advanced SQL expert may be on these boards that might have some insight?

thanks.
16 replies
Deal Guru
Sep 1, 2004
10531 posts
10268 upvotes
I assume you still run SQL on physical hardware?

Virtualization will solve this problem but if you are not virtualized yet, it's not a trivial task.

You can potentially add Hyper-v roles on your SQL cluster nodes to run VMs. If you are on Windows Server Datacenter, you can run unlimited VMs. If you are only Server standard, then you can have 2 VMs.

Once you are comfortable how a VM failover between your physical nodes, just install SQL on the VM. And since you are licensing SQL by the available cores these day (does CAL license still exist?), you shouldn't breach any licensing either.

But yeah, you should work towards virtualizing SQL. There are probably a lot of i's to dot and t's to cross but it will give you much more flexibility when a vendor won't bent.
[OP]
Deal Guru
May 29, 2006
10762 posts
3487 upvotes
Xtrema wrote: I assume you still run SQL on physical hardware?

Virtualization will solve this problem but if you are not virtualized yet, it's not a trivial task.

You can potentially add Hyper-v roles on your SQL cluster nodes to run VMs. If you are on Windows Server Datacenter, you can run unlimited VMs. If you are only Server standard, then you can have 2 VMs.

Once you are comfortable how a VM failover between your physical nodes, just install SQL on the VM. And since you are licensing SQL by the available cores these day (does CAL license still exist?), you shouldn't breach any licensing either.

But yeah, you should work towards virtualizing SQL. There are probably a lot of i's to dot and t's to cross but it will give you much more flexibility when a vendor won't bent.
im running a SQL cluster on virtual server 2019 servers, from a datacenter 2019 host (clustered as well) my SQL is licenced by core, but not the cores of the host, i have 8 cores with software assurance, so my second SQL in the cluster doesnt need cores assigned. if i licenced the whole host machine i would have needed 40 cores of SQL.
Deal Guru
Sep 1, 2004
10531 posts
10268 upvotes
rocking23nf wrote: im running a SQL cluster on virtual server 2019 servers, from a datacenter 2019 host (clustered as well) my SQL is licenced by core, but not the cores of the host, i have 8 cores with software assurance, so my second SQL in the cluster doesnt need cores assigned. if i licenced the whole host machine i would have needed 40 cores of SQL.
Then depends on the client size, server+cal model for this one off DB may be your ticket.

Or just keep doing what you are doing and ignore the vendor.

End of the day, you are just trying to save a buck. You have to assess if that buck is worth stepping out of line in your support.
Deal Addict
Jun 8, 2005
3149 posts
615 upvotes
Toronto
Not sure what exactly you're talking about, as there's no such thing as a SQL Server "cluster". I'm going to assume that you've got one or more availability groups set up across your SQL 2019 instances and as such, have one host designated as the usual primary, and the rest of the hosts in the AG will be secondary.

If you need to install a vendor product against one host, you can pick any in the AG and use that hostname explicitly in the connection string. However there will be no HA/DR capabilities for that vendor application (i.e. if the SQL instance goes down, the app goes down). If you want the vendor DB to be a part of one of the AGs, you can add the DB to the AG and have it take advantage of the HA/DR advantages, however it seems like your vendor doesn't won't support that configuration. That doesn't mean that it won't work though.

What I don't understand is that you have SQL 2019 (presumably enterprise edition) and Windows 2019 datacentre, but you don't have a dedicated DBA? That seems crazy to me, as this kind of configuration and supporting such an environment requires at least a part-time DBA.
Deal Addict
User avatar
Feb 12, 2008
4403 posts
299 upvotes
Toronto
trane0 wrote: Not sure what exactly you're talking about, as there's no such thing as a SQL Server "cluster". I'm going to assume that you've got one or more availability groups set up across your SQL 2019 instances and as such, have one host designated as the usual primary, and the rest of the hosts in the AG will be secondary.

If you need to install a vendor product against one host, you can pick any in the AG and use that hostname explicitly in the connection string. However there will be no HA/DR capabilities for that vendor application (i.e. if the SQL instance goes down, the app goes down). If you want the vendor DB to be a part of one of the AGs, you can add the DB to the AG and have it take advantage of the HA/DR advantages, however it seems like your vendor doesn't won't support that configuration. That doesn't mean that it won't work though.

What I don't understand is that you have SQL 2019 (presumably enterprise edition) and Windows 2019 datacentre, but you don't have a dedicated DBA? That seems crazy to me, as this kind of configuration and supporting such an environment requires at least a part-time DBA.
Isn't this what the OP is referring to?

https://docs.microsoft.com/en-us/sql/sq ... rver-ver15
Nothing to see here...keep looking.
Jr. Member
Nov 22, 2018
190 posts
180 upvotes
Brampton, On
rocking23nf wrote: Hi everyone, anyone here know if you can connect to a single node of a SQL cluster in SQL2019, my hunch is that this is a no, i have a SQL cluster running all my business APs, but a lone vendor says they cannot install against a cluster. they can only install against a single SQL node.

i dont want to make a single node SQL server because of cost and waste of time and resources, i also dont want to tear apart my cluster that is working just fine.

my hunch is this is not possible simply because of the way clusters operate, but maybe an advanced SQL expert may be on these boards that might have some insight?

thanks.
Vendor software has no awareness of a SQL cluster. As long as they aren't installing software on your SQL cluster you should be good. Generally we forbid installing any vendor software on a SQL Server server, whether stand-alone or a cluster. Keep your SQL Server purely independent database servers, apps belong on their own servers.

All the app needs to know about your SQL Server is the virtual SQL resource name and instance, or the virtual ip and port # for stuff that uses JDBC.

If Always on is configured, you generally use listener name, and the application driver needs to be a version that is Always On aware or you'll be in trouble when the primary switches over to the other instance.
[OP]
Deal Guru
May 29, 2006
10762 posts
3487 upvotes
trane0 wrote: Not sure what exactly you're talking about, as there's no such thing as a SQL Server "cluster". I'm going to assume that you've got one or more availability groups set up across your SQL 2019 instances and as such, have one host designated as the usual primary, and the rest of the hosts in the AG will be secondary.

If you need to install a vendor product against one host, you can pick any in the AG and use that hostname explicitly in the connection string. However there will be no HA/DR capabilities for that vendor application (i.e. if the SQL instance goes down, the app goes down). If you want the vendor DB to be a part of one of the AGs, you can add the DB to the AG and have it take advantage of the HA/DR advantages, however it seems like your vendor doesn't won't support that configuration. That doesn't mean that it won't work though.

What I don't understand is that you have SQL 2019 (presumably enterprise edition) and Windows 2019 datacentre, but you don't have a dedicated DBA? That seems crazy to me, as this kind of configuration and supporting such an environment requires at least a part-time DBA.
we arent big enough for a SQL admin, i manage all the SQL, i have enough knowledge of SQL to do what we need.

not sure why you say there no such thing as a SQL cluster, i have a SQL cluster in 2008 and now a SQL cluster in 2019, it works great, it will failover to the secondary idle node in seconds. its even a part of the SQL install steps, SQL failover Cluster. and a feature of the software assurance model. you make 2 servers, make them a cluster, add your network storage and quorum drives, then installed SQL on each node as a failover SQL node, and voila, you have a SQL failover cluster.

the problem im having is the vendor claims they cannot connect to database \\cluster\instance

they claim they can only connect to a non clustered instance, so \\node1\instance

i may have workaround in place setting up a new instance solely on node1, but that removes my high availability from my cluster.

been back and forth with the vendor most of the week trying to find a solution vs simply building a new SQL server to run this and buy more licencing.
[OP]
Deal Guru
May 29, 2006
10762 posts
3487 upvotes
HWDAN55 wrote: Vendor software has no awareness of a SQL cluster. As long as they aren't installing software on your SQL cluster you should be good. Generally we forbid installing any vendor software on a SQL Server server, whether stand-alone or a cluster. Keep your SQL Server purely independent database servers, apps belong on their own servers.

All the app needs to know about your SQL Server is the virtual SQL resource name and instance, or the virtual ip and port # for stuff that uses JDBC.

If Always on is configured, you generally use listener name, and the application driver needs to be a version that is Always On aware or you'll be in trouble when the primary switches over to the other instance.
these guys are saying thier software, which is not installed on the SQL node(s) cannot connect to a cluster name for the instance\database.
this is bizarre to me, every other application we have setup with SQL does connect to a cluster name.
Deal Addict
Jun 8, 2005
3149 posts
615 upvotes
Toronto
rocking23nf wrote: i may have workaround in place setting up a new instance solely on node1, but that removes my high availability from my cluster.
I'm not familiar enough with FCI, but from what I have read, you can have multiple instances of SQL Server per FCI node, however I don't think you can have a non-clustered instance once the host is set up for FCI.

What about running an independent instance of SQL 2019 in a container or as a VM on one of the nodes? That lets you stand up an instance on the same cores that's independent of your clustered instances.

With regards to the vendor, it sounds like they don't want to be on the hook to support their product, but you'll never know if it works unless you try.
Deal Addict
Apr 13, 2005
1733 posts
1753 upvotes
Markham, ON
Isn't Azure a better option?
.
Deal Addict
Aug 13, 2007
4737 posts
958 upvotes
GTA
Haven't worked with SQL in a long time, but I'm pretty sure I've connected to \\server\instance before in a clustered environment via SQL Server Management Studio.
[OP]
Deal Guru
May 29, 2006
10762 posts
3487 upvotes
Kherani wrote: Haven't worked with SQL in a long time, but I'm pretty sure I've connected to \\server\instance before in a clustered environment via SQL Server Management Studio.
you can have 2 instances, so \\cluster\instance1, and \\node\instance2.

but the database in my issue is \\cluster\instance1 and they claim to not be able to connect to that, that they can only use \\node\isntance.

i dont believe you can mount the same database in instance 1 and 2, and you cant connect to \\node of a cluster for a instance in a cluster. (maybe there is a hack or something that im not aware of)
[OP]
Deal Guru
May 29, 2006
10762 posts
3487 upvotes
mrtin905 wrote: Isn't Azure a better option?
we are not a cloud shop, we keep most things internally.
Jr. Member
Nov 22, 2018
190 posts
180 upvotes
Brampton, On
rocking23nf wrote: you can have 2 instances, so \\cluster\instance1, and \\node\instance2.

but the database in my issue is \\cluster\instance1 and they claim to not be able to connect to that, that they can only use \\node\isntance.

i dont believe you can mount the same database in instance 1 and 2, and you cant connect to \\node of a cluster for a instance in a cluster. (maybe there is a hack or something that im not aware of)

You create a virtual ip and virtual sql name in Cluster manager for your clustered SQL install. Doesn't matter what host node the Sql server is running on, it will always be the same virtual name that you configured in the appropriate resource group in cluster manager.

Eg. You name your cluster C1 and add nodes N1 and N2 to it. You create a virtual SQL name called S1 with a distinct ip as resources in your group. C1, N1 and N2 all have their own distinct ip addresses. You can install the SQL as a named instance (recommended). EG \instance1. Now your SQL Server name is S1\instance1. If you need a 2nd instance, then add a new group with virtual SQL name of S2 and it's own IP address. You can run S1\instance1 and S1\instance2 on the same node or different nodes. It doesn't matter. No one needs to know the cluster name or node names, just the virtual SQL name and instance name. No one will know it's running in cluster or what node its active on unless they have elevated rights and can query the right DMVs or system tables that can report those details.
Sr. Member
Apr 5, 2003
952 posts
295 upvotes
White Rock, BC
I think your vendor are idiots. They just need to use the cluster name in their connection string. No different than a standalone instance.

Their software should work regardless. Why would it even care?
Deal Addict
Jun 8, 2005
3149 posts
615 upvotes
Toronto
rocking23nf wrote: i dont believe you can mount the same database in instance 1 and 2, and you cant connect to \\node of a cluster for a instance in a cluster. (maybe there is a hack or something that im not aware of)
Again, not familiar enough with FCI, but you can absolutely connect directly to a node of a cluster, however any DBs hosted there would be part of the FCI, which seems to be what the vendor is complaining about. Under availability groups, you can have a mix of databases on any node, some local, some part of the AG. Only the databases in the AG would be inaccessible to an incoming connection.

Side note, are you dealing with sales engineers or tier 1 technical support people who are telling you that it isn't possible? This sounds very much like "we don't want to agree to support this config" vs "we don't support this config" and the people who are telling you no are reading off a script.

Top

Thread Information

There is currently 1 user viewing this thread. (0 members and 1 guest)