ข้ามไปที่เนื้อหาหลัก
Office
โยกย้ายฐานข้อมูล Access ไปยัง SQL Server

โยกย้ายฐานข้อมูล Access ไปยัง SQL Server

เราทั้งหมดมีขีดจำกัดและฐานข้อมูล Access ไม่มีข้อยกเว้น ตัวอย่างเช่นฐานข้อมูล Access มีขีดจำกัดขนาดของ2กิกะไบต์และไม่สามารถสนับสนุนผู้ใช้พร้อมกันมากกว่า๒๕๕ได้ ดังนั้นเมื่อถึงเวลาสำหรับฐานข้อมูล Access ของคุณเพื่อไปยังระดับถัดไปคุณสามารถโยกย้ายไปยัง SQL Server ได้ SQL Server (ไม่ว่าภายในองค์กรหรือในระบบคลาวด์ของ Azure) จะสนับสนุนข้อมูลจำนวนมากผู้ใช้ที่พร้อมกันและมีความจุมากกว่ากลไกจัดการฐานข้อมูล JET/ACE คู่มือนี้ช่วยให้คุณสามารถเริ่มต้นใช้งานการเดินทางของ SQL Server ของคุณได้อย่างราบรื่นช่วยรักษาการเข้าถึงโซลูชัน front-end ที่คุณสร้างขึ้นและหวังว่าข้าพเจ้าให้คุณใช้ Access สำหรับโซลูชันฐานข้อมูลในอนาคต ตัวช่วยสร้างการ Upsizing ถูกเอาออกจาก Access ใน Access ๒๐๑๓ดังนั้นในตอนนี้คุณสามารถใช้ตัวช่วยการโยกย้าย Microsoft SQL Server (SSMA) ได้ เมื่อต้องการโยกย้ายเสร็จเรียบร้อยแล้วให้ทำตามขั้นตอนต่อไปนี้

ขั้นตอนการโยกย้ายฐานข้อมูลไปยัง SQL Server

ก่อนที่คุณจะเริ่มต้น

ส่วนต่อไปนี้มีพื้นหลังและข้อมูลอื่นๆเพื่อช่วยคุณในการเริ่มต้นใช้งาน

เกี่ยวกับการแยกฐานข้อมูล

วัตถุฐานข้อมูล Access ทั้งหมดสามารถอยู่ในไฟล์ฐานข้อมูลหนึ่งไฟล์หรือสามารถเก็บไว้ในไฟล์ฐานข้อมูลสองไฟล์: ฐานข้อมูลส่วนหน้าและฐานข้อมูลส่วนหลัง การทำเช่นนี้เรียกว่าการแยกฐานข้อมูลและได้รับการออกแบบมาเพื่ออำนวยความสะดวกในการแชร์ในสภาพแวดล้อมของเครือข่าย ไฟล์ฐานข้อมูลสิ้นสุดหลังต้องมีเฉพาะตารางและความสัมพันธ์เท่านั้น ไฟล์ front-end จะต้องมีวัตถุอื่นๆทั้งหมดรวมถึงฟอร์มรายงานคิวรีแมโครโมดูล VBA และตารางที่เชื่อมโยงไปยังฐานข้อมูลส่วนหลัง เมื่อคุณโยกย้ายฐานข้อมูล Access จะมีลักษณะคล้ายกับฐานข้อมูลแยกใน SQL Server ที่ทำหน้าที่เป็นจุดสิ้นสุดหลังใหม่สำหรับข้อมูลที่อยู่ในตอนนี้บนเซิร์ฟเวอร์

ด้วยเหตุคุณยังสามารถรักษาฐานข้อมูล Access แบบส่วนหน้าที่มีตารางที่เชื่อมโยงไปยังตาราง SQL Server ได้ อย่างมีประสิทธิภาพคุณสามารถได้รับประโยชน์จากการพัฒนาแอปพลิเคชันอย่างรวดเร็วที่ฐานข้อมูล Access ให้พร้อมกับการปรับขยายของ SQL Server

ประโยชน์ของ SQL Server

