ใช้ไฟร์วอลล์ Azure SQL Database

เสร็จสมบูรณ์เมื่อ

เมื่อคุณสร้างเซิร์ฟเวอร์ใหม่ในฐานข้อมูล Azure SQL หรือ Azure Synapse Analytics ที่ชื่อ ว่า mysqlserver ตัวอย่างเช่น ไฟร์วอลล์ระดับเซิร์ฟเวอร์จะบล็อกการเข้าถึงจุดสิ้นสุดสาธารณะทั้งหมดสําหรับเซิร์ฟเวอร์ (ซึ่งสามารถเข้าถึงได้ที่ mysqlserver.database.windows.net) เพื่อความเรียบง่าย ฐานข้อมูล SQL ถูกใช้เพื่ออ้างถึงทั้งฐานข้อมูล SQL และ Azure Synapse Analytics บทความนี้ไม่นําไปใช้กับอินสแตนซ์ที่จัดการแล้วของ Azure SQL สําหรับข้อมูลเกี่ยวกับการกําหนดค่าเครือข่าย ดูเชื่อมต่อแอปพลิเคชันของคุณกับอินสแตนซ์ที่จัดการแล้วของ Azure SQL

ไฟร์วอลล์ทํางานอย่างไร

ความพยายามที่จะเชื่อมต่อจากอินเทอร์เน็ตและ Azure ต้องผ่านไฟร์วอลล์ก่อนที่จะเข้าถึงเซิร์ฟเวอร์หรือฐานข้อมูลของคุณ ตามที่แผนภาพต่อไปนี้แสดง

แผนภาพแสดงตัวอย่างวิธีการทํางานของไฟร์วอลล์

สําคัญ

Azure Synapse สนับสนุนเฉพาะกฎไฟร์วอลล์ระดับเซิร์ฟเวอร์ ไม่รองรับกฎไฟร์วอลล์ระดับฐานข้อมูล

กฎไฟร์วอลล์ระดับเซิร์ฟเวอร์

กฎเหล่านี้ช่วยให้ไคลเอ็นต์สามารถเข้าถึงเซิร์ฟเวอร์ทั้งหมดของคุณได้ นั่นคือ ฐานข้อมูลทั้งหมดที่จัดการโดยเซิร์ฟเวอร์ กฎจะถูกเก็บไว้ในฐานข้อมูลหลัก จํานวนสูงสุดของกฎไฟร์วอลล์ระดับเซิร์ฟเวอร์ถูกจํากัดไว้ที่ 256 สําหรับเซิร์ฟเวอร์ ถ้าคุณมีการเปิดใช้งานอนุญาต Azure Services และทรัพยากรเพื่อเข้าถึงการตั้งค่าเซิร์ฟเวอร์นี้ นับเป็นกฎไฟร์วอลล์เดียวสําหรับเซิร์ฟเวอร์

คุณสามารถกําหนดค่ากฎไฟร์วอลล์ระดับเซิร์ฟเวอร์โดยใช้พอร์ทัล Azure, PowerShell หรือคําสั่ง Transact-SQL

หมายเหตุ

จํานวนสูงสุดของกฎไฟร์วอลล์ระดับเซิร์ฟเวอร์จะถูกจํากัดไว้ที่ 256 เมื่อกําหนดค่าโดยใช้พอร์ทัล Azure

  • ในการใช้พอร์ทัลหรือ PowerShell คุณต้องเป็นเจ้าของการสมัครใช้งานหรือผู้สนับสนุนการสมัครใช้งาน
  • เมื่อต้องการใช้ Transact-SQL คุณต้องเชื่อมต่อกับฐานข้อมูล หลัก เป็นการเข้าสู่ระบบระดับเซิร์ฟเวอร์หลัก หรือในฐานะผู้ดูแลระบบ Microsoft Entra (ก่อนอื่น ต้องสร้างกฎไฟร์วอลล์ระดับเซิร์ฟเวอร์โดยผู้ใช้ที่มีสิทธิ์ระดับ Azure)

หมายเหตุ

ตามค่าเริ่มต้น ในระหว่างการสร้างเซิร์ฟเวอร์ SQL แบบตรรกะใหม่จากพอร์ทัล Azure การตั้งค่า Allow Azure Services และทรัพยากรเพื่อเข้าถึงเซิร์ฟเวอร์นี้จะถูกตั้งค่าเป็นไม่

กฎไฟร์วอลล์ระดับฐานข้อมูล IP

