Score:0

วิธีเริ่มบริการโดยไม่ต้องเปลี่ยนรหัสผ่าน

ธง ng

เราได้พัฒนาซอฟต์แวร์สำรองข้อมูลสำหรับ SQL Server (2019) ที่ทำงานบน Windows Server 2019 สำหรับลูกค้า
แอป (.net Windows Forms) มีอินเทอร์เฟซสำหรับกำหนดค่าการสำรองข้อมูล (เช่น เลือกวันสำหรับการสำรองข้อมูล เวลาสำรองข้อมูลทุกวัน และอื่นๆ) และการกำหนดค่าเพิ่มเติม (ข้อมูลไปยังเซิร์ฟเวอร์ SMTP รายชื่อการแจกจ่ายจดหมาย และอื่นๆ) นอกจากนี้ไคลเอ็นต์ยังมีฟังก์ชันในการกู้คืนฐานข้อมูล การสำรองข้อมูลจะเริ่มต้นในช่วงเวลาหนึ่ง
แอพทำงานได้ดี แต่ต้องทำงานตลอด 24/7/365
คำอธิบายปัญหา:
แอปทำงานบนเซิร์ฟเวอร์ของลูกค้า และลูกค้าไม่อนุญาตให้ใช้บัญชีที่รหัสผ่านไม่มีวันหมดอายุ
นอกจากนี้เซิร์ฟเวอร์จะรีบูต (อย่างน้อย) ทุกสองสัปดาห์โดยอัตโนมัติ ดังนั้น... เราต้องเข้าถึงเซิร์ฟเวอร์และเริ่มไคลเอนต์ของเราใหม่อย่างน้อยทุกๆ สองสัปดาห์ ซึ่งไม่ดีเลย
ดังนั้นเราจึงคิดว่าจะ "แยก" แอพสำรองออกเป็นสองส่วน:

  • ไคลเอ็นต์ Windows (พร้อมปิดใช้งานฟังก์ชันสำรองข้อมูลและอีเมล)
  • บริการ Windows (อ่านไฟล์ปรับแต่งเมื่อเริ่มต้น, สำรองข้อมูล, ส่งอีเมล)

=> เป้าหมาย: บริการในการสำรองข้อมูลจะเริ่มต้นโดยอัตโนมัติหลังจากรีบูตเซิร์ฟเวอร์ (ไม่จำเป็นต้องเริ่มต้นด้วยตนเอง)
ความต้องการ:
บริการจำเป็นต้องเข้าถึงดิสก์ภายในเครื่อง (ไฟล์การกำหนดค่าแบบอ่าน (.ini) จัดเก็บข้อมูลสำรอง) ไปยังเซิร์ฟเวอร์ SQL (ติดตั้งบนเซิร์ฟเวอร์เดียวกัน) และไปยังเซิร์ฟเวอร์ SMTP (อยู่บนเซิร์ฟเวอร์ของลูกค้ารายอื่น) เพื่อ สามารถส่งอีเมลได้
เป้าหมายคือการใช้ "บัญชีระบบ" ปราศจาก รหัสผ่าน (ที่ต้องเปลี่ยนเป็นระยะ)
เราเป็นนักพัฒนา ไม่ใช่วิศวกรระบบ... ดังนั้น "คำถามเริ่มต้น":
เท่าที่เราทราบมีบัญชีระบบสำหรับ "ระบบภายใน", "บริการในพื้นที่" และ "บริการเครือข่าย" (อาจจะมีมากกว่านี้...)
คำถาม:
บัญชีใดบัญชีหนึ่งที่กล่าวถึงข้างต้นมีสิทธิ์ที่จำเป็นทั้งหมดหรือไม่ (หรือมีบัญชีอื่นอีก)

ขอบคุณ!

Score:1
ธง cn

ใช่ คุณต้องแยกส่วน "การกำหนดค่า" และ "บริการ" แบบอินเทอร์แอกทีฟออกจากกัน ส่วนบริการจำเป็นต้องทำงานตลอดเวลา ส่วนการกำหนดค่าเมื่อจำเป็นเท่านั้น

แนวคิดของการมีแอปพลิเคชันที่ทำงาน "บนคอนโซล" ของ Windows Server ในปัจจุบันนั้นเป็นเรื่องที่ลำบาก ดีที่สุด และยากขึ้นสำหรับ Windows แต่ละเวอร์ชัน หลังจากผลิต Windows Services ที่ยังอยู่ในเวอร์ชันที่ใช้งานจริงเมื่อ 20 ปีที่แล้ว ฉันรู้สึกประหลาดใจเล็กน้อยที่คุณไม่พบ "ความท้าทาย" นี้ในระหว่างการพัฒนาและทดสอบ