ยังคงต้องการการโยกย้ายไปยัง SQL Server หรือไม่ ต่อไปนี้คือประโยชน์เพิ่มเติมบางประการที่ควรคำนึงถึง:

  • ผู้ใช้ที่พร้อมกันเพิ่มเติม    SQL Server สามารถจัดการผู้ใช้พร้อมกันหลายรายมากกว่าการเข้าถึงและลดความต้องการของหน่วยความจำเมื่อเพิ่มผู้ใช้เพิ่มเติม

  • ความพร้อมใช้งานเพิ่มขึ้น    ด้วย SQL Server คุณสามารถทำการสำรองข้อมูลแบบไดนามิกได้อย่างเป็นแบบส่วนเพิ่มหรือสมบูรณ์ฐานข้อมูลในขณะที่กำลังใช้งานอยู่ ดังนั้นคุณจึงไม่จำเป็นต้องบังคับให้ผู้ใช้ออกจากฐานข้อมูลเพื่อสำรองข้อมูล

  • ประสิทธิภาพการทำงานสูงและการปรับขยาย    ฐานข้อมูล SQL Server มักจะทำงานได้ดีกว่าฐานข้อมูล Access โดยเฉพาะกับฐานข้อมูลขนาดใหญ่ขนาดเทราไบต์ นอกจากนี้การประมวลผลคิวรี SQL Server ได้เร็วขึ้นและมีประสิทธิภาพมากขึ้นโดยการประมวลผลคิวรีแบบขนานโดยใช้เธรดพื้นเมืองหลายเธรดภายในกระบวนการเดียวเพื่อจัดการคำขอของผู้ใช้

  • ความปลอดภัยที่ได้รับการปรับปรุง    การใช้การเชื่อมต่อที่เชื่อถือได้ SQL Server จะรวมเข้ากับการรักษาความปลอดภัยระบบของ Windows เพื่อให้การเข้าถึงเครือข่ายและฐานข้อมูลรวมเข้ากับเครือข่ายและฐานข้อมูลได้อย่างมีประสิทธิภาพสูงสุดทั้งระบบรักษาความปลอดภัย การทำเช่นนี้ทำให้ง่ายต่อการจัดการแผนการรักษาความปลอดภัยที่ซับซ้อน SQL Server เป็นที่เก็บข้อมูลที่เหมาะสมสำหรับข้อมูลที่ละเอียดอ่อนเช่นหมายเลขประกันสังคมข้อมูลบัตรเครดิตและที่อยู่ที่เป็นความลับ

  • การ recoverability ทันที    ถ้าระบบปฏิบัติการหยุดทำงานหรือ power ออกไปแล้ว SQL Server สามารถกู้คืนฐานข้อมูลไปยังสถานะที่สอดคล้องกันได้โดยอัตโนมัติโดยไม่มีการขัดจังหวะของผู้ดูแลฐานข้อมูล

  • การใช้งาน VPN    การเข้าถึงและเครือข่ายส่วนตัวเสมือน (VPN) ไม่ได้รับพร้อมกัน แต่กับ SQL Server ผู้ใช้ระยะไกลสามารถใช้ได้ยังคงใช้ฐานข้อมูล Access บนเดสก์ท็อปและสิ้นสุดหลังของ SQL Server ที่อยู่ด้านหลังไฟร์วอลล์ VPN

  • Azure SQL Server    นอกจากประโยชน์ของ SQL Server แล้วยังมีการขยายแบบไดนามิกที่ไม่มีการหยุดทำงานการปรับให้เหมาะสมและความพร้อมใช้งานของการลดค่าใช้จ่ายของฮาร์ดแวร์และการดูแลลดลง

เลือกตัวเลือก Azure SQL Server ที่ดีที่สุด

ถ้าคุณกำลังโยกย้ายไปยัง Azure SQL Server มีสามตัวเลือกในการเลือกจากแต่ละรายการจะมีประโยชน์แตกต่างกันดังนี้

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

  • อินสแตนซ์ที่มีการจัดการ    ตัวเลือกนี้คือคอลเลกชันของฐานข้อมูลระบบและผู้ใช้ที่มีชุดของทรัพยากรที่ใช้ร่วมกัน อินสแตนซ์ที่มีการจัดการจะเหมือนกับอินสแตนซ์ของฐานข้อมูล SQL Server ที่มีความเข้ากันได้มากกับ SQL Server ภายในองค์กร อินสแตนซ์ที่มีการจัดการมีการสำรองข้อมูลที่มีอยู่แล้วภายในการปรับปรุงการกู้คืนและง่ายต่อการโยกย้ายจาก SQL Server อย่างไรก็ตามมีฟีเจอร์ SQL Server จำนวนเล็กน้อยที่ไม่พร้อมใช้งานและไม่รับประกันเวลาการบำรุงรักษาที่แน่นอน

  • เครื่องเสมือน Azure    ตัวเลือกนี้ช่วยให้คุณสามารถเรียกใช้ SQL Server ภายในเครื่องเสมือนในระบบคลาวด์ของ Azure คุณสามารถควบคุมกลไกจัดการ SQL Server และเส้นทางการโยกย้ายได้อย่างง่ายดาย แต่คุณจำเป็นต้องจัดการการสำรองข้อมูลแพทช์และการกู้คืนของคุณ

