• Uncategorized

    Если процедура зашифрована…MsSql

    Оставлю здесь код, который поможет разобраться с этой маленькой неприятностью… надо помнить, чтобы этот скрипт сработал нужен режим администратора,а для этогоEXEC sys.sp_configure ‘show advanced options’, 1RECONFIGURE WITH OVERRIDEGOEXEC sys.sp_configure ‘remote admin connections’, 1RECONFIGURE WITH OVERRIDEGO —Вначале соединения в SQL документе дописываем ADMIN: и проверяем что пользователь под которым мы коннектимся является sysadmin-ом—при подключении через DAC становится возможным выборка из любой системной таблицы и из нее И наконец запускаем скрипт: -- Must connect to SQL Server using the Dedicate Admin Connection, eg "admin:localhost". Verified with SQL Server 2012.-- Originally from Williams Orellana's blog: http://williamsorellana.org/2012/02/decrypt-sql-stored-procedures/DECLARE @ObjectOwnerOrSchema NVARCHAR(128)DECLARE @ObjectName NVARCHAR(128)SET @ObjectOwnerOrSchema = 'dbo'SET @ObjectName = 'PROCEDURE NAME HERE'DECLARE @i INTDECLARE @ObjectDataLength INTDECLARE @ContentOfEncryptedObject…

  • Uncategorized

    Задачка по MsSql

    Требуется ограничить поиск на ближайшие дни. Требуется исключить из поиска: 1. данные за текущую текущую дату 2. если выполняется поиск в субботу или в воскресение, то результаты показывать начиная со вторника, то есть исключить данные до ближайшего вторника не включительно 3. чтобы в пятницу начиная с 16ти так же поиск ограничивался вторником и более отдаленными датами. Решение: DECLARE @CurrentDate DATE = CAST(GETDATE() AS DATE); DECLARE @CurrentTime TIME = CAST(GETDATE() AS TIME); DECLARE @DayOfWeek INT = DATEPART(WEEKDAY, @CurrentDate); DECLARE @TuesdayDate DATE; -- Определяем нужную дату для начала поиска IF @DayOfWeek IN (6, 7)-- Если сегодня воскресенье (7) или суббота (6) BEGIN -- Находим ближайший вторник SET @TuesdayDate = DATEADD(DAY, (2 -…