แต่อย่างไรก็ตาม ...

แอปทำงานบนเซิร์ฟเวอร์ของลูกค้า และลูกค้าไม่อนุญาตให้ใช้บัญชีที่รหัสผ่านไม่มีวันหมดอายุ

เนื่องจาก Windows รองรับบัญชี "ระบบ" จำนวนมากที่รหัสผ่านไม่มีวันหมดอายุ นี่เป็น "ข้อกำหนด" แปลกๆ ที่มีผลกับแอปพลิเคชันของคุณ

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

ส่วน "บริการ" ควรเรียกใช้และทำสิ่งต่างๆ
หากบัญชีระบบเหล่านี้มีรหัสผ่านที่หมดอายุ ระบบนิเวศของ Windows จะไม่สามารถใช้งานได้อย่างสมบูรณ์

บริการจำเป็นต้องเข้าถึงดิสก์ภายในเครื่อง (อ่านไฟล์การกำหนดค่า (.ini) จัดเก็บข้อมูลสำรอง) ...

ใช่อย่างแน่นอน
บัญชี "บริการ" ใดๆ ควรมีสิทธิ์การเข้าถึงระดับนี้

... และไปยัง SMTP-Server ... เพื่อให้สามารถส่ง E-Mail ได้

การเข้าถึงสิ่งที่ "ปิด" กล่องต้องใช้ รู้จักเครือข่าย บัญชีผู้ใช้.
บริการเครือข่ายน่าจะเป็นทางออกที่ดีที่สุดของคุณ

... ไปยังเซิร์ฟเวอร์ SQL (ติดตั้งบนเซิร์ฟเวอร์เดียวกัน) ...

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

สิ่งนี้บั่นทอนโซลูชันทั้งหมดของคุณ

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

FredyWenger avatar
ng flag
ขอบคุณสำหรับการตอบกลับของคุณ. ดังนั้น.. ผมคิดว่าผมควรจะใช้บริการเครือข่าย เกี่ยวกับการสำรองข้อมูลในเครื่องเดียวกัน: คุณพูดถูก แต่เซิร์ฟเวอร์เป็นเซิร์ฟเวอร์เสมือนที่สำรองข้อมูลทุกชั่วโมงจากฝ่ายไอทีของลูกค้า ดังนั้น... เราจะมีข้อมูลสำรอง (ของเซิร์ฟเวอร์ทั้งหมด) อยู่แล้ว แต่ฝ่ายไอทีของลูกค้าจำเป็นต้องสำรองข้อมูลเชิงตรรกะไว้ล่วงหน้า ดังนั้นการรับประกันการสำรองข้อมูลของการสำรองข้อมูล
Phill  W. avatar
cn flag
ฐานข้อมูล != ไฟล์. การสำรองข้อมูลของเซิร์ฟเวอร์จะใช้งานได้ดีตามระยะเวลาที่ถ่ายเท่านั้น การสำรองข้อมูล SQL Server อนุญาตให้มี / ละเอียดกว่า / ความละเอียดของการกู้คืน และเพียงเพราะบางสิ่งที่เป็น VM Guest ไม่ได้ทำให้วันหนึ่ง *VM Controller* ตัดสินใจสุ่ม "เขียนลวกๆ" ทั่วทั้งดิสก์ - ดิสก์เดียวกับที่เก็บดิสก์อิมเมจของเครื่อง VM Guest ที่กำลังทำงานอยู่ ทิ้งพวกมันโดยสิ้นเชิงในกระบวนการนี้! เคยไปที่นั่น. เห็นมัน. ไม่สวย. ฉันขอแนะนำว่ากลยุทธ์การกู้คืนของคุณต้องการ "การปรับแต่ง" เล็กน้อย
FredyWenger avatar
ng flag
ฉันได้พัฒนาบริการ windows สำเร็จแล้วและเริ่มต้นภายใต้บริการเครือข่าย ทุกอย่างใช้งานได้ แต่ฉันต้องให้สิทธิ์บริการเครือข่ายเพิ่มเติมในระบบไฟล์ ฉันยอมรับคำตอบของคุณแล้ว ขอบคุณอีกครั้ง.

โพสต์คำตอบ

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