อาการ
สมมติว่าคุณใช้ SQL Server ๒๐๑๗บน Linux ตามค่าเริ่มต้นฐานข้อมูลต้นแบบจะอยู่ที่ตำแหน่งที่ตั้ง/var/opt/mssql/data. ในตอนนี้คุณต้องการเปลี่ยนตำแหน่งที่ตั้งของไฟล์ฐานข้อมูลต้นแบบและไฟล์บันทึกข้อผิดพลาดไปยังตำแหน่งที่ตั้งอื่น
การแก้ไข
การอัปเดตนี้จะรวมอยู่ในการอัปเดตที่สะสมต่อไปนี้สำหรับ SQL Server:
การอัปเดตที่สะสม4สำหรับ SQL Server ๒๐๑๗
หลังจากติดตั้ง SQL server ๒๐๑๗ CU4 คุณจะสามารถเปลี่ยนตำแหน่งที่ตั้งของไฟล์ฐานข้อมูลหลักและตำแหน่งที่ตั้งของไฟล์บันทึกข้อผิดพลาดได้
การอัปเดตที่สะสมใหม่แต่ละรายการสำหรับ SQL Server ประกอบด้วยโปรแกรมแก้ไขด่วนทั้งหมดและการแก้ไขการรักษาความปลอดภัยทั้งหมดที่รวมอยู่ในการอัปเดตที่สะสมก่อนหน้านี้ ตรวจสอบการอัปเดตที่สะสมล่าสุดสำหรับ SQL Server:
ข้อมูลเพิ่มเติม
กำหนดค่าตำแหน่งที่ตั้ง Errorlogfile:
-
ใช้คำสั่งต่อไปนี้เพื่อตั้งค่าตำแหน่งที่ตั้งของ errorlog ใหม่ ตรวจสอบให้แน่ใจว่าโครงสร้างของโฟลเดอร์เป็นบัญชีผู้ใช้ที่สร้างไว้ล่วงหน้าและ ' mssql ' มีสิทธิ์ในการสร้างไฟล์
-
/mssql-conf ตั้ง filelocation errorlogfile/home/user/sqlserver/log/errorlog
-
ตัวแปรสภาพแวดล้อมสำหรับบันทึกข้อผิดพลาดถูก MSSQL_ERROR_LOG_FILE
-
ต่อไปนี้คือสถานการณ์และขั้นตอนในการกำหนดค่าตำแหน่งที่ตั้งของไฟล์ฐานข้อมูลหลัก:
หมายเหตุ: โปรดตรวจสอบให้แน่ใจว่าคุณได้ทำสำเนาสำรองของฐานข้อมูลทั้งหมดของคุณทั้งหมดรวมถึงฐานข้อมูลหลักก่อนที่จะทำการเปลี่ยนแปลงใดๆ
สถานการณ์สมมติที่ 1: เปลี่ยนตำแหน่งที่ตั้งของไฟล์ฐานข้อมูลต้นแบบบนการติดตั้ง SQL ที่มีอยู่
-
ตัวเลือกใหม่จะพร้อมใช้งานในโปรแกรมอรรถประโยชน์ mssql เพื่อให้ตำแหน่งที่ตั้งของต้นแบบ mdf, mastlog และ errorlog
-
ต่อไปนี้คือคำสั่งในการตั้งค่าตำแหน่งที่ตั้ง
-
/mssql-conf ตั้ง filelocation masterdatafile/home/user/sqlserver/data/master.mdf
-
/mssql-conf ตั้ง filelocation masterlogfile/home/user/sqlserver/data/mastlog.ldf
-
ก่อนที่จะกำหนดค่าการตั้งค่าให้ตรวจสอบให้แน่ใจว่าเส้นทางที่มีอยู่แล้วและผู้ใช้ ' mssql ' มีสิทธิ์แบบเต็มบนโฟลเดอร์
-
หลังจากกำหนดค่าการตั้งค่าหยุด mssql-เซิร์ฟเวอร์ (systemctl หยุด mssql-เซิร์ฟเวอร์) และย้ายต้นแบบ mdf และ mastlog ไปยังตำแหน่งที่ตั้งที่กำหนดค่าแล้วเริ่ม sql server (systemctl เริ่มต้นเซิร์ฟเวอร์ mssql)
สถานการณ์ที่ 2: กำหนดค่าตำแหน่งที่ตั้งของไฟล์ฐานข้อมูลหลักก่อนการติดตั้งก่อนการติดตั้ง
-
หลังจากที่คุณติดตั้ง mssql-เซิร์ฟเวอร์ (เช่น: ฉลาด-รับติดตั้งเซิร์ฟเวอร์ mssql)
-
คุณสามารถตั้งค่าตัวแปรของสภาพแวดล้อมดังต่อไปนี้:
-
ส่งออก MSSQL_MASTER_DATA_FILE =/home/user/sqlservr/data/master.mdf
-
ส่งออก MSSQL_MASTER_LOG_FILE =/home/user/sqlservr/data/mastlog.ldf
-
หรือคุณสามารถใช้ขั้นตอนที่กล่าวถึงในสถานการณ์สมมติ1เพื่อตั้งค่าการกำหนดค่าจากนั้นเปลี่ยนแปลงสิทธิ์ของโฟลเดอร์ /var/opt/mssql/ ที่เป็นของบัญชีผู้ใช้ mssql ถ้าคุณตั้งค่าตัวแปรสภาพแวดล้อมและการตั้งค่าการตั้งค่า mssql แล้วตัวแปรของสภาพแวดล้อมจะดำเนินการก่อน
หมายเหตุ: ชื่อไฟล์ของฐานข้อมูลหลักควรเป็น 'ต้นแบบ mdf 'และแฟ้มบันทึกต้นฉบับควรเป็น 'mastlog 'ในระหว่างการติดตั้ง ชื่อไฟล์อาจมีการเปลี่ยนแปลงในภายหลัง
ถ้าไม่มีการสร้างโครงสร้างโฟลเดอร์หรือบัญชีผู้ใช้ mssql ไม่มีสิทธิ์ที่ถูกต้องคุณจะได้รับข้อผิดพลาดต่อไปนี้ในระหว่างการติดตั้ง
ข้อผิดพลาด: BootstrapSystemDataDirectories () ล้มเหลว (HRESULT 0x80070002)
การตั้งค่าเริ่มต้นของ Microsoft SQL Server ล้มเหลว โปรดปรึกษาการ ERRORLOG
สถานการณ์ที่ 3: เปลี่ยนชื่อของไฟล์ฐานข้อมูลหลัก
-
หยุดการ mssql-เซิร์ฟเวอร์
-
ตั้งค่าชื่อไฟล์โดยใช้ mssql
-
เปลี่ยนชื่อไฟล์ฐานข้อมูลต้นแบบให้เป็นชื่อไฟล์ที่กำหนดค่าไว้
-
เริ่มต้น mssql-เซิร์ฟเวอร์
ต่อไปนี้คือคำสั่งเมื่อต้องการเปลี่ยนชื่อของไฟล์ฐานข้อมูลต้นแบบ
systemctl หยุด mssql-เซิร์ฟเวอร์
/mssql-conf ตั้ง filelocation masterdatafile/home/sqlservr/data/testmaster.mdf
/mssql-conf ตั้ง filelocation masterlogfile/home/sqlservr/data/testmastlog.ldf
mv/home/sqlservr/data/master.mdf/home/sqlservr/data/testmaster.mdf
mv/home/sqlservr/data/mastlog.ldf/home/sqlservr/data/testmastlog.ldf
systemctl เริ่มต้น mssql-เซิร์ฟเวอร์
อ้างอิง
เรียนรู้เกี่ยวกับคำ ศัพท์เฉพาะทางที่ Microsoft ใช้เพื่ออธิบายการอัปเดตซอฟต์แวร์