ポイント
- Azure SQL DatabaseのBLUK INSERTは BLOBからのみのため、BLOBにファイルを置く必要がある。
- BLOBへのアクセスのために、BUIK INSERTする前にCREDENTIALを作る必要がある。
BLOBのストレージ BLOB データ共同作成者ロールにSQL DatabaseのマネージドIDを登録しておくこと。
コードサンプル
CREATE DATABASE SCOPED CREDENTIAL myCred1
WITH IDENTITY = 'Managed Identity';
create external data source myBlob1
WITH(
TYPE = BLOB_STORAGE,
LOCATION = '<BLOBコンテナへのURL 例…https://xxxx.blob.core.windows.net/testdata>',
CREDENTIAL = myCred1
);
bulk insert <insert先のテーブル名>
from '<CSVファイル名>'
with(
FORMAT = 'CSV',
FIRSTROW = 2, -- CSVのヘッダがある場合は2、1行目からデータの場合は1
FIELDTERMINATOR = '\t', --デリミタがタブの場合は\t
DATA_SOURCE = 'myBlob1'
)
参考情報
BULK INSERT (Transact-SQL) – SQL Server | Microsoft Learn