กฎไฟร์วอลล์ระดับฐานข้อมูล IP ช่วยให้ไคลเอ็นต์สามารถเข้าถึงฐานข้อมูล (ความปลอดภัย) บางฐานข้อมูลได้ คุณสร้างกฎสําหรับแต่ละฐานข้อมูล (รวมถึงฐานข้อมูล หลัก ) และถูกเก็บไว้ในแต่ละฐานข้อมูล

  • คุณสามารถสร้างและจัดการกฎไฟร์วอลล์ระดับฐานข้อมูลสําหรับฐานข้อมูลหลักและฐานข้อมูลผู้ใช้โดยใช้คําสั่ง Transact-SQL และหลังจากที่คุณกําหนดค่าไฟร์วอลล์ระดับเซิร์ฟเวอร์ตัวแรกเท่านั้น
  • ถ้าคุณระบุช่วงที่อยู่ IP ในกฎไฟร์วอลล์ระดับฐานข้อมูลที่อยู่นอกช่วงในกฎไฟร์วอลล์ระดับเซิร์ฟเวอร์ IP เฉพาะไคลเอ็นต์ที่มี IP แอดเดรสในช่วงระดับฐานข้อมูลเท่านั้นที่สามารถเข้าถึงฐานข้อมูลได้
  • ค่าเริ่มต้นคือกฎไฟร์วอลล์ระดับฐานข้อมูลสูงสุด 256 กฎสําหรับฐานข้อมูล สําหรับข้อมูลเพิ่มเติมเกี่ยวกับการกําหนดค่ากฎของไฟร์วอลล์ระดับฐานข้อมูล ดูตัวอย่างในภายหลังในบทความนี้และดู sp_set_database_firewall_rule (ฐานข้อมูล Azure SQL)

คําแนะนําสําหรับวิธีการตั้งค่ากฎของไฟร์วอลล์

เราขอแนะนําให้คุณใช้กฎไฟร์วอลล์ระดับฐานข้อมูลเมื่อใดก็ตามที่เป็นไปได้ แนวทางปฏิบัตินี้จะเพิ่มความปลอดภัยและทําให้ฐานข้อมูลของคุณพกพาได้มากขึ้น ใช้กฎไฟร์วอลล์ระดับเซิร์ฟเวอร์ IP สําหรับผู้ดูแลระบบ นอกจากนี้ ให้ใช้ฟังก์ชันนี้เมื่อคุณมีฐานข้อมูลจํานวนมากที่มีข้อกําหนดการเข้าถึงเดียวกัน และคุณไม่ต้องการกําหนดค่าแต่ละฐานข้อมูลทีละฐานข้อมูล

หมายเหตุ

สําหรับข้อมูลเกี่ยวกับฐานข้อมูลแบบพกพาในบริบทของความต่อเนื่องทางธุรกิจ ดูข้อกําหนดการรับรองความถูกต้องสําหรับการกู้คืนระบบจากภัยพิบัติ

ระดับเซิร์ฟเวอร์เทียบกับกฎไฟร์วอลล์ระดับฐานข้อมูล

ผู้ใช้ของฐานข้อมูลหนึ่งควรถูกแยกออกจากฐานข้อมูลอื่นทั้งหมดหรือไม่

ถ้า ใช่ ให้ใช้กฎไฟร์วอลล์ระดับฐานข้อมูลเพื่อให้สิทธิ์เข้าถึง วิธีนี้จะหลีกเลี่ยงการใช้กฎไฟร์วอลล์ระดับเซิร์ฟเวอร์ซึ่งอนุญาตให้เข้าถึงผ่านไฟร์วอลล์ไปยังฐานข้อมูลทั้งหมด ที่จะลดความลึกของการป้องกันของคุณ

ผู้ใช้ที่ที่อยู่ IP จําเป็นต้องเข้าถึงฐานข้อมูลทั้งหมดหรือไม่

ถ้า ใช่ ให้ใช้กฎไฟร์วอลล์ระดับเซิร์ฟเวอร์เพื่อลดจํานวนครั้งที่คุณต้องกําหนดค่ากฎไฟร์วอลล์ IP

บุคคลหรือทีมที่กําหนดค่ากฎไฟร์วอลล์ IP สามารถเข้าถึงผ่านทางพอร์ทัล Azure, PowerShell หรือ REST API เท่านั้นหรือไม่?