สำหรับข้อมูลเพิ่มเติมให้ดูที่การเลือกเส้นทางการโยกย้ายฐานข้อมูลของคุณไปยัง Azureและเลือกตัวเลือก SQL Server ที่เหมาะสมใน azure

ขั้นตอนแรก

มีปัญหาบางอย่างที่คุณสามารถอยู่ด้านหน้าที่สามารถช่วยปรับปรุงกระบวนการโยกย้ายก่อนที่คุณจะเรียกใช้ SSMA:

  • เพิ่มดัชนีตารางและคีย์หลัก    ตรวจสอบให้แน่ใจว่าตาราง Access แต่ละตารางมีดัชนีและคีย์หลัก SQL Server จำเป็นต้องมีตารางทั้งหมดที่จะมีอย่างน้อยหนึ่งดัชนีและจำเป็นต้องมีตารางที่มีการเชื่อมโยงเพื่อให้มีคีย์หลักถ้าตารางสามารถอัปเดตได้

  • ตรวจสอบความสัมพันธ์ของคีย์หลัก/ต่างประเทศ    ตรวจสอบให้แน่ใจว่าความสัมพันธ์เหล่านี้ยึดตามเขตข้อมูลที่มีชนิดข้อมูลและขนาดข้อมูลที่สอดคล้องกัน SQL Server ไม่สนับสนุนคอลัมน์ที่เข้าร่วมด้วยชนิดข้อมูลและขนาดที่แตกต่างกันในข้อจำกัด foreign key

  • เอาคอลัมน์สิ่งที่แนบมาออก    SSMA จะไม่โยกย้ายตารางที่มีคอลัมน์สิ่งที่แนบมา

ก่อนที่คุณจะเรียกใช้ SSMA ให้ทำตามขั้นตอนแรกต่อไปนี้

  1. ปิดฐานข้อมูล Access

  2. ตรวจสอบให้แน่ใจว่าผู้ใช้ปัจจุบันที่เชื่อมต่อกับฐานข้อมูลยังปิดฐานข้อมูลด้วย

  3. ถ้าฐานข้อมูลอยู่ในรูปแบบไฟล์ .mdbแล้วเอาการรักษาความปลอดภัยระดับผู้ใช้ออก

  4. สำรองฐานข้อมูลของคุณ สำหรับข้อมูลเพิ่มเติมให้ดูที่ปกป้องข้อมูลของคุณด้วยการสำรองและการคืนค่ากระบวนการ

เคล็ดลับ    ให้ลองติดตั้งMICROSOFT SQL Server Express editionบนเดสก์ท็อปของคุณที่สนับสนุนสูงสุด 10 GB และเป็นวิธีที่ง่ายและรวดเร็วในการทำงานผ่านและตรวจสอบการโยกย้ายของคุณ เมื่อคุณเชื่อมต่อให้ใช้LocalDB เป็นอินสแตนซ์ฐานข้อมูล

เคล็ดลับ    ถ้าเป็นไปได้ให้ใช้ Access เวอร์ชันแบบสแตนด์อโลน ถ้าคุณสามารถใช้ Office ๓๖๕เท่านั้นให้ใช้กลไกจัดการฐานข้อมูล Access ๒๐๑๐เพื่อโยกย้ายฐานข้อมูล Access ของคุณเมื่อใช้ SSMA สำหรับข้อมูลเพิ่มเติมให้ดูที่Microsoft Access Database Engine ๒๐๑๐สามารถเผยแพร่ต่อได้

เรียกใช้ SSMA

Microsoft มีMICROSOFT SQL Server ผู้ช่วยในการโยกย้าย (SSMA) เพื่อทำให้การโยกย้ายง่ายขึ้น SSMA การย้ายตารางส่วนใหญ่และเลือกแบบสอบถามที่ไม่มีพารามิเตอร์ ฟอร์มรายงานแมโครและโมดูลของ VBA จะไม่ถูกแปลง SQL Server Metadata Explorer จะแสดงวัตถุฐานข้อมูล Access ของคุณและวัตถุ SQL Server ที่ช่วยให้คุณสามารถตรวจทานเนื้อหาปัจจุบันของทั้งสองฐานข้อมูลได้ การเชื่อมต่อสองรายการเหล่านี้จะถูกบันทึกในไฟล์การโยกย้ายของคุณคุณควรตัดสินใจที่จะถ่ายโอนวัตถุเพิ่มเติมในอนาคต

