sp_mengatur_firewall_aturan (Azure SQL Database)

Berlaku untuk:Azure SQL DatabaseAzure Synapse Analytics

Membuat atau memperbarui pengaturan firewall tingkat server untuk server SQL Database Anda. Prosedur tersimpan ini hanya tersedia dalam master database untuk login utama tingkat server atau perwakilan ID Microsoft Entra yang ditetapkan (sebelumnya Azure Active Directory).

Sintaks

sp_set_firewall_rule
    [ @name = ] N'name'
    , [ @start_ip_address = ] 'start_ip_address'
    , [ @end_ip_address = ] 'end_ip_address'
[ ; ]

Argumen

[ @name = ] N'name'

Nama yang digunakan untuk menjelaskan dan membedakan pengaturan firewall tingkat server. @name adalah nvarchar(128).

[ @start_ip_address = ] 'start_ip_address'

Alamat IP terendah dalam rentang pengaturan firewall tingkat server. @start_ip_address adalah varchar(50). Alamat IP yang sama dengan atau lebih besar dari ini dapat mencoba menyambungkan ke server SQL Database. Alamat IP terendah yang mungkin adalah 0.0.0.0.

[ @end_ip_address = ] 'end_ip_address'

Alamat IP tertinggi dalam rentang pengaturan firewall tingkat server. @end_ip_address adalah varchar(50). Alamat IP sama dengan atau kurang dari ini dapat mencoba menyambungkan ke server SQL Database. Alamat IP tertinggi yang mungkin adalah 255.255.255.255.

Upaya koneksi Azure diizinkan ketika bidang ini dan bidang @start_ip_address sama 0.0.0.0dengan .

Keterangan

Nama pengaturan firewall tingkat server harus unik. Jika nama pengaturan yang disediakan untuk prosedur tersimpan sudah ada di tabel pengaturan firewall, alamat IP awal dan akhir akan diperbarui. Jika tidak, pengaturan firewall tingkat server baru dibuat.

Saat Anda menambahkan pengaturan firewall tingkat server di mana alamat IP awal dan akhir sama dengan 0.0.0.0, Anda mengaktifkan akses ke server SQL Database Anda dari Azure. Berikan nilai ke parameter nama yang membantu Anda mengingat untuk apa pengaturan firewall tingkat server.

Di SQL Database, data masuk yang diperlukan untuk mengautentikasi koneksi dan aturan firewall tingkat server untuk sementara di-cache di setiap database. Cache ini disegarkan secara berkala. Untuk memaksa refresh cache autentikasi dan memastikan bahwa database memiliki versi terbaru tabel login, jalankan DBCC FLUSHAUTHCACHE (Transact-SQL).

Ini adalah prosedur tersimpan yang diperluas, sehingga jenis data nilai yang diteruskan untuk setiap parameter harus cocok dengan definisi parameter.

Izin

Hanya login utama tingkat server yang dibuat oleh proses provisi atau prinsipal ID Microsoft Entra yang ditetapkan sebagai admin yang dapat membuat atau mengubah aturan firewall tingkat server. Pengguna harus tersambung ke master database untuk menjalankan sp_set_firewall_rule.

Contoh

Kode berikut membuat pengaturan firewall tingkat server yang disebut Allow Azure yang memungkinkan akses dari Azure. Jalankan skrip berikut dalam database virtual master .

-- Enable Azure connections.
EXEC sp_set_firewall_rule N'Allow Azure', '0.0.0.0', '0.0.0.0';

Kode berikut membuat pengaturan firewall tingkat server yang hanya dipanggil Example setting 1 untuk alamat 0.0.0.2IP . Kemudian, prosedur tersimpan sp_set_firewall_rule dipanggil lagi untuk memperbarui alamat IP akhir ke 0.0.0.4, dalam pengaturan firewall tersebut. Ini menciptakan rentang, yang memungkinkan alamat IP 0.0.0.2, 0.0.0.3, dan 0.0.0.4 untuk mengakses server.

-- Create server-level firewall setting for only IP 0.0.0.2
EXEC sp_set_firewall_rule N'Example setting 1', '0.0.0.2', '0.0.0.2';

-- Update server-level firewall setting to create a range of allowed IP addresses
EXEC sp_set_firewall_rule N'Example setting 1', '0.0.0.2', '0.0.0.4';