ถ้าเป็นเช่นนั้น คุณต้องใช้กฎไฟร์วอลล์ระดับเซิร์ฟเวอร์ คุณสามารถกําหนดค่ากฎไฟร์วอลล์ระดับฐานข้อมูลผ่าน Transact-SQL เท่านั้น

บุคคลหรือทีมที่กําหนดค่ากฎไฟร์วอลล์ IP ห้ามไม่ให้มีสิทธิ์ระดับสูงในระดับฐานข้อมูลหรือไม่

ถ้าเป็นเช่นนั้น ใช้กฎไฟร์วอลล์ระดับเซิร์ฟเวอร์ คุณจําเป็นต้องมีสิทธิ์ อย่างน้อย CONTROL DATABASE ที่ระดับฐานข้อมูลเพื่อกําหนดค่ากฎไฟร์วอลล์ระดับฐานข้อมูลผ่าน Transact-SQL

บุคคลหรือทีมที่กําหนดค่าหรือตรวจสอบกฎไฟร์วอลล์ IP จะจัดการกฎไฟร์วอลล์ IP สําหรับฐานข้อมูลจํานวนมาก (อาจหลายร้อย) หรือไม่

ในสถานการณ์นี้ แนวทางปฏิบัติที่ดีที่สุดจะถูกกําหนดโดยความต้องการและสภาพแวดล้อมของคุณ กฎไฟร์วอลล์ระดับเซิร์ฟเวอร์อาจง่ายต่อการกําหนดค่า แต่การเขียนสคริปต์สามารถกําหนดค่ากฎในระดับฐานข้อมูล และแม้ว่าคุณจะใช้กฎไฟร์วอลล์ระดับเซิร์ฟเวอร์ คุณอาจจําเป็นต้องตรวจสอบกฎไฟร์วอลล์ระดับฐานข้อมูล IP เพื่อดูว่าผู้ใช้ที่มีสิทธิ์ CONTROL บนฐานข้อมูลสร้างฐานข้อมูลกฎไฟร์วอลล์ระดับ IP หรือไม่

ฉันสามารถใช้การผสมผสานกฎไฟร์วอลล์ระดับเซิร์ฟเวอร์และระดับฐานข้อมูลได้หรือไม่?

ใช่ ผู้ใช้บางราย เช่น ผู้ดูแลระบบ อาจจําเป็นต้องมีกฎไฟร์วอลล์ระดับเซิร์ฟเวอร์ ผู้ใช้รายอื่น เช่น ผู้ใช้แอปพลิเคชันฐานข้อมูล อาจจําเป็นต้องมีกฎไฟร์วอลล์ระดับฐานข้อมูล

การเชื่อมต่อจากอินเทอร์เน็ต

เมื่อคอมพิวเตอร์พยายามเชื่อมต่อกับเซิร์ฟเวอร์ของคุณจากอินเทอร์เน็ต ไฟร์วอลล์จะตรวจสอบที่อยู่ IP เดิมของคําขอกับกฎไฟร์วอลล์ระดับฐานข้อมูลสําหรับฐานข้อมูลที่ร้องขอการเชื่อมต่อ

  • ถ้าที่อยู่อยู่ภายในช่วงที่ระบุไว้ในกฎไฟร์วอลล์ระดับฐานข้อมูล การเชื่อมต่อจะมอบให้กับฐานข้อมูลที่มีกฎ
  • ถ้าที่อยู่ไม่ได้อยู่ภายในช่วงในกฎไฟร์วอลล์ระดับฐานข้อมูล IP ไฟร์วอลล์จะตรวจสอบกฎไฟร์วอลล์ระดับเซิร์ฟเวอร์ ถ้าที่อยู่อยู่ภายในช่วงที่อยู่ในกฎไฟร์วอลล์ระดับเซิร์ฟเวอร์ IP การเชื่อมต่อจะได้รับ กฎไฟร์วอลล์ระดับเซิร์ฟเวอร์จะใช้กับฐานข้อมูลทั้งหมดที่จัดการโดยเซิร์ฟเวอร์
  • ถ้าที่อยู่ไม่ได้อยู่ภายในช่วงที่อยู่ในระดับฐานข้อมูลหรือกฎไฟร์วอลล์ระดับเซิร์ฟเวอร์ คําขอการเชื่อมต่อจะล้มเหลว

หมายเหตุ

