Score:1

การเผยแพร่ฐานข้อมูล Veeam SQL Server ล้มเหลวด้วยรหัสข้อผิดพลาดที่ไม่คาดคิด 3

ธง jp

ดังนั้นเราจึงได้ทำการทดลองกับ Veeam Backup & Replication มาระยะหนึ่งแล้ว เราติดตั้ง VM เฉพาะสำหรับ Veeam Backup Server ซึ่งทำการสำรองข้อมูลส่วนประกอบโครงสร้างพื้นฐานทั้งหมดของเราทุกวัน เรายังไม่ได้รับใบอนุญาต ดังนั้นนี่คือรุ่นชุมชนที่เรากำลังทดสอบ (รุ่น 11a สร้าง 11.0.1.1261 P20220302)

เรามี VM สองสามตัวที่มีอินสแตนซ์ SQL Server ที่มีฐานข้อมูล เราใช้ตัวเลือกการประมวลผลแอปพลิเคชันของ Veeam เพื่อสำรองฐานข้อมูลและรวมไว้ในไฟล์สำรองข้อมูล

อย่างไรก็ตาม เราประสบปัญหาเมื่อเราพยายามกู้คืนฐานข้อมูลจากไฟล์สำรองข้อมูล ไม่ว่าจะเป็นบนเครื่อง Veeam Backup Server หรือเครื่องอื่นในระบบ เราทำการกู้คืนรายการแอปพลิเคชันตามที่อธิบายไว้ใน เอกสาร Veeam B&R จากนั้นทำตามขั้นตอนสำหรับ การเผยแพร่ข้อมูล ไปยังเซิร์ฟเวอร์ SQL แบบโลคัล (การจัดเตรียม) โดยใช้ Veeam SQL Explorer เราได้ลองเผยแพร่ฐานข้อมูล กู้คืนไฟล์ .BAK หรือแม้แต่บันทึกไฟล์ MDF และ LDF โดยตรง การดำเนินการทั้งหมดล้มเหลวเนื่องจากไม่มีสิทธิ์ (ดูบันทึกของ Veeam SQL Explorer ด้านล่าง)

ภาพหน้าจอของข้อผิดพลาด