หมายเหตุ    กระบวนการการโยกย้ายอาจใช้เวลาสักครู่ทั้งนี้ขึ้นอยู่กับขนาดของวัตถุฐานข้อมูลของคุณและปริมาณของข้อมูลที่ต้องถ่ายโอน

  1. เมื่อต้องการโยกย้ายฐานข้อมูลโดยใช้ SSMA ก่อนอื่นให้ดาวน์โหลดและติดตั้งซอฟต์แวร์โดยการดับเบิลคลิกที่ไฟล์ MSI ที่ดาวน์โหลด ตรวจสอบให้แน่ใจว่าคุณได้ติดตั้งเวอร์ชัน๓๒หรือ๖๔บิตที่เหมาะสมสำหรับคอมพิวเตอร์ของคุณ

  2. หลังจากติดตั้ง SSMA เปิดใช้งานบนเดสก์ท็อปของคุณโดยเฉพาะอย่างยิ่งจากคอมพิวเตอร์ที่มีไฟล์ฐานข้อมูล Access

    นอกจากนี้คุณยังสามารถเปิดบนเครื่องที่มีสิทธิ์เข้าถึงฐานข้อมูล Access จากเครือข่ายในโฟลเดอร์ที่แชร์ได้อีกด้วย

  3. ทำตามคำแนะนำเริ่มต้นใน SSMA เพื่อให้ข้อมูลพื้นฐานเช่นตำแหน่งที่ตั้ง SQL Server, ฐานข้อมูล Access และวัตถุเพื่อโยกย้ายข้อมูลการเชื่อมต่อและระบุว่าคุณต้องการสร้างตารางที่เชื่อมโยงหรือไม่

  4. ถ้าคุณกำลังโยกย้ายไปยัง SQL Server ๒๐๑๖หรือใหม่กว่าและต้องการอัปเดตตารางที่เชื่อมโยงให้เพิ่มคอลัมน์ rowversion โดยการเลือกเครื่องมือตรวจทาน>การตั้งค่าโครงการ>ทั่วไป

    เขตข้อมูล rowversion จะช่วยหลีกเลี่ยงข้อขัดแย้งของระเบียน Access จะใช้เขตข้อมูล rowversion นี้ในตารางที่มีการเชื่อมโยง SQL Server เพื่อกำหนดว่าเมื่อใดที่มีการอัปเดตระเบียนครั้งล่าสุด นอกจากนี้ถ้าคุณเพิ่มเขตข้อมูล rowversion ลงในคิวรี Access จะใช้เพื่อเลือกแถวอีกครั้งหลังจากการดำเนินการอัปเดต การทำเช่นนี้จะช่วยปรับปรุงประสิทธิภาพการทำงานโดยการช่วยหลีกเลี่ยงข้อผิดพลาดข้อขัดแย้งในการเขียนและบันทึกสถานการณ์การลบที่อาจเกิดขึ้นเมื่อ Access ตรวจพบผลลัพธ์ที่แตกต่างจากการส่งต้นฉบับเช่นอาจเกิดขึ้นกับชนิดข้อมูลตัวเลขจุดทศนิยมและทริกเกอร์ที่ปรับเปลี่ยน คอลัมน์ . อย่างไรก็ตามหลีกเลี่ยงการใช้เขตข้อมูล rowversion ในฟอร์มรายงานหรือโค้ด VBA สำหรับข้อมูลเพิ่มเติมให้ดูที่ rowversion

    หมายเหตุ    หลีกเลี่ยงการ rowversion ที่สับสนกับการประทับเวลา แม้ว่าการประทับเวลาของคำสำคัญคือคำเหมือนสำหรับ rowversion ใน SQL Server คุณไม่สามารถใช้ rowversion เป็นวิธีในการประทับเวลาในการป้อนข้อมูลได้

  5. เมื่อต้องการตั้งค่าชนิดข้อมูลที่แม่นยำให้เลือกเครื่องมือตรวจทาน>การตั้งค่าโครงการ > การแมปชนิด ตัวอย่างเช่นถ้าคุณเก็บเฉพาะข้อความภาษาอังกฤษเท่านั้นคุณสามารถใช้การvarcharแทนชนิดข้อมูล

แปลงวัตถุ

SSMA จะแปลงวัตถุ Access ไปยังวัตถุ SQL Server แต่จะไม่คัดลอกวัตถุในทันที SSMA มีรายการของวัตถุต่อไปนี้เพื่อโยกย้ายเพื่อให้คุณสามารถตัดสินใจว่าคุณต้องการย้ายไปยังฐานข้อมูล SQL Server หรือไม่:

  • ตารางและคอลัมน์

  • เลือกแบบสอบถามโดยไม่มีพารามิเตอร์

  • คีย์หลักและ Foreign

  • ดัชนีและค่าเริ่มต้น

  • ตรวจสอบข้อจำกัด (อนุญาตคุณสมบัติคอลัมน์ความยาวเป็นศูนย์กฎการตรวจสอบความถูกต้องของคอลัมน์การตรวจสอบความถูกต้องของตาราง)

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

