I have created my RDS (sqlserver instance) and it is working fine when i connect from sqlserver express. Now i want to connect to Redshift cluster via the client. Both cluster are under VPC and i have already set up the security group for both.
I have created the linkedserver in my sqlserver express as follows. EXEC sp_addlinkedserver @server=N'Staging64', -- Linked Server Display Name @srvproduct=N'test', -- Default to SQL Server @provider=N'SQLNCLI', -- Use SQLNCLI @datasrc=N'52.167.514.101', -- FQDN of remote server running redshift @catalog = 'test';
EXEC sp_addlinkedsrvlogin @rmtsrvname = 'Staging64' -- Linked Server Display Name , @useself = 'false' -- Do not masquerade -- , @locallogin = '' -- Commented out to force all local users to use linked login , @rmtuser = 'dev' -- Remote user name , @rmtpassword = 'dev2015'; -- Remote password
The linked server is created without any issues but when i execute this query:
SELECT TOP 10 * FROM Staging64.test.stage.dw_viasatsubscription;
it throws this error message:
OLE DB provider "SQLNCLI11" for linked server "Staging64" returned message "Login timeout expired". OLE DB provider "SQLNCLI11" for linked server "Staging64" returned message "A network-related or instance-specific error has occurred while establishing a connection to SQL Server. Server is not found or not accessible. Check if instance name is correct and if SQL Server is configured to allow remote connections. For more information see SQL Server Books Online.". Msg 53, Level 16, State 1, Line 25 Named Pipes Provider: Could not open a connection to SQL Server [53].
I have tried to google a lot but it has been in vain.
Any feedback will be appreciated.
Amazon Redshift can export data to Amazon S3 with the
UNLOAD
command:This data can then be imported into SQL Server, as with any CSV data.
There are some systems can assist with this process (eg Amazon Elastic MapReduce, Amazon Data Pipeline), but they are probably overkill for your situation.