11/04/2022 00:17:32 21 (8876) กำลังเชื่อมต่อกับ SQL Server localhost\SQL2019 โดยใช้การรับรองความถูกต้องของ Windows (ชื่อผู้ใช้: WIN-KB0LJQ6QU6L\Administrator)...
11/04/2022 00:17:32 21 (8876) การเชื่อมต่อเสร็จสมบูรณ์
11/04/2022 00:17:32 21 (8876) กำลังตรวจสอบความเข้ากันได้ของเวอร์ชันฐานข้อมูล (เซิร์ฟเวอร์: Microsoft SQL Server 2014, เวอร์ชันฐานข้อมูล: 782)...
11/04/2022 00:17:32 21 (8876) เซิร์ฟเวอร์เป้าหมาย (localhost\SQL2019) ถูกระบุว่าเป็น Microsoft SQL Server 2019 (เวอร์ชัน: 904)
11/04/2022 00:17:32 21 (8876) กำลังเชื่อมต่อกับ SQL Server localhost\SQL2019 โดยใช้การรับรองความถูกต้องของ Windows (ชื่อผู้ใช้: WIN-KB0LJQ6QU6L\Administrator)...
11/04/2022 00:17:32 21 (8876) กำลังเชื่อมต่อกับ SQL Server localhost\SQL2019 โดยใช้การรับรองความถูกต้องของ Windows (ชื่อผู้ใช้: WIN-KB0LJQ6QU6L\Administrator)...
11/04/2022 00:17:32 21 (8876) กำลังตรวจสอบสิทธิ์บัญชีสำหรับเซิร์ฟเวอร์ 'localhost'...
11/04/2022 00:17:32 21 (8876) การตรวจสอบเสร็จสมบูรณ์
11/04/2022 00:17:33 16 (9136) ฐานข้อมูลการจัดพิมพ์...
11/04/2022 00:17:33 16 (9136) Restore point ID: 3147eb18-d76a-47f1-ab4c-ec5a67dd81f1
11/04/2022 00:17:33 16 (9136) เซิร์ฟเวอร์ SQL: localhost\SQL2019
11/04/2022 00:17:33 16 (9136) ชื่อฐานข้อมูล: bigsoft_33o_vide
11/04/2022 00:17:33 16 (9136) กำลังเชื่อมต่อกับ SQL Server localhost\SQL2019 โดยใช้การรับรองความถูกต้องของ Windows (ชื่อผู้ใช้: WIN-KB0LJQ6QU6L\Administrator)...
11/04/2022 00:17:34 17 (11180) รับเซสชันการกู้คืนทันที...
11/04/2022 00:17:34 17 (11180) มูลค่า USN ใหม่: 5113
11/04/2022 00:17:34 17 (11180) โหลดแล้ว 0 เซสชันการกู้คืนทันที
11/04/2022 00:17:34 17 (11180) โหลดฐานข้อมูลเสร็จ
11/04/2022 00:17:37 19 (9280) รับเซสชันการกู้คืนทันที...
11/04/2022 00:17:37 19 (9280) มูลค่า USN ใหม่: 5114
...
11/04/2022 00:18:05 16 (9136) การเผยแพร่ฐานข้อมูลล้มเหลว
11/04/2022 00:18:05 16 (9136) ข้อผิดพลาด: วิธีการล้มเหลวด้วยรหัสข้อผิดพลาดที่ไม่คาดคิด 3
11/04/2022 00:18:05 16 (9136) ประเภท: System.InvalidOperationException
11/04/2022 00:18:05 16 (9136) กอง:
11/04/2022 00:18:05 16 (9136) ที่ System.Security.AccessControl.NativeObjectSecurity.CreateInternal(ResourceType resourceType, Boolean isContainer, ชื่อสตริง, SafeHandle handle, AccessControlSections includeSections, Boolean createByName, ExceptionFromErrorCode exceptionFromErrorCode, Object exceptionContext)
   ที่ System.Security.AccessControl.FileSystemSecurity..ctor (บูลีน isContainer ชื่อสตริง AccessControlSections includeSections บูลีน isDirectory)
   ที่ System.Security.AccessControl.FileSecurity..ctor (String fileName, AccessControlSections includeSections)
   ที่ System.IO.FileInfo.GetAccessControl (AccessControlSections includedSections)
   ที่ Veeam.Engine.Security.FileAccess.GetAccessControl (เส้นทางสตริง ส่วน AccessControlSections)
   ที่ Veeam.Engine.Security.FileSystemSecurity.HasFileAccess (ชื่อบัญชีสตริง เส้นทางสตริง)
   ที่ Veeam.Engine.FileSystem.LocalAccessChecker.GrantFileAccess (เส้นทางไฟล์สตริง)
   ที่ Veeam.SQL.Core.Extensions.AccessCheckerExtension.CheckDatabaseFilesAccess (IAccessChecker accessChecker, IDatabaseFiles databaseFiles, การอนุญาตสตริงSourceFolder)
   ที่ Veeam.SQL.Restore.Publish.RestorePointDatabasePublisher.Publish (โบรกเกอร์ ISqlBroker, ISqlConnectProvider sqlConnectProvider, IPublishConfig config, Boolean isClustered, ISqlActionsObserver ผู้สังเกตการณ์, CancellationToken ct)
   ที่ Veeam.SQL.Restore.Publish.DatabasePublisher.Publish (ISqlBroker sqlBroker, ISqlConnectProvider sqlConnectProvider, IPublishConfig config, ISqlActionsObserver ผู้สังเกตการณ์, CancellationToken ct)
   ที่ Veeam.SQL.Restore.Publish.DatabasePublisher.Publish (ISqlConnectProvider sqlConnectProvider, IPublishConfig config, ISqlActionsObserver ผู้สังเกตการณ์, CancellationToken ct)
   ที่ Veeam.SQL.Restore.Publish.DatabasePublisher.Publish (การกำหนดค่า IPublishConfig, ISqlActionsObserver ผู้สังเกตการณ์, CancellationToken ct)
   ที่ Veeam.SQL.Restore.Publish.LoggedDatabasePublisher.Publish (การกำหนดค่า IPublishConfig, ISqlActionsObserver ผู้สังเกตการณ์, CancellationToken ct)