การแปลงวัตถุฐานข้อมูลจะใช้ข้อกำหนดของวัตถุจาก metadata ของ Access แปลงให้เป็นไวยากรณ์ของ TRANSACT sql (T-sql)ที่เทียบเท่ากันแล้วโหลดข้อมูลนี้ลงในโครงการ คุณสามารถดู SQL Server หรือวัตถุ Azure ของ sql และคุณสมบัติของตนเองได้โดยใช้ SQL Server หรือ SQL Azure Metadata Explorer

เมื่อต้องการแปลงโหลดและโยกย้ายวัตถุไปยัง SQL Server ให้ทำตามคำแนะนำนี้

เคล็ดลับ    เมื่อคุณโยกย้ายฐานข้อมูล Access ของคุณเสร็จเรียบร้อยแล้วให้บันทึกไฟล์โครงการสำหรับการใช้งานในภายหลังเพื่อให้คุณสามารถโยกย้ายข้อมูลของคุณอีกครั้งสำหรับการทดสอบหรือการโยกย้ายขั้นสุดท้าย

เชื่อมโยงตาราง

ให้ลองติดตั้งโปรแกรมควบคุม SQL Server OLE DB และ ODBC เวอร์ชันล่าสุดแทนการใช้โปรแกรมควบคุม SQL Server native ที่จัดส่งด้วย Windows ไม่เพียงแต่จะเป็นไดรเวอร์ที่ใหม่กว่าได้เร็วขึ้นแต่พวกเขาสนับสนุนฟีเจอร์ใหม่ใน Azure SQL ที่โปรแกรมควบคุมก่อนหน้านี้ไม่ได้ คุณสามารถติดตั้งโปรแกรมควบคุมบนคอมพิวเตอร์แต่ละเครื่องที่ใช้ฐานข้อมูลที่แปลงแล้วได้ สำหรับข้อมูลเพิ่มเติมให้ดูที่MICROSOFT OLE DB driver 18 สำหรับ Sql serverและMicrosoft ODBC DRIVER 17 สำหรับ sql server

หลังจากที่คุณโยกย้ายตาราง Access แล้วคุณสามารถลิงก์ไปยังตารางใน SQL Server ซึ่งจะเป็นโฮสต์ข้อมูลของคุณในขณะนี้ การลิงก์โดยตรงจาก Access ยังมีวิธีที่ง่ายต่อการดูข้อมูลของคุณแทนที่จะใช้เครื่องมือการจัดการ SQL Server ที่ซับซ้อนมากขึ้น  คุณสามารถสอบถามและแก้ไขข้อมูลที่ลิงก์ได้ทั้งนี้ขึ้นอยู่กับสิทธิ์ที่ตั้งค่าโดยผู้ดูแลระบบฐานข้อมูล SQL Server ของคุณ

หมายเหตุ    ถ้าคุณสร้าง DSN ของ ODBC เมื่อคุณลิงก์ไปยังฐานข้อมูล SQL Server ของคุณในระหว่างกระบวนการการเชื่อมโยงให้สร้าง DSN เดียวกันบนเครื่องทั้งหมดที่ใช้แอปพลิเคชันใหม่หรือโดยทางโปรแกรมใช้สตริงการเชื่อมต่อที่เก็บไว้ในไฟล์ DSN

สำหรับข้อมูลเพิ่มเติมให้ดูที่ลิงก์ไปยังหรือนำเข้าข้อมูลจากฐานข้อมูล AZURE Sql serverและนำเข้าหรือเชื่อมโยงไปยังข้อมูลในฐานข้อมูล sql server

แนะ   อย่าลืมใช้ตัวจัดการตารางที่ลิงก์ใน Access เพื่อรีเฟรชและเชื่อมโยงตารางใหม่อย่างสะดวก สำหรับข้อมูลเพิ่มเติมให้ดูที่จัดการตารางที่เชื่อมโยง

ทดสอบและแก้ไข

ส่วนต่อไปนี้จะอธิบายเกี่ยวกับปัญหาทั่วไปที่คุณสามารถพบได้ในระหว่างการโยกย้ายและวิธีการจัดการกับข้อมูลเหล่านั้น

คิวรี

