2016-12-06 1 views
1

Azure에서 동일한 서버 이름을 사용하여 SQL Server 데이터베이스에서 데이터웨어 하우스 데이터베이스를 쿼리 할 수 ​​있기를 원합니다. 데이터베이스 이름 (예 : server.dbo.product에서 select *)을 포함하는 Select 문은이 버전의 SQL Server에서 데이터베이스 및/또는 서버 이름에 대한 참조가 지원되지 않는다는 오류와 함께 반환됩니다. SQL Server 데이터베이스에 외부 데이터 원본을 만드는 방법에 대한 기사가 있지만 자격 증명에이 작업을 수행 할 수있는 권한이 없다는 오류가 발생합니다.Azure SQL Server 데이터베이스에서 Azure 데이터웨어 하우스 인스턴스로 연결하는 모든 옵션

답변

1

Azure SQL (2016 년 12 월의 Azure SQL V12 현재)은 일반 온 - 프레미스 SQL Server에서와 동일한 방식으로 데이터베이스 간 쿼리를 지원하지 않습니다 (예 : DatabaseName.schemaName.TableName 구문 사용).

Azure SQL 및 Azure 데이터웨어 하우스 데이터베이스가 각각 다른 물리적 서버에있는 경우 위의 구문은 모두 동일한 서버에있는 데이터베이스를 대상으로하므로 어쨌든 작동하지 않습니다.

Azure SQL은 일반 온 - 프레미스 SQL Server에 이미있는 EXTERNAL DATA SOURCE 기능을 통해 데이터베이스 간 호출을 지원합니다. 여기에 설명되어 있습니다 : https://azure.microsoft.com/en-us/blog/querying-remote-databases-in-azure-sql-db/

성능이 크게 좋아지지 않을 수 있으며 응용 프로그램 코드에서 쿼리를 수행하는 것이 유리할 수 있습니다. 예를 들어, 데이터를 감소시키는 컴플렉스 JOIN은 차선책으로 실행됩니다.

관련 문제