11/04/2022 00:18:06 1 (6504) การเผยแพร่ฐานข้อมูลล้มเหลว
11/04/2022 00:18:06 1 (6504) ข้อผิดพลาด: วิธีการล้มเหลวด้วยรหัสข้อผิดพลาดที่ไม่คาดคิด 3
11/04/2022 00:18:06 1 (6504) ประเภท: System.InvalidOperationException
11/04/2022 00:18:06 1 (6504) กอง:
11/04/2022 00:18:06 1 (6504) ที่ System.Security.AccessControl.NativeObjectSecurity.CreateInternal(ResourceType resourceType, Boolean isContainer, ชื่อสตริง, SafeHandle handle, AccessControlSections includeSections, Boolean createByName, ExceptionFromErrorCode exceptionFromErrorCode, Object exceptionContext)
   ที่ System.Security.AccessControl.FileSystemSecurity..ctor (บูลีน isContainer ชื่อสตริง AccessControlSections includeSections บูลีน isDirectory)
   ที่ System.Security.AccessControl.FileSecurity..ctor (String fileName, AccessControlSections includeSections)
   ที่ System.IO.FileInfo.GetAccessControl (AccessControlSections includedSections)
   ที่ Veeam.Engine.Security.FileAccess.GetAccessControl (เส้นทางสตริง ส่วน AccessControlSections)
   ที่ Veeam.Engine.Security.FileSystemSecurity.HasFileAccess (ชื่อบัญชีสตริง เส้นทางสตริง)
   ที่ Veeam.Engine.FileSystem.LocalAccessChecker.GrantFileAccess (เส้นทางไฟล์สตริง)
   ที่ Veeam.SQL.Core.Extensions.AccessCheckerExtension.CheckDatabaseFilesAccess (IAccessChecker accessChecker, IDatabaseFiles databaseFiles, การอนุญาตสตริงSourceFolder)
   ที่ Veeam.SQL.Restore.Publish.RestorePointDatabasePublisher.Publish (โบรกเกอร์ ISqlBroker, ISqlConnectProvider sqlConnectProvider, IPublishConfig config, Boolean isClustered, ISqlActionsObserver ผู้สังเกตการณ์, CancellationToken ct)
   ที่ Veeam.SQL.Restore.Publish.DatabasePublisher.Publish (ISqlBroker sqlBroker, ISqlConnectProvider sqlConnectProvider, IPublishConfig config, ISqlActionsObserver ผู้สังเกตการณ์, CancellationToken ct)
   ที่ Veeam.SQL.Restore.Publish.DatabasePublisher.Publish (ISqlConnectProvider sqlConnectProvider, IPublishConfig config, ISqlActionsObserver ผู้สังเกตการณ์, CancellationToken ct)
   ที่ Veeam.SQL.Restore.Publish.DatabasePublisher.Publish (การกำหนดค่า IPublishConfig, ISqlActionsObserver ผู้สังเกตการณ์, CancellationToken ct)
   ที่ Veeam.SQL.Restore.Publish.LoggedDatabasePublisher.Publish (การกำหนดค่า IPublishConfig, ISqlActionsObserver ผู้สังเกตการณ์, CancellationToken ct)
   ที่ Veeam.SQL.Restore.Publish.AuditedDatabasePublisher.Publish (การกำหนดค่า IPublishConfig, ISqlActionsObserver ผู้สังเกตการณ์, CancellationToken ct)
   ที่ Veeam.SQL.Restore.Publish.StoringDatabasePublisher.Publish (การกำหนดค่า IPublishConfig, ISqlActionsObserver ผู้สังเกตการณ์, CancellationToken ct)
   ที่ Veeam.SQL.Restore.Publish.PublishService.Publish (การกำหนดค่า IPublishConfig, ISqlActionsObserver ผู้สังเกตการณ์, CancellationToken ct)
   ที่ Veeam.SQL.Explorer.Async.Publish.AsyncPublishDatabaseTask.Run (ผู้สังเกตการณ์ IProcessObserver, CancellationToken ct)
   ที่ Veeam.Presentation.Async.VisualAsyncTask.Execute (ผู้สังเกตการณ์ IProcessObserver)