เลือกแบบสอบถามเท่านั้นที่จะถูกแปลง คิวรีอื่นไม่รวมถึงแบบสอบถามแบบใช้เลือกข้อความที่ใช้พารามิเตอร์ คิวรีบางอย่างอาจไม่สามารถแปลงได้ทั้งหมดและ SSMA รายงานข้อผิดพลาดของคิวรีในระหว่างกระบวนการแปลง คุณสามารถแก้ไขวัตถุที่ไม่ได้แปลงโดยใช้ไวยากรณ์ T SQL ได้ด้วยตนเอง ข้อผิดพลาดทางไวยากรณ์อาจจำเป็นต้องมีการแปลงฟังก์ชันที่เฉพาะเจาะจงของ Access และชนิดข้อมูลไปยัง SQL Server ด้วยตนเอง สำหรับข้อมูลเพิ่มเติมให้ดูที่การเปรียบเทียบการเข้าถึง sql กับ Sql SERVER TSQL

ชนิดข้อมูล

Access และ SQL Server มีชนิดข้อมูลที่เหมือนกันแต่ระวังปัญหาที่อาจเกิดขึ้นต่อไปนี้

จำนวนมาก    ชนิดข้อมูลตัวเลขขนาดใหญ่จะจัดเก็บค่าตัวเลขที่ไม่ใช่ค่าที่เป็นตัวเลขและเข้ากันได้กับชนิดข้อมูล SQL bigint คุณสามารถใช้ชนิดข้อมูลนี้เพื่อคำนวณจำนวนขนาดใหญ่ได้อย่างมีประสิทธิภาพแต่จำเป็นต้องใช้การเข้าถึง 16 (16.0.7812 หรือใหม่กว่า) รูปแบบไฟล์ฐานข้อมูล .accdb และทำงานได้ดียิ่งขึ้นด้วยการเข้าถึงเวอร์ชัน๖๔บิต สำหรับข้อมูลเพิ่มเติมให้ดูที่การใช้ชนิดข้อมูลตัวเลขขนาดใหญ่และเลือกระหว่าง Office เวอร์ชัน๖๔หรือ๓๒บิต

ใช่/ไม่ใช่    ตามค่าเริ่มต้นการเข้าถึงใช่/ไม่มีคอลัมน์จะถูกแปลงเป็นเขตข้อมูล SQL Server bit เมื่อต้องการหลีกเลี่ยงการล็อกระเบียน ตรวจสอบให้แน่ใจว่าได้ตั้งค่าเขตข้อมูลบิตเป็นไม่อนุญาตให้มีค่า NULL ใน SSMA คุณสามารถเลือกคอลัมน์บิตเพื่อตั้งค่าคุณสมบัติอนุญาตให้ค่า nullเป็นไม่ใช่ ใน TSQL ให้ใช้คำสั่งสร้างตารางหรือเปลี่ยนแปลงตาราง

วันที่และเวลา    มีข้อพิจารณาเกี่ยวกับวันที่และเวลาหลายข้อ:

  • ถ้าระดับความเข้ากันได้ของฐานข้อมูลคือ๑๓๐ (SQL Server ๒๐๑๖) หรือสูงกว่าและตารางที่มีการเชื่อมโยงจะมีคอลัมน์ datetime หรือ datetime2 อย่างน้อยหนึ่งคอลัมน์ตารางจะส่งกลับข้อความ #deleted ในผลลัพธ์ สำหรับข้อมูลเพิ่มเติมให้ดูที่การเข้าถึงตารางที่เชื่อมโยงไปยังฐานข้อมูล SQL-Server ที่ส่งกลับ #deleted

  • ใช้ชนิดข้อมูลdatetime2ที่มีช่วงวันที่ที่มีขนาดใหญ่กว่า datetime

  • เมื่อมีการสอบถามวันที่ใน SQL Server ให้คำนึงถึงเวลาและวันที่ ตัวอย่างเช่น

    • DateOrdered ระหว่าง1/1/19 และ1/31/19 อาจไม่มีคำสั่งซื้อทั้งหมด

    • DateOrdered ระหว่าง 1/1/19 00:00:00 AM และ 1/31/19 11:59:59 PM จะมีคำสั่งซื้อทั้งหมด

สิ่งที่แนบมา   ชนิดข้อมูลสิ่งที่แนบมาจะเก็บไฟล์ในฐานข้อมูล Access ใน SQL Server คุณมีหลายตัวเลือกในการพิจารณา คุณสามารถแยกไฟล์จากฐานข้อมูล Access แล้วพิจารณาการจัดเก็บลิงก์ไปยังไฟล์ในฐานข้อมูล SQL Server ของคุณ อีกวิธีหนึ่งคือคุณสามารถใช้ FILESTREAM, FileTables หรือที่เก็บ BLOB ระยะไกล (RBS) เพื่อเก็บสิ่งที่แนบมาไว้ในฐานข้อมูล SQL Server

