Așa că am experimentat de ceva vreme cu Veeam Backup & Replication. Configuram o mașină virtuală dedicată pentru Veeam Backup Server care realizează copii de rezervă zilnice ale tuturor componentelor infrastructurii noastre. Nu am achiziționat încă o licență, așa că aceasta este ediția comunitară pe care o testăm (versiunea 11a build 11.0.1.1261 P20220302)
Avem câteva VM cu instanțe SQL Server care conțin baze de date. Folosim opțiunea de procesare a aplicației Veeam pentru a face backup la bazele de date și pentru a le include în fișierul de rezervă.
Cu toate acestea, ne confruntăm cu o problemă atunci când încercăm să efectuăm o restaurare a bazelor de date din fișierul de rezervă, fie că este pe mașina Veeam Backup Server, fie pe o altă mașină locală. Efectuăm restaurarea elementului aplicației așa cum este descris în Documentația Veeam B&R apoi parcurgeti pasii pentru publicarea datelor la serverul SQL local (proiectare) folosind Veeam SQL Explorer. Am încercat să publicăm baza de date, să restaurăm fișierul .BAK sau chiar să salvăm direct fișierele MDF și LDF. Toate operațiunile eșuează din lipsă de permisiuni (consultați jurnalele Veeam SQL Explorer mai jos).
Captură de ecran a erorii
11/04/2022 00:17:32 21 (8876) Conectarea la SQL Server localhost\SQL2019 folosind autentificare Windows (nume de utilizator: WIN-KB0LJQ6QU6L\Administrator)...
11/04/2022 00:17:32 21 (8876) Conexiunea s-a finalizat cu succes.
11/04/2022 00:17:32 21 (8876) Se verifică compatibilitatea versiunii bazei de date (server: Microsoft SQL Server 2014, versiunea bazei de date: 782)...
11/04/2022 00:17:32 21 (8876) Serverul țintă (localhost\SQL2019) este identificat ca Microsoft SQL Server 2019 (versiunea: 904).
11/04/2022 00:17:32 21 (8876) Conectarea la SQL Server localhost\SQL2019 folosind autentificare Windows (nume de utilizator: WIN-KB0LJQ6QU6L\Administrator)...
11/04/2022 00:17:32 21 (8876) Conectarea la SQL Server localhost\SQL2019 folosind autentificare Windows (nume de utilizator: WIN-KB0LJQ6QU6L\Administrator)...
11/04/2022 00:17:32 21 (8876) Se validează permisiunile de cont pentru serverul „localhost”...
04.11.2022 00:17:32 21 (8876) Validarea a fost finalizată cu succes.
04.11.2022 00:17:33 16 (9136) Se publică baza de date...
04.11.2022 00:17:33 16 (9136) ID punct de restaurare: 3147eb18-d76a-47f1-ab4c-ec5a67dd81f1
04.11.2022 00:17:33 16 (9136) Server SQL: localhost\SQL2019
04.11.2022 00:17:33 16 (9136) Nume bază de date: bigsoft_33o_vide
11/04/2022 00:17:33 16 (9136) Conectarea la SQL Server localhost\SQL2019 folosind autentificare Windows (nume de utilizator: WIN-KB0LJQ6QU6L\Administrator)...
04.11.2022 00:17:34 17 (11180) Obținerea sesiunilor de recuperare instantanee...
04.11.2022 00:17:34 17 (11180) Noua valoare USN: 5113
04.11.2022 00:17:34 17 (11180) Încărcate 0 sesiuni de recuperare instantanee
04.11.2022 00:17:34 17 (11180) Încărcarea bazelor de date finalizată
04.11.2022 00:17:37 19 (9280) Obținerea sesiunilor de recuperare instantanee...
04.11.2022 00:17:37 19 (9280) Noua valoare USN: 5114
...
04.11.2022 00:18:05 16 (9136) Publicarea bazei de date a eșuat
11/04/2022 00:18:05 16 (9136) Eroare: metoda a eșuat cu codul de eroare neașteptat 3.
04.11.2022 00:18:05 16 (9136) Tip: System.InvalidOperationException
04.11.2022 00:18:05 16 (9136) Stivă:
11/04/2022 00:18:05 16 (9136) la System.Security.AccessControl.NativeObjectSecurity.CreateInternal (ResourceType resourceType, Boolean isContainer, String name, SafeHandle handle, AccessControlSections, includeSectionFromDerControlBorole, createCotextFromDerCore excepție)
la System.Security.AccessControl.FileSystemSecurity..ctor(Boolean isContainer, String name, AccessControlSections includeSections, Boolean isDirectory)
la System.Security.AccessControl.FileSecurity..ctor(String fileName, AccessControlSections includeSections)
la System.IO.FileInfo.GetAccessControl(AccessControlSections includeSections)
la Veeam.Engine.Security.FileAccess.GetAccessControl (calea șirului, secțiunile AccessControlSections)
la Veeam.Engine.Security.FileSystemSecurity.HasFileAccess(String accountName, String path)
la Veeam.Engine.FileSystem.LocalAccessChecker.GrantFileAccess(String filePath)
la Veeam.SQL.Core.Extensions.AccessCheckerExtension.CheckDatabaseFilesAccess(IAccessChecker accessChecker, IDatabaseFiles databaseFiles, String permissionSourceFolder)
la Veeam.SQL.Restore.Publish.RestorePointDatabasePublisher.Publish(ISqlBroker broker, ISqlConnectProvider sqlConnectProvider, IPublishConfig config, Boolean isClustered, ISqlActionsObserver observator, CancellationToken observator)
la Veeam.SQL.Restore.Publish.DatabasePublisher.Publish(ISqlBroker sqlBroker, ISqlConnectProvider sqlConnectProvider, IPublishConfig config, ISqlActionsObserver observator, CancellationToken ct)
la Veeam.SQL.Restore.Publish.DatabasePublisher.Publish(ISqlConnectProvider sqlConnectProvider, IPublishConfig config, ISqlActionsObserver observator, CancellationToken ct)
la Veeam.SQL.Restore.Publish.DatabasePublisher.Publish (configurație IPublishConfig, observator ISqlActionsObserver, CancellationToken ct)
la Veeam.SQL.Restore.Publish.LoggedDatabasePublisher.Publish(IPublishConfig config, ISqlActionsObserver observator, CancellationToken ct)
11/04/2022 00:18:06 1 (6504) Publicarea bazei de date a eșuat
11/04/2022 00:18:06 1 (6504) Eroare: Metoda a eșuat cu codul de eroare neașteptat 3.
04.11.2022 00:18:06 1 (6504) Tip: System.InvalidOperationException
04.11.2022 00:18:06 1 (6504) Stivă:
11/04/2022 00:18:06 1 (6504) la System.Security.AccessControl.NativeObjectSecurity.CreateInternal (ResourceType resourceType, Boolean isContainer, String name, SafeHandle handle, AccessControlSections include ExceptionsFromErrorCoreException)
la System.Security.AccessControl.FileSystemSecurity..ctor(Boolean isContainer, String name, AccessControlSections includeSections, Boolean isDirectory)
la System.Security.AccessControl.FileSecurity..ctor(String fileName, AccessControlSections includeSections)
la System.IO.FileInfo.GetAccessControl(AccessControlSections includeSections)
la Veeam.Engine.Security.FileAccess.GetAccessControl (calea șirului, secțiunile AccessControlSections)
la Veeam.Engine.Security.FileSystemSecurity.HasFileAccess(String accountName, String path)
la Veeam.Engine.FileSystem.LocalAccessChecker.GrantFileAccess(String filePath)
la Veeam.SQL.Core.Extensions.AccessCheckerExtension.CheckDatabaseFilesAccess(IAccessChecker accessChecker, IDatabaseFiles databaseFiles, String permissionSourceFolder)
la Veeam.SQL.Restore.Publish.RestorePointDatabasePublisher.Publish(ISqlBroker broker, ISqlConnectProvider sqlConnectProvider, IPublishConfig config, Boolean isClustered, ISqlActionsObserver observator, CancellationToken observator)
la Veeam.SQL.Restore.Publish.DatabasePublisher.Publish(ISqlBroker sqlBroker, ISqlConnectProvider sqlConnectProvider, IPublishConfig config, ISqlActionsObserver observator, CancellationToken ct)
la Veeam.SQL.Restore.Publish.DatabasePublisher.Publish(ISqlConnectProvider sqlConnectProvider, IPublishConfig config, ISqlActionsObserver observator, CancellationToken ct)
la Veeam.SQL.Restore.Publish.DatabasePublisher.Publish (configurație IPublishConfig, observator ISqlActionsObserver, CancellationToken ct)
la Veeam.SQL.Restore.Publish.LoggedDatabasePublisher.Publish(IPublishConfig config, ISqlActionsObserver observator, CancellationToken ct)
la Veeam.SQL.Restore.Publish.AuditedDatabasePublisher.Publish(IPublishConfig config, ISqlActionsObserver observator, CancellationToken ct)
la Veeam.SQL.Restore.Publish.StoringDatabasePublisher.Publish (configurație IPublishConfig, observator ISqlActionsObserver, CancellationToken ct)
la Veeam.SQL.Restore.Publish.PublishService.Publish (configurație IPublishConfig, observator ISqlActionsObserver, CancellationToken ct)
la Veeam.SQL.Explorer.Async.Publish.AsyncPublishDatabaseTask.Run (observator IProcessObserver, CancellationToken ct)
la Veeam.Presentation.Async.VisualAsyncTask.Execute (observator IProcessObserver)
Rețineți că Veeam a fost instalat ca cont de sistem local pe serverul de backup Veeam, iar utilizatorul conectat folosind autentificarea Windows se află în grupul de administrator.Mai mult, în mașina noastră locală am importat backup-ul și am testat rularea totul ca utilizator „Administrator” pe Windows Server 2019 (servicii Veeam, contul de utilizator Veeam și serviciul SQL Explorer), dar problema cu permisiunile rămâne.
Această întrebare se adresează oricărei persoane care este în mod special familiarizată cu Veeam sau oricui are o idee despre mesajul de eroare generic și despre cum să-l ocolească oferind permisiuni complete în Windows.