We have a BizTalk setup, its databases are setup on a failover cluster to achieve the HA (High Availability). Client have an application database that also needs to achieve the HA, usually I'd suggest to put on the same instance with BizTalk database but client DBA insists to use the AlwaysOn feature.
BizTalk Server does not support the alwayson due to some DTC complications, having said that, is it possible to enable the AlwaysOn feature on the same SQL Server to satisfy the customer needs while not disturbing the DTC requirement by BizTalk? Or it simply has to be two sets of SQL Server deployment?
Since Always On feature does not support MSDTC, BizTalk does not support Always On since it relies on MSDTC. See link msdn link (at the bottom of page). Your other database for which you need always on, put it on a separate SQL instance. It may share the same cluster node as BizTalk server SQL instance.
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.
I'm preparing a migration plan to migrate on-premises SQL Server to Azure. On our on-prem there are two sql instance (DevSQL01\Dev and DevSQL01\Demo) running on single VM. Can we create a same scenario on azure, i.e. can we create two SQL instance on a single Auzure SQL VM or is their any other option?
I know i can create a windows VM on Auzre and install SQL Server and create two instance manually, but i like to find out options like managed instance, elastic pool, etc.. has the feature to host named instance by default.
Forgive me if this is noob question, I just started exploring cloud technologies.
On all flavors of Azure SQL PaaS (Managed Instance, DTU-model, vCore, Serverless, Hyperscale) the concept of named instance does not exist. Your best option is a SQL VM where you can run SQL Setup and install multiple instances.
It seems you need it for development purposes, then you may want to install SQL Server Developer Edition to avoid licensing costs as mentioned here. If this will be a Production server, remember to balance memory usage across the two SQL Server instances and leave some memory for the operating system to avoid impact on the server performance.
I've got a server with a number of databases in an availability group. This has been setup prior to me joining the company and I'm not that familiar with SQL Server. A question has been asked if we can failover a single database or all in the availability group. How do I check if this is possible, or is there any SQL I can run to get some configuration details?
All of the databases in an Availability Group failover at the same time. This is by design as the AG is the effective container.
If you would like to do a manual failover then refer to the instructions here
In an installation with 2 SQL Server 2008 SP2 Standard servers we use mirror to have failover partner for the databases.
One of the purposes of the databases are to supply reports through SQL Server Reporting Services.
My question is how I set this up to have failover of the reports AND keep cost at a minimum.
I can see one solution where the reporting databases are mirrored as well as the user databases they use. But will the reporting services failover?
Another way could be to install 2 separate instances of reporting services on each database server where the reporting databases are not mirrored and both are running. But then how do I redirect the users browsers from one entry address to a running reporting service?
There's also a witness server running SQL Server 2008 Express. This could be upgraded to standard and run the reporting services (should be able to failover through native client connection), but then the reporting service it self has no failover.
I don't know if I'm missing something here but is it impossible to do this in a good way without using SQL Server Enterprise and a failover cluster solution?
Any ideas, thoughts and links would be appreciated, but be aware that I have read a lot of guides and best practices around the internet and haven't found any that answers this question so please only post relevant links.
Any info I gather from you post, links and my research and testing will of course go back to Stackoverflow for future reference for others as I can't imagine I'm the only one who would like such a solution.
Smint
You will need to mirror all data and then manually repoint the report server when the data moves to the mirrored servers.
Moving interrelated databases with mirroring complicates things. If one goes offline for some reason and failes to the mirror, will all other databases fail as well?
You may want to have a human make these decisions and use a manual failover on the mirroring as well.
What ports or modes of communication do you need to open up for SQL Server 2005 Transactional Replication? Main and slave are geographically separated.
Make sure you enable encryption, otherwise your replicated data could be sniffed by any one in between. The better solution would be to set up a VPN between your two locations to off load the encryption from SQL Server and also provide better security.
I believe TCP Port 1433 is typical although it can be defined by the publisher
Here is a decent article on this.
(Not an Answer)
I regretted using SQL Replication back during the SQL Server 7 days. From what I've seen of SQL Server 2005, The tools have become more unusable.
If I were in your position, I would look at some form of Transaction server that supports replication and set it up as a middle tier between your application and your database(s).