ไฮเปอร์ลิงก์    ตาราง Access มีคอลัมน์ไฮเปอร์ลิงก์ที่ไม่สนับสนุน SQL Server ตามค่าเริ่มต้นคอลัมน์เหล่านี้จะถูกแปลงเป็นการ nvarchar (max) คอลัมน์ใน SQL Server แต่คุณสามารถกำหนดค่าการแมปให้เลือกชนิดข้อมูลที่มีขนาดเล็กลงได้ ในโซลูชัน Access ของคุณคุณยังสามารถใช้ลักษณะการทำงานของไฮเปอร์ลิงก์ในฟอร์มและรายงานได้ถ้าคุณตั้งค่าคุณสมบัติการเชื่อมโยงหลายมิติสำหรับตัวควบคุมเป็น true

เขตข้อมูลที่มีหลายค่า    เขตข้อมูลที่มีหลายค่าการเข้าถึงจะถูกแปลงเป็น SQL Server เป็นเขตข้อมูล ntext ที่มีชุดตัวคั่นของค่า เนื่องจาก SQL Server ไม่สนับสนุนชนิดข้อมูลที่มีหลายค่าซึ่งสร้างรูปแบบความสัมพันธ์แบบกลุ่มต่อกลุ่ม อาจจำเป็นต้องมีการออกแบบและทำการแปลงเพิ่มเติม

สำหรับข้อมูลเพิ่มเติมเกี่ยวกับการแมปการเข้าถึงและชนิดข้อมูล SQL Server ให้ดูที่การเปรียบเทียบชนิดข้อมูล

หมายเหตุ    เขตข้อมูลที่มีหลายค่าจะไม่ถูกแปลงและถูกยกเลิกใน Access ๒๐๑๐

สำหรับข้อมูลเพิ่มเติมให้ดูที่ชนิดวันที่และเวลาสตริงและชนิดไบนารีและชนิดตัวเลข

Visual Basic

แม้ว่า VBA จะไม่ได้รับการสนับสนุนโดย SQL Server โปรดสังเกตปัญหาที่เป็นไปได้ต่อไปนี้:

ฟังก์ชัน VBA ในแบบสอบถาม    คิวรี Access สนับสนุนฟังก์ชัน VBA บนข้อมูลในคอลัมน์คิวรี แต่ไม่สามารถเรียกใช้คิวรีการเข้าถึงที่ใช้ฟังก์ชัน VBA บน SQL Server ดังนั้นข้อมูลที่ร้องขอทั้งหมดจะถูกส่งผ่านไปยัง Microsoft Access สำหรับการประมวลผล ในกรณีส่วนใหญ่คิวรีเหล่านี้ควรถูกแปลงเป็นแบบสอบถามแบบพาส-ทรู

ฟังก์ชันที่ผู้ใช้กำหนดเองในแบบสอบถาม    คิวรี Microsoft Access สนับสนุนการใช้ฟังก์ชันที่กำหนดไว้ในโมดูลของ VBA เพื่อประมวลผลข้อมูลที่ส่งผ่านไปยังไฟล์เหล่านั้น คิวรีสามารถเป็นแบบสอบถามแบบสแตนด์อโลนคำสั่ง SQL ในแหล่งระเบียนฟอร์ม/รายงานแหล่งข้อมูลของกล่องคำสั่งผสมและกล่องรายการบนฟอร์มรายงานและเขตข้อมูลตารางและค่าเริ่มต้นหรือการตรวจสอบความถูกต้องของกฎ SQL Server ไม่สามารถเรียกใช้ฟังก์ชันที่ผู้ใช้กำหนดเองเหล่านี้ได้ คุณอาจจำเป็นต้องออกแบบฟังก์ชันเหล่านี้ด้วยตนเองและแปลงเป็นกระบวนงานที่เก็บไว้บน SQL Server

ปรับปรุงประสิทธิภาพการทำงาน

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

  • เรียกใช้คิวรีแบบอ่านอย่างเดียวบนไคลเอ็นต์สำหรับการเข้าถึงที่เร็วที่สุด

  • เรียกใช้แบบสอบถามแบบอ่าน/เขียนบนเซิร์ฟเวอร์เพื่อใช้ประโยชน์จากพลังงานการประมวลผลที่ดียิ่งขึ้น

  • ลดปริมาณการใช้งานเครือข่ายที่มีตัวกรองและการรวมเพื่อโอนย้ายเฉพาะข้อมูลที่คุณต้องการ

ปรับประสิทธิภาพการทำงานในแบบจำลองฐานข้อมูลเซิร์ฟเวอร์ของไคลเอ็นต์

