I have question about AWS RDS. what we have to do to create a SQL Server RDS Active/Active or Multi-Master Cluster on AWS? Is there any easy way in AWS RDS? Thanks.
assuming your requirement absolutely must have the ability to commit transactions to multiple database server instances, what you need is Always On Availability Groups (AGs). To set this up in Amazon RDS SQL Server, here's the relevant bit of the documentation. That should be enough to get you started!
Related
Setup
Currently we are using SQL Server installed on an EC2 instance as our central data warehouse. We pull in data from a long list of data sources.
This is done via SQL Agent Jobs that execute Stored Procedures querying the data sources.
The SQL Server instance has Linked Server connections to several databases (Postgres, MySQL, Oracle, SQL Server) and also to Hive.
These data sources are either on-premise or also deployed in AWS.
The connections are enabled by ODBC drivers which we installed directly on EC2.
Problem
Now there is a new company rule that we have to use AWS RDS for SQL Server instead of EC2. The problem is that AWS RDS does not support installing our own ODBC drivers. So we can't connect to the data sources anymore.
Question
How could we go about connecting AWS RDS to data sources which previously we could talk to via Linked Server + ODBC drivers?
Note
Abandoning SQL Server altogether should only be a last resort. There are lots of SSIS packages and migrating them to a new technology would take a lot of time and effort, so should be avoided if possible.
I'm trying to query an on-premises SQL Server database from an Azure SQL database. I understand that the elastic query feature allows you to query across multiple databases in Azure SQL Database. But, it doesn't work with querying an on-premises database. Is there any way to do this?
Elastic database queries work between Azure SQL Databases and to query Azure SQL Data Warehouse only. From an architecture point of view on the scenario you describe, Azure would be relying on a server outside of its infrastructure to satisfy a query, if elastic queries were allowing creating external data sources to on-premises SQL Server instances. A better architecture may be replicating the on-premises database to a hub database on Azure SQL using SQL Data Sync and then create elastic queries using that hub database. Even from a performance point of view makes more sense, since queries won't be executing against your on-premises databases and latency will be less a factor.
Another option you have is to consider using Azure Managed Instance with allows you to create Linked Servers that can connect to on-premises databases as you can read here. Azure Managed Instance supports running on a private VNet, from which it's reasonable to connect to on-premises SQL Server instances. Azure SQL Database would have no way to communicate with your on-premises servers.
I need to copy a SQL server table from an on prem DB to AWS RDS(sql server). I'm trying to think of the simplest way to do that. I was thinking of using a link server to access AWS sql from the on prem DB but not sure how to create one. Or should I go with other option like SSIS or bulk copy.
Fortunately, there are various ways of doing this on prem to RDS migration!
Linked Servers can be used for only EC2 SQL Server instance to RDS SQL Server instance for now I think. The detailed information is here: https://aws.amazon.com/blogs/database/implement-linked-servers-with-amazon-rds-for-microsoft-sql-server/
DMS can be used to migrate from on prem to RDS:
https://aws.amazon.com/blogs/database/introducing-ongoing-replication-from-amazon-rds-for-sql-server-using-aws-database-migration-service/
Another solution is to do a periodic native SQL Server backup from on prem and restore the db onto SQL Server instances: https://docs.aws.amazon.com/AmazonRDS/latest/UserGuide/SQLServer.Procedural.Importing.html
Or you can migrate by using transaction logs: https://aws.amazon.com/blogs/database/how-to-migrate-to-amazon-rds-for-sql-server-using-transactional-replication/
I am a newbie to AWS, and frankly to DB administration. I just installed a SQL Server instance, and now I would like to create tables, execute queries, etc.
Are there any free tools I can use to administrate the DB, and execute ddl and dml against this instance, from my Windows EC2 instance?
Also, how do I get that from my EC2 instance?
You can use SQL Server Management Studio.
Here's the AWS Documentation on how to connect.
I have a SQL Server database on one of my local servers and I need to create an image of it on RDS and enable synching between the two databases.
Is that possible? Anybody who can help?
Replication is the obvious answer, but unfortunately but SQL Server on RDS does not support it.
http://docs.aws.amazon.com/AmazonRDS/latest/UserGuide/CHAP_SQLServer.html
(about 1/3 the way down the page).
You can use Database Migration Service for this now. We've been using it successfully for close to a year.
We're syncing from RDS to RDS though. On-prem to RDS is a bit more difficult as you need to setup replication where as that's not required when the source is RDS.