Podczas instalacji skryptu dla bazy AdventureWorks2008R2 OLTP instalowanego na SQL Server 2008R2 w systemie Windows XP SP3 uzyskujemy błąd:
„Operating system error -2147024891: „0x80070005 filestream”
W internecie można znaleźć kilka różnych opisów tego problemu. Poniżej przedstawiam jedno z działających rozwiązań.
Generalnie chodzi o to, że MS SQL Server 2008 R2 uruchomiony jest z poświadczeniami konta wbudowanego:
NT AUTHORITY\NETWORK SERVICE i nie ma wtedy odpowiednich
uprawnień do założenia folderu z FILESTREAM podczas zakładania bazy.
Uzyskujemy wtedy taki komunikat:
"Below is the error using C:\Data STREAMFCB::Startup: Operating system error 0x80070005(Access is denied.) occurred while creating or opening file 'c:\data\filestreamP1'. Diagnose and correct the operating system error, and retry the operation."
Jedną z rad jest odinstalowanie „Aktualizacji zabezpieczeń systemu Windows KB956572„.
Ale co gdy nie mamy zainstalowanej łatki lub odinstalowanie nie pomaga ?
Ja na serwerze zatrzymałem usługę „SQL SERVER” oraz „SQL Full-Text Filter Daemon Launcher” a następnie
uruchomiłem ją z logując się kontem wbudowanym jako LocalSystem.
Instalacja przebiegła prawidłowo.
Podsumowując należy:
- Uruchomić SQL Server Configuration Manager
- W SQL Server Services wybrać:
- SQL Server. Kliknąć ppm wybrać properties. Po otwarciu okna w Built-in-account ustawić LocalSystem.
- Kliknąć na OK. Wtedy nastąpi restart.
- SQL Full-Text Filter Daemon Launcher. Po otwarciu okna w Built-in-account ustawić LocalSystem.
- Kliknąć na OK. Wtedy nastąpi restart.
- Uruchomić SSMS a w nim uruchomić skrypt tworzący bazę.
- Po pomyślnym zainstalowaniu bazy przywrócić poprzednie ustawienia kont w SQL Server Configuration Manager