สำหรับข้อมูลเพิ่มเติมให้ดูที่สร้างคิวรีแบบพาส-ทรู

ต่อไปนี้คือคำแนะนำที่แนะนำเพิ่มเติม

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

การใช้มุมมองในฟอร์มและรายงาน    ใน Access ให้ทำดังต่อไปนี้:

  • สำหรับฟอร์มให้ใช้มุมมอง SQL สำหรับฟอร์มแบบอ่านอย่างเดียวและมุมมองที่ทำดัชนี SQL สำหรับฟอร์มแบบอ่าน/เขียนเป็นแหล่งระเบียน

  • สำหรับรายงานให้ใช้มุมมอง SQL เป็นแหล่งระเบียน อย่างไรก็ตามสร้างมุมมองแยกต่างหากสำหรับรายงานแต่ละรายการเพื่อให้คุณสามารถอัปเดตรายงานที่เฉพาะเจาะจงได้อย่างง่ายดายโดยไม่มีผลกระทบต่อรายงานอื่นๆ

ลดการโหลดข้อมูลในฟอร์มหรือรายงาน    อย่าแสดงข้อมูลจนกว่าผู้ใช้จะขอ ตัวอย่างเช่นทำให้คุณสมบัติ recordsource ว่างเปล่าทำให้ผู้ใช้เลือกตัวกรองบนฟอร์มของคุณแล้วใส่คุณสมบัติ recordsource กับตัวกรองของคุณ หรือใช้ส่วนคำสั่ง where ของ DoCmd OpenForm และ DoCmd เพื่อแสดงระเบียนที่ต้องการโดยผู้ใช้ พิจารณาปิดการนำทางระเบียน

ระมัดระวังกับแบบสอบถามที่แตกต่าง   หลีกเลี่ยงการเรียกใช้คิวรีที่รวมตาราง Access ภายในและตารางที่ลิงก์ SQL Server ในบางครั้งเรียกว่าแบบสอบถามแบบใช้แบบไฮบริด คิวรีชนิดนี้ยังจำเป็นต้องมีสิทธิ์การเข้าถึงเพื่อดาวน์โหลดข้อมูล SQL Server ทั้งหมดไปยังเครื่องจักรภายในเครื่องแล้วเรียกใช้คิวรีดังกล่าวจะไม่เรียกใช้คิวรีใน SQL Server

เมื่อใดที่จะใช้ตารางภายในเครื่อง    พิจารณาการใช้ตารางภายในสำหรับข้อมูลที่ไม่ค่อยมีการเปลี่ยนแปลงเช่นรายการรัฐหรือจังหวัดในประเทศหรือภูมิภาค ตารางแบบคงที่มักจะใช้สำหรับการกรองและสามารถดำเนินการได้ดียิ่งขึ้นในการเข้าถึงส่วนหน้า

สำหรับข้อมูลเพิ่มเติมให้ดูที่โปรแกรมช่วยแนะนำการปรับค่ากลไกจัดการฐานข้อมูลให้ใช้ตัววิเคราะห์ประสิทธิภาพเพื่อปรับฐานข้อมูล Access ให้เหมาะสมและการเพิ่มประสิทธิภาพของแอปพลิเคชัน Microsoft Office Access ที่เชื่อมโยงไปยัง SQL Server

ดูเพิ่มเติม

คู่มือการโยกย้ายฐานข้อมูล Azure

บล็อกการโยกย้ายข้อมูลของ Microsoft

Microsoft Access ไปยังการโยกย้าย SQL Server, การแปลงและ

วิธีแชร์ฐานข้อมูลบนเดสก์ท็อป Access

หมายเหตุ:  หน้านี้ได้รับการแปลด้วยระบบอัตโนมัติ และอาจมีข้อผิดพลาดทางไวยากรณ์หรือความไม่ถูกต้อง จุดประสงค์ของเราคือเพื่อให้เนื้อหานี้มีประโยชน์กับคุณ คุณสามารถแจ้งให้เราทราบว่าข้อมูลมีประโยชน์หรือไม่ นี่คือบทความภาษาอังกฤษเพื่อให้คุณใช้อ้างอิง

ขยายทักษะ Office ของคุณ
สำรวจการฝึกอบรม
รับฟีเจอร์ใหม่ก่อนใคร
เข้าร่วม Office Insider

ข้อมูลนี้เป็นประโยชน์หรือไม่

ขอบคุณสำหรับคำติชมของคุณ!

ขอขอบคุณสำหรับคำติชมของคุณ! เราคิดว่าอาจเป็นประโยชน์ที่จะให้คุณได้ติดต่อกับหนึ่งในตัวแทนฝ่ายสนับสนุน Office ของเรา

×