เพื่อเข้าถึงฐานข้อมูล Azure SQL จากคอมพิวเตอร์เฉพาะที่ของคุณ ตรวจสอบให้แน่ใจว่าไฟร์วอลล์บนเครือข่ายและคอมพิวเตอร์ของคุณอนุญาตการสื่อสารขาออกบนพอร์ต TCP 1433

การเชื่อมต่อจากภายใน Azure

เพื่ออนุญาตให้แอปพลิเคชันที่โฮสต์ภายใน Azure สามารถเชื่อมต่อกับ SQL Server ของคุณได้ คุณต้องเปิดใช้งานการเชื่อมต่อ Azure เมื่อต้องการเปิดใช้งานการเชื่อมต่อ Azure ต้องมีกฎไฟร์วอลล์ที่มีที่อยู่ IP เริ่มต้นและสิ้นสุดที่ตั้งค่าเป็น 0.0.0.0. กฎที่แนะนํานี้ใช้ได้กับฐานข้อมูล Azure SQL เท่านั้น

เมื่อแอปพลิเคชันจาก Azure พยายามเชื่อมต่อกับเซิร์ฟเวอร์ ไฟร์วอลล์จะตรวจสอบว่าการเชื่อมต่อ Azure ได้รับอนุญาตโดยการตรวจสอบว่ามีกฎไฟร์วอลล์นี้อยู่หรือไม่ สามารถเปิดใช้งานได้โดยตรงจากบานหน้าต่างพอร์ทัล Azure โดยการสลับการตั้งค่าอนุญาตบริการและทรัพยากรของ Azure เพื่อเข้าถึงเซิร์ฟเวอร์นี้ไปยังเปิดในการตั้งค่าไฟร์วอลล์และเครือข่ายเสมือน การสลับการตั้งค่าเป็น ON จะสร้างกฎไฟร์วอลล์ขาเข้าสําหรับ IP 0.0.0.0 - 0.0.0.0 ชื่อ AllowAllWindowsAzureIps คุณสามารถดูกฎในมุมมอง sys.firewall_rules ฐานข้อมูลหลักของคุณ ใช้ PowerShell หรือ Azure CLI เพื่อสร้างกฎไฟร์วอลล์ที่มีที่อยู่ IP เริ่มต้นและสิ้นสุดที่ตั้งค่าเป็น 0.0.0.0 ถ้าคุณไม่ได้ใช้พอร์ทัล

สําคัญ

ตัวเลือกนี้กําหนดค่าไฟร์วอลล์เพื่ออนุญาตการเชื่อมต่อทั้งหมดจาก Azure รวมถึงการเชื่อมต่อจากการสมัครใช้งานของลูกค้าอื่น หากคุณเลือกตัวเลือกนี้ ตรวจสอบให้แน่ใจว่าสิทธิ์การเข้าสู่ระบบและผู้ใช้จํากัดการเข้าถึงผู้ใช้ที่ได้รับอนุญาตเท่านั้น

สิทธิ์

เพื่อให้สามารถสร้างและจัดการกฎของไฟร์วอลล์ IP สําหรับ Azure SQL Server คุณจะต้องเป็น:

สร้างและจัดการกฎไฟร์วอลล์ IP

คุณสร้างการตั้งค่าไฟร์วอลล์ระดับเซิร์ฟเวอร์แรกโดยใช้พอร์ทัล Azure หรือทางโปรแกรมโดยใช้ Azure PowerShell, Azure CLI หรือ Azure REST API คุณสร้างและจัดการกฎไฟร์วอลล์ระดับเซิร์ฟเวอร์เพิ่มเติมโดยใช้วิธีการเหล่านี้หรือ Transact-SQL

สําคัญ

กฎไฟร์วอลล์ระดับฐานข้อมูล IP สามารถสร้างและจัดการได้โดยใช้ Transact-SQL เท่านั้น

เพื่อปรับปรุงประสิทธิภาพการทํางาน กฎไฟร์วอลล์ระดับเซิร์ฟเวอร์จะถูกแคชชั่วคราวในระดับฐานข้อมูล หากต้องการรีเฟรชแคช โปรดดู DBCC FLUSHAUTHCACHE

เคล็ดลับ

คุณสามารถใช้ การตรวจสอบฐานข้อมูล เพื่อตรวจสอบไฟร์วอลล์ระดับเซิร์ฟเวอร์และระดับฐานข้อมูลได้

ใช้พอร์ทัล Azure เพื่อจัดการกฎไฟร์วอลล์ระดับเซิร์ฟเวอร์

