Witam,
Jest to mój pierwszy post ale od razu dosyć poważny problem, otóż obecnie baza Subiekta znajduje się na SQL Express 2017 14.0.1000.169 (RTM) SQL Server Express Edition (64-bit)
Chciałbym zrobić downgrade do wersji: 13.0.1601.5 (RTM) SQL Server Standard Edition (64-bit)
Niestety archiwizacją/dearchiwizacją się tego nie da zrobić.
Podniesienie do wersji nastąpiło już jakiś czas temu przez to nie mogę skorzystać z żadnego Backupu (za dużo dokumentów i zmian w kartotekach m.in. od tego czasu).
Próbuje zrobić Downgrade do wersji poprzez SSMS (SQL Server Management Studio), za pomocą wygenerowania skryptu i na jego podstawie uzupełnienia bazy danych.
Ustawienia których używam, znajdują się w załącznikach.
Niestety występuję błąd przy próbie skryptu funkcji:
Preparing dbo.fn_BiezacyMagazyn
Treść błędu:
Microsoft.SqlServer.Management.SqlScriptPublish.SqlScriptPublishException: An error occurred while scripting the objects. ---> Microsoft.SqlServer.Management.Smo.PropertyCannotBeRetrievedException: Property TextHeader is not available for UserDefinedFunction '[dbo].[fn_BiezacyMagazyn]'. This property may not exist for this object, or may not be retrievable due to insufficient access rights. The text is encrypted. at Microsoft.SqlServer.Management.Smo.ScriptNameObjectBase.GetTextProperty(String requestingProperty, ScriptingPreferences sp, Boolean bThrowIfCreating) at Microsoft.SqlServer.Management.Smo.ScriptNameObjectBase.BuildText(ScriptingPreferences sp) at Microsoft.SqlServer.Management.Smo.ScriptNameObjectBase.GetTextForScript(ScriptingPreferences sp, String[] expectedObjectTypes, Boolean forceCheckNameAndManipulateIfRequired, ScriptHeaderType scriptHeaderType) at Microsoft.SqlServer.Management.Smo.UserDefinedFunction.ScriptUDF(StringCollection queries, ScriptingPreferences sp, ScriptHeaderType scriptHeaderType) at Microsoft.SqlServer.Management.Smo.UserDefinedFunction.ScriptCreate(StringCollection queries, ScriptingPreferences sp) at Microsoft.SqlServer.Management.Smo.SqlSmoObject.ScriptCreateInternal(StringCollection query, ScriptingPreferences sp, Boolean skipPropagateScript) at Microsoft.SqlServer.Management.Smo.ScriptMaker.ScriptCreateObject(Urn urn, ScriptingPreferences sp, ObjectScriptingType& scriptType) at Microsoft.SqlServer.Management.Smo.ScriptMaker.ScriptCreate(Urn urn, ScriptingPreferences sp, ObjectScriptingType& scriptType) at Microsoft.SqlServer.Management.Smo.ScriptMaker.ScriptCreateObjects(IEnumerable`1 urns) at Microsoft.SqlServer.Management.Smo.ScriptMaker.ScriptUrns(List`1 orderedUrns) at Microsoft.SqlServer.Management.Smo.ScriptMaker.DiscoverOrderScript(IEnumerable`1 urns) at Microsoft.SqlServer.Management.Smo.ScriptMaker.ScriptWorker(List`1 urns, ISmoScriptWriter writer) at Microsoft.SqlServer.Management.Smo.ScriptMaker.Script(Urn[] urns, ISmoScriptWriter writer) at Microsoft.SqlServer.Management.SqlScriptPublish.SqlScriptGenerator.DoScript(ScriptOutputOptions outputOptions) --- End of inner exception stack trace --- at Microsoft.SqlServer.Management.SqlScriptPublish.GeneratePublishPage.worker_DoWork(Object sender, DoWorkEventArgs e) at System.ComponentModel.BackgroundWorker.OnDoWork(DoWorkEventArgs e) at System.ComponentModel.BackgroundWorker.WorkerThreadStart(Object argument)
Z tego co wyczytałem jest to coś związanego z uprawnieniami użytkownika do deszyfrowania, zaszyfrowanych Funkcji, Store Procedure.
Próbowałem za pomocą skryptu nadać uprawnienia do VIEW DEFINITION:
USE master
GO
GRANT VIEW ANY DEFINITION TO PUBLIC
Niestety nic to nie pomogło.
Może ktoś spotkał się z takim problemem? Byłbym wdzięczny za każdą wskazówkę.
Nie działam na bazie "produkcyjnej" na innym komputerze zainstalowałem SQL Express 2017 i tam mam taki Sandbox, jak uda mi się przebrnąć dalej to zaktualizuję wątek.
Pozdrawiam