โปรดทราบว่า Veeam ได้รับการติดตั้งเป็นบัญชี Local System บน Veeam Backup Server และผู้ใช้ที่เข้าสู่ระบบโดยใช้ Windows Authentication อยู่ในกลุ่มของผู้ดูแลระบบนอกจากนี้ ในเครื่องของเราเราได้นำเข้าข้อมูลสำรองและได้ทดสอบการทำงานทุกอย่างในฐานะผู้ใช้ "ผู้ดูแลระบบ" บน Windows Server 2019 (บริการ Veeam, บัญชีผู้ใช้ Veeam และบริการ sql explorer) แต่ปัญหาการอนุญาตยังคงอยู่

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

Score:1
ธง jp

หลังจากติดต่อฝ่ายสนับสนุน ปัญหาคือฉันไม่ได้รวมไดเร็กทอรี SQL Server DATA ในข้อมูลสำรองของฉัน ฉันคิดว่า Veeam จะทำเพื่อฉันเพราะมันอนุญาตให้ฉันเปิดใช้งานการประมวลผลแอปพลิเคชัน ฉันจำไม่ได้ว่าเห็นรายละเอียดใด ๆ เกี่ยวกับเรื่องนี้ในเอกสาร มิฉะนั้นฉันอาจพลาดไป

สิ่งนี้สามารถบรรเทาได้ด้วยการเลือกคอมพิวเตอร์ทั้งเครื่องเพื่อสำรองข้อมูลหรือทำการสำรองข้อมูลไดรฟ์ C เห็นได้ชัดว่าแนะนำให้บันทึกเครื่องทั้งหมดเพื่อการกู้คืนทันที

ข้อผิดพลาดที่ไม่ชัดเจนทั้งหมดหายไปเพียงแค่รวมไดเร็กทอรี DATA

Score:0
ธง us

ดูสิทธิ์ที่จำเป็นได้ที่:

https://helpcenter.veeam.com/docs/backup/explorers/vesql_permissions.html?ver=110

สิทธิ์ขั้นต่ำใน mssql สำหรับบัญชีบริการ Veeam เพื่อสำรองข้อมูล:

ระดับเครื่องยนต์: ดูคำจำกัดความใด ๆ ดูสถานะเซิร์ฟเวอร์

ระดับฐานข้อมูล: ต้นแบบ: db_backupoperator, db_datareader

msdb: db_backupoperator, db_datawriter, db_datareader

ฐานข้อมูลใด ๆ ที่คุณต้องการสำรองข้อมูลบันทึก trn: db_backupoperator, db_denydatareader

นอกจากนี้ บัญชีบริการ Veeam ของคุณต้องเป็นส่วนหนึ่งของกลุ่มผู้ดูแลระบบภายใน

เพื่อให้สามารถทำการกู้คืนโดยตรงใน mssql ได้ จำเป็นต้องมีบทบาทระดับเอ็นจิ้น dbcreator

หากต้องการตั้งค่านี้อย่างถูกต้อง คุณจะต้องเปลี่ยนบัญชีบริการ Veeam ของคุณเป็นผู้ใช้โดเมน

โหมดง่าย: Domain Admin และ Sysadmin บน SQL (หากคุณต้องการสำรองและกู้คืนออบเจกต์ AD ด้วย คุณสามารถไปทางนี้ได้ทันที)

youcef nafa avatar
jp flag
นี่เป็นความคิดแรกของฉัน นั่นคือเหตุผลที่ฉันติดตั้ง veeam ใหม่ในฐานะผู้ดูแลโดเมนตามที่ระบุไว้ในคำถามของฉัน ฉันยังทดสอบ "sa" สำหรับการเชื่อมต่อ SQL และทุกอย่างล้มเหลว ปัญหาคือไดเร็กทอรี SQL Data ที่ขาดหายไปจากไฟล์สำรองของฉันหายไป

โพสต์คำตอบ

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