2017-08-16 2 views
0

J'ai 2 DB sur le même serveur SQL Azure et j'ai la même table (TB1) sur les deux DB, maintenant je veux lire les données de TB1 de DB2 et insérer des données dans TB1 de DB1. J'utilise la requête ci-dessous mais je reçois une erreur.Impossible de faire une requête de base de données croisée dans SQL Azure

insert into TB1 select 1,* from [DB2].dbo.TB1 

Message d'erreur

Msg 40515, niveau 15, état 1, ligne 16

référence à la base de données et/ou le nom du serveur dans 'DB2.dbo.TB1' est pas pris en charge cette version de SQL Server.

+0

requêtes de bases de données croisées ne sont pas pris en charge dans SQL Azure, essayez requête – TheGameiswar

+0

utilisation élastique Azure Data Factory pour déplacer des données d'un endroit à l'autre dans Azure. – wBob

Répondre

0

Vous pouvez effectuer des requêtes inter-base de données à l'aide des fonctions de requête élastiques sur SQL Azure.

Vous devrez créer une source de données externe et une table externe pour pouvoir interroger des tables sur d'autres bases de données SQL Azure. This article montre comment le faire.

Espérons que cela aide.

1

Oui, vous pouvez utiliser les fonctions de requête Elastic sur SQL Azure. C'est la seule façon d'exécuter les requêtes de base de données croisées.

Voici les requêtes détaillées à suivre:

Exécutez la requête ci-dessous dans votre DB1 (Puisque vous avez dit que la lecture du TB1 de DB2 et insérez ces années de données dans votre TB2 dans votre DB1)

CREATE MASTER KEY ENCRYPTION BY PASSWORD = 'STro*ngPaSSe0rD'; 

CREATE DATABASE SCOPED CREDENTIAL Login 
WITH IDENTITY = 'Login', 
SECRET = 'STro*ngPaSSe0rD'; 

CREATE EXTERNAL DATA SOURCE RemoteReferenceData 
WITH 
(
    TYPE=RDBMS, 
    LOCATION='myserver.database.windows.net', 
    DATABASE_NAME='DB2', 
    CREDENTIAL= Login 
); 




CREATE EXTERNAL TABLE [dbo].[TB1] 
(
    [Columns] [DataTypes] 
) 
WITH (DATA_SOURCE = [RemoteReferenceData]) 

Après ces étapes, vous pouvez interroger la table externe comme la table normale. Bien que certaines limites tout en utilisant la Table externe, comme vous ne pouviez pas en mesure de Insérer de données dans une table externe (tableau de référence)

+0

En essayant de le faire ... sur Azure SQL, il ne semble pas aimer la syntaxe. beaucoup d'erreurs, d'abord est "Syntaxe incorrecte près de 'IDENTITY'" –