หากต้องการตั้งค่ากฎไฟร์วอลล์ระดับเซิร์ฟเวอร์ในพอร์ทัล Azure ให้ไปที่หน้าภาพรวมสําหรับฐานข้อมูลของคุณหรือเซิร์ฟเวอร์ของคุณ

เคล็ดลับ

สําหรับบทช่วยสอน ดูสร้างฐานข้อมูลโดยใช้พอร์ทัล Azure

จากหน้าภาพรวมฐานข้อมูล

  1. หากต้องการตั้งค่ากฎไฟร์วอลล์ระดับเซิร์ฟเวอร์จากหน้าภาพรวมฐานข้อมูล ให้เลือก ตั้งค่าไฟร์วอลล์เซิร์ฟเวอร์บนแถบเครื่องมือ ดังที่รูปภาพต่อไปนี้แสดง

    สกรีนช็อตแสดงตัวอย่างของแถบเครื่องมือการตั้งค่าไฟร์วอลล์ฐานข้อมูล sql

    หน้า Networking สําหรับเซิร์ฟเวอร์จะเปิดขึ้น

  2. เพิ่มกฎในส่วนกฎไฟร์วอลล์เพื่อเพิ่มที่อยู่ IP ของคอมพิวเตอร์ที่คุณกําลังใช้ จากนั้นเลือก บันทึก กฎไฟร์วอลล์ระดับเซิร์ฟเวอร์จะถูกสร้างขึ้นสําหรับที่อยู่ IP ปัจจุบันของคุณ

    สกรีนช็อตแสดงตัวอย่างของหน้าระบบเครือข่ายเซิร์ฟเวอร์ sql

จากหน้าภาพรวมของเซิร์ฟเวอร์

หน้าภาพรวมสําหรับเซิร์ฟเวอร์ของคุณจะเปิดขึ้น ซึ่งแสดงชื่อเซิร์ฟเวอร์ที่มีคุณสมบัติครบถ้วน (เช่น mynewserver20170403.database.windows.net) และมีตัวเลือกสําหรับการกําหนดค่าเพิ่มเติม

  1. เมื่อต้องการตั้งค่ากฎระดับเซิร์ฟเวอร์จากหน้านี้ ให้เลือก เครือข่าย จากเมนู การตั้งค่า ทางด้านซ้าย
  2. เพิ่มกฎในส่วนกฎไฟร์วอลล์เพื่อเพิ่มที่อยู่ IP ของคอมพิวเตอร์ที่คุณกําลังใช้ จากนั้นเลือก บันทึก กฎไฟร์วอลล์ระดับเซิร์ฟเวอร์จะถูกสร้างขึ้นสําหรับที่อยู่ IP ปัจจุบันของคุณ

ใช้ Transact-SQL เพื่อจัดการกฎไฟร์วอลล์

ขยายตาราง

มุมมองแค็ตตาล็อกหรือกระบวนงานที่จัดเก็บไว้ ระดับ คำอธิบาย
sys.firewall_rules เซิร์ฟเวอร์ แสดงกฎไฟร์วอลล์ระดับเซิร์ฟเวอร์ปัจจุบัน
sp_set_firewall_rule เซิร์ฟเวอร์ สร้างหรืออัปเดตกฎไฟร์วอลล์ระดับเซิร์ฟเวอร์
sp_delete_firewall_rule เซิร์ฟเวอร์ ลบกฎไฟร์วอลล์ระดับเซิร์ฟเวอร์
sys.database_firewall_rules ฐานข้อมูล แสดงกฎไฟร์วอลล์ระดับฐานข้อมูลปัจจุบัน
sp_set_database_firewall_rule ฐานข้อมูล สร้างหรืออัปเดตกฎไฟร์วอลล์ระดับฐานข้อมูล
sp_delete_database_firewall_rule ฐาน ข้อมูล ลบกฎไฟร์วอลล์ระดับฐานข้อมูล

ตัวอย่างต่อไปนี้จะตรวจทานกฎที่มีอยู่ เปิดใช้งานช่วงของที่อยู่ IP บนเซิร์ฟเวอร์ Contoso และลบกฎไฟร์วอลล์ IP:

SQL

SELECT * FROM sys.firewall_rules ORDER BY name;

ถัดไป เพิ่มกฎไฟร์วอลล์ระดับเซิร์ฟเวอร์

SQL

SELECT * FROM sys.firewall_rules ORDER BY name;

