Всем добра! Создал хранимую процедуру в базе ELMA3. После перезапуска компьютера, на котором лежит sql-ная база ELMA хранимка пропала. Кто сталкивался - напишите - или это просто у меня какой-то мега редкий глюк произошел...?
Тоже сталкивался с подобным, думал ХП удаляются при обновлении версии, возможно пересоздаются при старте сервера. Создайте ХП в служебной базе/создайте отдельную базу под ХП
Добрый день, для создания своих собственных процедур/функций/триггеров необходимо создать свой собственный серверный модуль. В нем создать папку Components и там минимум два файла <Одинаковое имя>.cs <Одинаковое имя>.xml <Одинаковое имя>.cs using EleWise.ELMA.ComponentModel; using EleWise.ELMA.Runtime.Db; using System; using System.Collections.Generic; using System.Linq; using System.Text; namespace NFC.ELMA.Sync.Components { [Component] internal class <Одинаковое имя> : DbStructureExtension { public override Guid ProviderUid { get { return Guid.Empty; } } } } и примерное содержимое <Одинаковое имя>.xml (тут вы должны описать все свои процедуры и т.д.) <?xml version="1.0" encoding="utf-8" ?> <root uid="{746A5BB1-D5A8-401C-9011-07985C9D48CF}" provider="SqlServer"> <procedures> <!-- --> <!-- Вспомогательные функции для синхронизации --> <!-- --> <procedure name="fn_GetUserIdByUID"> <text> -- Функция предоставляет данные о сотруднике компании ([User]) посредством @Uid create function [dbo].[fn_GetUserIdByUID](@Uid uniqueidentifier) returns bigint as begin return (select top 1 A.Id from [dbo].[User] A (nolock) where A.Uid = @Uid) end </text> </procedure> </procedures> <scripts> <!-- Создание роли Integration --> <script name="CREATE_ROLE_Integration" ExecuteTime="OnProceduresCreated" AlwaysExecute="true"> <text> if not exists (select * from ELMA3.sys.database_principals where name = 'Integration') CREATE ROLE [Integration] </text> </script> </scripts> </root>