Eseguire query e trasferire dati tra database SQL di Azure

Contenuti

Attualmente esistono diverse metodologie di gestione dei progetti e può essere difficile scegliere quella più adatta, hay algunas situaciones en las que necesita tener una forma de transferir datos desde diferentes Bases de datos de Azure SQL.

Para examenCome esempio, digamos que tiene un cliente que borró inadvertidamente una gran cantidad de registros de una tabla en la base de datos de producción. Con la ayuda del Copias de seguridad en un momento determinado, podríamos restaurar la base de datos a un punto anterior en el tiempo en el que aún existen esos registros. Este procedimiento creará una nueva base de datos con el contenido restaurado y después podríamos intercambiar nombres entre estas bases de datos renombrándolas. Nonostante questo, hay una salvedad de realizar esta acción. Il database ripristinato perderà tutto lo storico fino a un determinato punto del database originale.

Un approccio migliore sarebbe ripristinare i record eliminati in Banca dati originale. Nonostante questo, questo non è così semplice come con i normali database di SQL Server. Entrambi i database non possono vedersi a vicenda nemmeno se sono sullo stesso server e, come esempio, non è possibile utilizzare Server collegati in Azure SQL per connetterli.

Potresti avere l'opzione di esportare quei record in script SQL, ma anche in tal caso, ci sono alcuni casi in cui la quantità di dati da ripristinare è molto grande, quindi creare quegli script non sarebbe il modo migliore per risolvere questo problema.

Qui è dove Query elastiche vengono in soccorso:


Con questa tecnologia, podríamos administrar fácilmente los datos que entran y salen de nuestras bases de datos.

requerimientos

Tutorial

Immaginiamo che il cliente trunci tutti i record dell'anno 2016 del Cari tabella nel nostro database di fatture.

Il primo passo deve essere connettersi al Portale di Azure e effettuare un ripristino in un momento specifico del fatture nel cloud database a partire da una data e ora in cui esistono ancora tali record. Ripristineremo questo in un database chiamato fatture2016.

Questi sarebbero i passaggi che dobbiamo eseguire per ripristinare tali record:

Creare una chiave principale del database e credenziali di ambito

Il chiave principale funzionerà come una “cassaforte” per memorizzare le credenziali nel database e le credenziali con ambito sono le credenziali del database che saranno utilizzate per connettersi al tuo database ripristinato.

Sintassi:

CREARE CRIPTATURA CHIAVE MAESTRA CON PASSWORD = 'password';

CREARE CREDENZIALE DEL DATABASE CON IDENTITÀ = ‘', SEGRETO =’

Esempio:

CREARE CRIPTATURA CHIAVE MAESTRA CON PASSWORD = 'p@ssw0rd';

CREARE CREDENZIALE A LIVELLO DATABASE dbCredential CON IDENTITÀ = 'utente01', SEGRETO = 'p@ssw0rd';

Crea la Origine dati esterno

Il origine dati esterna è dove stabiliamo i parametri insieme alla credenziale creata in precedenza per consentire la connessione tra database.

Sintassi:

CREARE ORIGINE DATI ESTERNA CON

(

TIPO = RDBMS,

POSIZIONE = ‘',

NOME_DATABASE = ‘',

CREDENZIALE =

)

Esempio:

CREARE ORIGINE DATI ESTERNA database ripristinato CON

(

TIPO = RDBMS,

UBICACIÓN = 'cloudinvoices.database.windows.net',

NOMBRE_DE_LA_BASE_DE_DATOS = 'facturas2016',

CREDENCIAL = dbCredential

);

Crea le tabelle esterne

Devi prestare attenzione che tabelle esterne sono estensioni del database esterno. Considerale come tabelle collegate. Il che significa che non possiamo avere due tabelle con lo stesso nome nel nostro database di produzione, anche se una è una tabella normale e l'altra è una tabella esterna.

Nel nostro esempio, se vogliamo connetterci alla Cari tabella nel database ripristinato, dovremmo cambiarle il nome primo (come esempio, Stime 2016 ) per evitare conflitti con quella esistente.

Sintassi:

sp_rename 'nome_oggetto', 'nuovo_nome';

Esempio: nel database ripristinato:

sp_rename 'Stime', 'Stime2016';

Ora possiamo creare la nostra tabella esterna:

Sintassi:

CREA TABELLA ESTERNA [nome_tabella] (

{} [ ,…n ]

)

{CON ()}

)

Esempio:

CREA TABELLA ESTERNA [Estimates2016] (

[EstimateId] identificatore univoco NON NULL,

[ClientId] int NON NULL,

[Anno] int NON NULL,

[Quantità] decimal NON NULL

)

CON (

FONTE_DATI = database ripristinato

);

Dopo aver eseguito i passaggi necessari per creare la connettività tra entrambe le basi di dati, possiamo fare il lavoro reale necessario per ripristinare i record mancanti. Come esempio:

INSERIRE IN STIME

SELEZIONARE * DI STIME 2016 DOVE ANNO = 2016;

Al termine di questa attività dobbiamo fare una pulizia:

ELIMINA TABELLA ESTERNA Estimates2016;

RILASCIA FONTE DATI ESTERNA restoreDatabase;

ELIMINA CREDENZIALI SCOPED DEL DATABASE dbCredential;

CADI CHIAVE MAESTRA;

Hadoop è tra gli strumenti più popolari nell'ingegneria dei dati e nello spazio Big Data.! Spero che trovi utile questa nuova tecnologia per questo tipo di scenari. Tieni presente che questo potrebbe aiutarti in molti altri casi: consultare basi di dati esterne, query tra basi di dati per partizionamento orizzontale ( frazionamento ), consultare diversi database per generare report in PowerBI, eccetera.

Ulteriori informazioni sulle query elastiche:

Ci vediamo nel prossimo post. Non smettere mai di imparare.

Iscriviti alla nostra Newsletter

Non ti invieremo posta SPAM. Lo odiamo quanto te.

Altoparlante dati