ดําเนินการ sp_set_firewall_rule @name = N'ContosoFirewallRule',
@start_ip_address = '192.168.1.1', @end\_ip\_address = '192.168.1.10'

หากต้องการลบกฎไฟร์วอลล์ระดับเซิร์ฟเวอร์ ให้ดําเนินการ sp_delete_firewall_rule Stored Procedure ตัวอย่างต่อไปนี้ลบกฎ ContosoFirewallRule:

SQL

EXECUTE sp_delete_firewall_rule @name = N'ContosoFirewallRule'

ใช้ PowerShell เพื่อจัดการกฎไฟร์วอลล์ระดับเซิร์ฟเวอร์

หมายเหตุ

ตัวอย่างนี้ใช้โมดูล Azure Az PowerShell ซึ่งเป็นโมดูล PowerShell ที่แนะนําสําหรับการโต้ตอบกับ Azure หากต้องการเริ่มต้นใช้งานมอดูล Az PowerShell โปรดดู ติดตั้ง Azure PowerShell หากต้องการเรียนรู้วิธีการย้ายข้อมูลไปยังมอดูล Az PowerShell โปรดดู โยกย้าย Azure PowerShell จาก AzureRM ไปยัง Az

สําคัญ

มอดูล PowerShell Azure Resource Manager (AzureRM) ถูกเลิกใช้เมื่อวันที่ 29 กุมภาพันธ์ 2024 การพัฒนาในอนาคตทั้งหมดควรใช้โมดูล Az.Sql ขอแนะนําให้ผู้ใช้ย้ายจาก AzureRM ไปยังโมดูล Az PowerShell เพื่อให้แน่ใจว่าการสนับสนุนและการอัปเดตอย่างต่อเนื่อง โมดูล AzureRM ไม่ได้รับการบํารุงรักษาหรือรองรับอีกต่อไป อาร์กิวเมนต์สําหรับคําสั่งในโมดูล Az PowerShell และในโมดูล AzureRM จะเหมือนกันมาก สําหรับข้อมูลเพิ่มเติมเกี่ยวกับความเข้ากันได้ โปรดดู แนะนําโมดูล Az PowerShell ใหม่

ขยายตาราง

Cmdlet ระดับ คำอธิบาย
Get-AzSqlServerFirewallRule เซิร์ฟเวอร์ แสดงกฎไฟร์วอลล์ระดับเซิร์ฟเวอร์ปัจจุบัน
New-AzSqlServerFirewallRule เซิร์ฟเวอร์ สร้างกฎไฟร์วอลล์ระดับเซิร์ฟเวอร์ใหม่
Set-AzSqlServerFirewallRule เซิร์ฟเวอร์ ปรับปรุงคุณสมบัติของกฎไฟร์วอลล์ระดับเซิร์ฟเวอร์ที่มีอยู่
Remove-AzSqlServerFirewallRule เซิร์ฟเวอร์ ลบกฎไฟร์วอลล์ระดับเซิร์ฟเวอร์

ตัวอย่างต่อไปนี้ใช้ PowerShell เพื่อตั้งค่ากฎไฟร์วอลล์ระดับเซิร์ฟเวอร์:

PowerShell

New-AzSqlServerFirewallRule -ResourceGroupName "myResourceGroup" `-ServerName $servername `-FirewallRuleName "ContosoIPRange" -StartIpAddress "192.168.1.0" -EndIpAddress "192.168.1.255"

เคล็ดลับ

สําหรับ$servername ระบุชื่อเซิร์ฟเวอร์และไม่ใช่ชื่อ DNS ที่มีคุณสมบัติครบถ้วน เช่น ระบุ mysqldbserver แทนที่จะเป็น mysqldbserver.database.windows.net สําหรับตัวอย่าง PowerShell ในบริบทของการเริ่มต้นใช้งานด่วน โปรดดู สร้าง DB - PowerShell และ สร้างฐานข้อมูลเดียว และกําหนดค่ากฎไฟร์วอลล์ IP ระดับเซิร์ฟเวอร์โดยใช้ PowerShell

ใช้ CLI เพื่อจัดการกฎไฟร์วอลล์ระดับเซิร์ฟเวอร์

ขยายตาราง

