How to configure Aurora MySQL target database? - sql-server

I am doing the following step, to configure Aurora target DB, while migrating local SQL Server DB to Aurora DB in cloud:
https://docs.aws.amazon.com/dms/latest/sbs/CHAP_SQLServer2Aurora.Steps.ConfigureAurora.html
I am running these queries from SSMS. May I know what 'target_database' should I use? I tried the endpoint from RDS but it is not working. Please advise what I am missing.

Your target database is the database in AWS. In your case, it sounds like it's an RDS database instance. You'll need to create a new DMS target endpoint. Select the RDS instance from the dropdown, give it a unique name, and select the RDS engine (Aurora MySQL or PostgreSQL. Add any additional connection attributes, if desired. Test the connection and you should be all set.
Source: https://docs.aws.amazon.com/dms/latest/userguide/CHAP_Endpoints.html

Related

Is it possible to replicate DB from GoDaddy to Database in AWS SQL Server RDS using DMS?

We are trying to create a DR solution that can be hosted in AWS and DC on GoDaddy. The problem is, DB is co-hosted in Godaddy and so no replication agents can be installed in the DB let alone do any changes there.
My question: is AWS DMS agentless?
Can we migrate and then replicate and then sync the DB in GD and RDS through any means with AWS DMS?
TIA
yes, it is agentless. It will ask you the connection string of the source Database and ask you to select RDS Database to migrate.
You can go to the AWS youtube channel and watch the tutorials.

Connect AWS QuickSight to an Azure SQL database?

I'm trying to use AWS QuickSight to analyse some data that is being stored in SQL Server on an Azure SQL server.
According to QuickSight, it can connect to an SQL Server, but whenever I try to validate the connection, the process hangs for about a minute then comes back with 'Cannot open server "..." requested by the login. The login failed.'
I initially suspected that this was an issue with the firewall on the MS SQL server on Azure. Accordingly, I looked up the IP regions here
The region I am using is US West (Oregon) (us-west-2), so I white-listed the IP range 54.70.204.128 to 54.70.204.159 - but I am still getting exactly the same 1 minute (or so) pause, before the error comes back in Quick Sight.
The exact error is:
Your database generated a SQL exception. This can be caused by query timeouts, resource constraints, unexpected DDL alterations before or during a query, and other database errors. Check your database settings and your query, and try again.
If I click "Show Details" then I get a further message saying:
Error details
region: us-west-2
timestamp: XXX
requestId: XXX
sourceErrorCode:40532
sourceErrorMessage: Cannot open server "..." requested by the login. The login failed. ClientConnectionId:*
sourceErrorState: S0001
sourceException: com.microsoft.sqlserver.jdbc.SQLServerException
sourceType: SQLSERVER
Obviously some of the above has been redacted.
I cannot believe that QuickSight cannot connect to an Azure MS SQL database, so I'm wondering if anyone else had had this problem, and what their solution was?
I myself had this issue and it seems many others did. However, as noted above, there is little to no documentation that provides the steps to connect Quicksight and Azure Sql Server.
The issues for myself were primarily in the details that I gave Quicksight. Most connections with Azure sql server database connect seamlessly with your basic information:
Server, Port, Database Name, Username, Password
However, AWS Quicksight was trying to connect to my Azure Sql server with JDBC authentification.
JDBC Authentification requires your Username input to be = "username"#"servername"
Example of Correct Connection:
Server: "servername".database.windows.net
Port: 1433
Database Name: "databasename"
Username: "username"#"servername"
Password: "password"
Lastly, I turned off the SSL checkbox. It did not work with SSL connection.
Please see this document: Relational Data Sources
You can use any of the following relational data stores as data sources for Amazon QuickSight:
Amazon Athena
Amazon Aurora
Amazon Redshift
Amazon Redshift Spectrum
Amazon S3
Amazon S3 Analytics
Apache Spark 2.0 or later
MariaDB 10.0 or later
Microsoft SQL Server 2012 or later
MySQL 5.1 or later
PostgreSQL 9.3.1 or later
Presto 0.167 or later
Snowflake
Teradata 14.0 or later
Note
You can access additional data sources not listed here by linking or importing them through supported data sources.
You can retrieve data from tables and materialized views in PostgreSQL instances, and from tables in all other database instances.
Amazon Redshift clusters, Amazon Athena databases, and Amazon Relational Database Service (RDS) instances must be in AWS. Other database instances must be in one of the following environments to be accessible from Amazon QuickSight:
Amazon EC2
On your local network
In a data center or some other internet-accessible environment
AWS QuickSight document doesn't say it support Azure SQL database, just said the supproted other database environments.
And others have asked this problems in AWS Discussion Forums, no one or AWS QuickSight official given the answer.
Reference: Can Quicksight connect to Azure SQL Database?
What we can guess that it doesn't support Azure SQL for now.
Hope this helps.
According to any Googling I have done, and the responses posted here, it appears that while there is no specific statement from AWS or Azure saying the two cannot be connected, equally there is no response to say that they can. Interestingly, nobody has responded to say that they have already got it working. My feeling at the moment is that it cannot work.
While Azure SQL is not explicitly listed as one of the QuickSight data sources, you can still use it as a data source. TLS/SSL is also supported now and I have tested it personally.
You just need to make sure to use the "username"#"servername" format for the Username, as mentioned by Scotty Smith.

How can I replicate data into from one RDS instance to another without using Multi-az?

I have my production Mysql Aurora RDS instance with no Multi-AZ option enabled.I have a requirement to replicate this production data into another isolated Mysql RDS instance(or perhaps another Mysql server hosted in an EC2 instance) for the purpose of giving access to an ETL tool(Stitch)
I don't have the option to upgrade my RDS to Mult-AZ just to replicate data into another.
What's the best way to achieve this? I can go for both options
create another RDS instance and replicate data(if this is possible)
Host a mysql server running in an EC2 instance which replicate production RDS data

AWSGlue: can it connect the SQL Server data stores?

We found in documentation the following:
AWS Glue can connect to the following data stores by using the JDBC protocol:
• Amazon Redshift
• Amazon Relational Database Service (MySQL, PostgreSQL, Aurora, and MariaDB)
• Publicly accessible (Amazon Redshift, MySQL, PostgreSQL, Aurora, and MariaDB) databases
Is it possible to make a JDBC connection with SQL Server for data stores? I'm trying create to Crawler with data store in SQL Server.
Should I create new instance of SQL Server on RDS?
Thanks
It would be possible if the correct JDBC driver was integrated into AWS Glue but it is not. One of the downsides of a serverless environment is you can't add drivers to the server.
AWS reps have informed me that at present, you cannot connect to a database outside an Amazon VPC. This is obviously frustrating. I believe they are putting it on the roadmap.
If you are able to set up an RDS instance with a database they didn't explicitly name, you should try setting up a Glue job to connect to it. If it fails at first because it lacks the nece, I would imagine you should be able to connect to it by supplying the JDBC driver
You can connect to SQL Server using JDBC, here is a article on how to do it.
https://www.progress.com/tutorials/jdbc/accessing-data-using-jdbc-on-aws-glue
Although it's for Salesforce, you can use the similar steps for SQL Server too. Just replace Salesforce JDBC driver with SQL Server JDBC driver.

AWS RDS SQL Server Migrate DB from Outside

Today, I am using AWS EC2 DB Instance for my database (SQL Server).
I want to change the instance and instead to use RDS instance for my SQL Server.
In order to complete the migration from EC2 to RDS I need to pass the database with all its tables/stored procedures/types/views etc.
I tried to backup the database of the EC2 instance and then restore it in the RDS instance but I get the exception:
Moreover, I tried to generate a script of the EC2 instance DB and then run the script on RDS SQL Server connection but it failed to run many of the scripts because of permission exceptions.
I also found an article from the AWS documentation that shows that it is possible to upload a backup to S3 bucket. But I couldn't manage to understand how to restore the backup from the S3 bucket in the RDS instance.
Please, help me figure out how to do it? I belive it must be possible and easy somehow.
Thanks in advance.

Resources