17 มี.ค. 2021 เวลา 10:18 • วิทยาศาสตร์ & เทคโนโลยี
การทำ External Data Sources บน Azure SQL Server
ปกติแล้วถ้าหากเราต้องการดึงข้อมูลแบบ ข้าม Database ใน SQL Server นั้น เราก็แค่ทำการสร้าง Linked Server บน SQL Server Management Studio ขึ้นมา แต่บน Azure Database นั้น มันไม่สามารถทำได้ เพราะ เขาไม่รองรับ
แล้วเราจะดึงข้อมูลข้าม Server กันยังงัยหล่ะครับ......คำตอบก็คือ สร้าง External Data Sources ครับ
วิธีการก็ เขียน Script แบบง่าย ๆ แบบนี้ครับ
ขั้นแรก สร้าง Master Key ขึ้นมาก่อนด้วย
CREATE MASTER KEY ENCRYPTION BY PASSWORD = 'รหัสผ่านตาม rules ที่ตั้งเอาไว้
สร้าง Credential ขึ้นมา โดยใช้ user name และ password ของ Server ปลายทาง
CREATE DATABASE SCOPED CREDENTIAL cred
WITH IDENTITY = 'user name ',
SECRET = 'password';
จากนั้นก็สร้าง ตัว External Datasources ขึ้นมา
CREATE EXTERNAL DATA SOURCE sourcename
WITH
(
TYPE=RDBMS,
DATABASE_NAME='dbname',
CREDENTIAL= cred
);
รันเลยครับ ถ้าไม่มีอะไรผิดพลาด เราก็จะทำการสร้าง External Table เพื่อเรียกใช้งานกัน
CREATE EXTERNAL TABLE [dbo].[tablename] (
[id] int ,
[Col1] varchar(10) ,
[Col2] varchar(20))
WITH
(
DATA_SOURCE = sourcename,
SCHEMA_NAME = 'dbo',
OBJECT_NAME = 'target tablename '
)
วิธีการเรียกก็สามารถ เรียกผ่าน tablename ได้เลยครับ
*** ข้อควรระวัง ***
ชื่อ Field , Datatype และจำนวน Field ต้องตรงกับ ต้นทาง
เมื่อเลิกใช้งานก็สามารถ Drop ทิ้งได้ ด้วยคำสั่ง ดังนี้
เริ่มจาก Drop Table ก่อน
DROP EXTERNAL TABLE tablename
จากนั้นก็ Drop External Data Sources
DROP EXTERNAL DATA SOURCE sourcename
แล้วก็ Drop Credential
DROP DATABASE SCOPED CREDENTIAL cred
สุดท้ายก็ Drop Master Key
DROP MASTER KEY
จบ+++
โฆษณา