Cmdlet ระดับ คำอธิบาย
การสร้างกฎไฟร์วอลล์ของ az SQL Server เซิร์ฟเวอร์ สร้างกฎไฟร์วอลล์ IP ของเซิร์ฟเวอร์
รายการกฎไฟร์วอลล์ของ az SQL Server เซิร์ฟเวอร์ แสดงรายการกฎของไฟร์วอลล์ IP บนเซิร์ฟเวอร์
แสดงกฎของไฟร์วอลล์ของ az SQL Server เซิร์ฟเวอร์ แสดงรายละเอียดของกฎไฟร์วอลล์ IP
การอัปเดตกฎของไฟร์วอลล์ของ az SQL Server เซิร์ฟเวอร์ อัปเดตกฎไฟร์วอลล์ IP
ลบกฎไฟร์วอลล์ของ az SQL Server เซิร์ฟเวอร์ ลบกฎไฟร์วอลล์ IP

ตัวอย่างต่อไปนี้ใช้ CLI เพื่อตั้งค่ากฎไฟร์วอลล์ระดับเซิร์ฟเวอร์:

Azure CLI



az sql server firewall-rule create --resource-group myResourceGroup --server $servername \-n ContosoIPRange --start-ip-address 192.168.1.0 --end-ip-address 192.168.1.255">">


เคล็ดลับ

สําหรับ$servername ให้ระบุชื่อเซิร์ฟเวอร์และไม่ใช่ชื่อ DNS แบบเต็ม ตัวอย่างเช่น ใช้ mysqldbserver แทน mysqldbserver.database.windows.net สําหรับตัวอย่าง CLI ในบริบทของการเริ่มต้นใช้งานด่วน โปรดดู สร้าง DB - Azure CLI และ สร้างฐานข้อมูลเดียวและกําหนดค่ากฎไฟร์วอลล์ระดับเซิร์ฟเวอร์โดยใช้ Azure CLI สําหรับ Azure Synapse Analytics ให้อ้างอิงไปยังตัวอย่างต่อไปนี้:

ขยายตาราง

Cmdlet ระดับ คำอธิบาย
การสร้างกฎไฟร์วอลล์ของพื้นที่ทํางาน az Synapse เซิร์ฟเวอร์ สร้างกฎไฟร์วอลล์
az synapse workspace firewall-rule ลบ เซิร์ฟเวอร์ ลบกฎไฟร์วอลล์
รายการกฎไฟร์วอลล์ของพื้นที่ทํางาน az Synapse เซิร์ฟเวอร์ แสดงกฎของไฟร์วอลล์ทั้งหมด
การแสดงกฎไฟร์วอลล์ของพื้นที่ทํางาน az Synapse เซิร์ฟเวอร์ รับกฎไฟร์วอลล์
az synapse พื้นที่ทํางานการอัปเดตกฎไฟร์วอลล์ เซิร์ฟเวอร์ อัปเดตกฎไฟร์วอลล์
az synapse workspace firewall-rule รอ เซิร์ฟเวอร์ วาง CLI ในสถานะรอจนกว่าจะเป็นไปตามเงื่อนไขของกฎไฟร์วอลล์

ตัวอย่างต่อไปนี้ใช้ CLI เพื่อตั้งค่ากฎไฟร์วอลล์ระดับเซิร์ฟเวอร์ IP ใน Azure Synapse:

Azure CLI

az synapse workspace firewall-rule create --name AllowAllWindowsAzureIps --workspace-name $workspacename --resource-group $resourcegroupname --start-ip-address 0.0.0.0 --end-ip-address 0.0.0.0

ใช้ REST API เพื่อจัดการกฎไฟร์วอลล์ระดับเซิร์ฟเวอร์

ขยายตาราง

API ของ ระดับ คำอธิบาย
กฎไฟร์วอลล์รายการ เซิร์ฟเวอร์ แสดงกฎไฟร์วอลล์ระดับเซิร์ฟเวอร์ปัจจุบัน
สร้างหรืออัปเดตกฎไฟร์วอลล์ เซิร์ฟเวอร์ สร้างหรืออัปเดตกฎไฟร์วอลล์ระดับเซิร์ฟเวอร์
ลบกฎไฟร์วอลล์ เซิร์ฟเวอร์ ลบกฎไฟร์วอลล์ระดับเซิร์ฟเวอร์
รับกฎของไฟร์วอลล์ เซิร์ฟเวอร์ รับกฎไฟร์วอลล์ระดับเซิร์ฟเวอร์

แก้ไขปัญหาไฟร์วอลล์ฐานข้อมูล

พิจารณาประเด็นต่อไปนี้เมื่อเข้าถึงฐานข้อมูล Azure SQL ไม่ทํางานตามที่คุณคาดหวัง

  • การกําหนดค่าไฟร์วอลล์ภายในเครื่อง: ก่อนที่คอมพิวเตอร์ของคุณสามารถเข้าถึงฐานข้อมูล Azure SQL คุณอาจจําเป็นต้องสร้างข้อยกเว้นไฟร์วอลล์บนคอมพิวเตอร์ของคุณสําหรับพอร์ต TCP 1433 เมื่อต้องการทําการเชื่อมต่อภายในขอบเขต Azure cloud คุณอาจต้องเปิดพอร์ตเพิ่มเติม สําหรับข้อมูลเพิ่มเติม ให้ดูส่วน "ฐานข้อมูล SQL: ภายนอกเทียบกับภายใน" ของพอร์ตที่เกิน 1433 สําหรับ ADO.NET 4.5 และฐานข้อมูล SQL Azure

  • การแปลที่อยู่เครือข่าย: เนื่องจากการแปลที่อยู่เครือข่าย (NAT) ที่อยู่ IP ที่คอมพิวเตอร์ของคุณใช้เพื่อเชื่อมต่อกับฐานข้อมูล AZURE SQL อาจแตกต่างจากที่อยู่ IP ในการตั้งค่าการกําหนดค่า IP ของคอมพิวเตอร์ของคุณ เมื่อต้องการดูที่อยู่ IP ที่คอมพิวเตอร์ของคุณกําลังใช้เพื่อเชื่อมต่อกับ Azure:

    1. ลงชื่อเข้าใช้พอร์ทัล
    2. ไปที่แท็บ กําหนดค่า บนเซิร์ฟเวอร์ที่โฮสต์ฐานข้อมูลของคุณ
    3. ที่อยู่ IP ไคลเอ็นต์ปัจจุบันจะแสดงในส่วนที่อยู่ IP ที่ได้รับอนุญาต เลือกเพิ่มสําหรับที่อยู่ IP ที่ได้รับอนุญาตเพื่ออนุญาตให้คอมพิวเตอร์นี้เข้าถึงเซิร์ฟเวอร์
  • การเปลี่ยนแปลงรายการอนุญาตยังไม่มีผล: อาจมีการหน่วงเวลาสูงสุดห้านาทีสําหรับการเปลี่ยนแปลงการกําหนดค่าไฟร์วอลล์ Azure SQL Database เพื่อให้มีผล

  • การเข้าสู่ระบบไม่ได้รับอนุญาต หรือมีการใช้รหัสผ่านที่ไม่ถูกต้อง: ถ้าการเข้าสู่ระบบไม่มีสิทธิ์บนเซิร์ฟเวอร์ หรือรหัสผ่านไม่ถูกต้อง การเชื่อมต่อไปยังเซิร์ฟเวอร์ถูกปฏิเสธ การสร้างการตั้งค่าไฟร์วอลล์จะให้ โอกาส ไคลเอ็นต์ในการลองเชื่อมต่อกับเซิร์ฟเวอร์ของคุณเท่านั้น ไคลเอ็นต์ต้องให้ข้อมูลประจําตัวด้านความปลอดภัยที่จําเป็น สําหรับข้อมูลเพิ่มเติมเกี่ยวกับการจัดเตรียมล็อกอิน โปรดดู การควบคุมและให้สิทธิ์การเข้าถึงฐานข้อมูล

  • ที่อยู่ IP แบบไดนามิก: ถ้าคุณมีการเชื่อมต่ออินเทอร์เน็ตที่ใช้ที่อยู่ IP แบบไดนามิกและคุณมีปัญหาในการรับผ่านไฟร์วอลล์ ลองใช้หนึ่งในโซลูชันต่อไปนี้:

    • ถามผู้ให้บริการอินเทอร์เน็ตของคุณสําหรับช่วงที่อยู่ IP ที่กําหนดให้กับคอมพิวเตอร์ไคลเอนต์ของคุณที่เข้าถึงเซิร์ฟเวอร์ เพิ่มช่วงที่อยู่ IP เป็นกฎไฟร์วอลล์ IP
    • รับการกําหนดที่อยู่ IP แบบคงที่แทนสําหรับคอมพิวเตอร์ไคลเอ็นต์ของคุณ เพิ่มที่อยู่ IP เป็นกฎของไฟร์วอลล์