четверг, 7 июня 2018 г.

How to grant anonymous access to SSRS reports. Предоставление анонимного доступа к SSRS отчетам

Начиная с SQL 2005, анонимный доступ к SSRS перестал быть поддерживаемой опцией и предоставление его является задачей нетривиальной и небезопасной. Различные ресурсы (например, этот https://blogs.msdn.microsoft.com/jameswu/2008/07/15/anonymous-access-in-sql-rs-2008/ ) описывают модификацию SSRS инстанса с целью выключить любую аутентификацию, кроме анонимной (включая компиляцию собственного authentication extension), однако это, во первых, оверкилл, а во вторых - предоставит доступ ко всем вашим репортам, а не только, например, к определенной папке.
Однако, легкий способ сделать это - написать простой reverse proxy server, который бы принимал анонимные запросы и транслировал бы их в SSRS. Этот прокси вполне можно развернуть на том же сервере, что SSIS и гибко настроить его для предоставления доступа к строго определенной папке.

Как это сделать?
1. Скомпилировать прокси сервер и развернуть его на том же сервере, что и SSRS, например в папку Default Web Site/SSRSANON;
2. Поменять web.config под ваши нужды;
2. Настроить Application Pool для этого приложения: он должен быть не менее версии 4.0, classic и ApplicationPoolIdentity = аккаунт, который имеет доступ к папке с репортами;
3. Обратиться к репорту, используя URL типа http://YourReportServer/Report=MyReport,par1=val1,par2=val2..../

Прокси-сервер основан на коде, описанном в этой статье:
https://www.codeproject.com/Articles/7135/Simple-HTTP-Reverse-Proxy-with-ASP-NET-and-IIS#_comments


четверг, 8 июня 2017 г.

Danger of copying SSIS script components. Об опасности копирования SSIS script components.

Будьте внимательны каждый раз, когда вы копируете SSIS Script components из одного Data flow task в другой. Assembly names для таких компонентов остаются теми же самыми, что производит весьма интересные и неожиданные эффекты, подобные описанным тут:

https://kohera.be/blog/sql-server/the-dangers-of-copying-script-components-in-ssis/


В этой же статье предлагается способ решения: скопировать этот компонент в совершенно новый SSIS package, а затем скопировать его обратно, однако, начиная с SSDT 2008 этот способ не работает, оба компонента всё равно будут иметь те же самые Assembly names.

Решение: если неохота создавать компонент с нуля, заново прописывая inputs, outputs и код, можно поредактировать напрямую XML, однако, конечно, не оригинальный package. Создайте новый пустой package, внутри пустой Data flow task, туда скопируйте компонент, у которого надо поменять имя и откройте весь файл в XML. Дальше - find+replace - и счастье, можно копировать компонент обратно в основной package.

понедельник, 18 апреля 2016 г.

"Lightswitch for visual studio - server configuration" is missing in Microsoft Web Platform Installer 5.0. Невозможно установить серверную конфигурацию для 3-tier Lightswitch applications.

По не совсем понятным причинам, Microsoft убрал возможность установить "Lightswitch for visual studio - server configuration" из Microsoft Web Platform Installer 5.0. К счастью, вот тут я нашел ссылку на предыдущую версию WebPI 4.6 и на всякий случай скопировал ее на свой Google Drive.

понедельник, 16 июня 2014 г.

OneDrive (SkyDrive) with Windows 8.1 under a local account (OneDrive (SkyDrive) в Windows 8.1 под локальным аккаунтом)

Если вы, как я, сдуру обновили свой прекрасный Windows 8 до 8.1 и потеряли возможность работать с SkyDrive под локальным аккаунтом, проблему можно чудесно решить при помощи бесплатного клиента отсюда http://syncdriver.com/

пятница, 9 мая 2014 г.

msmdpump.dll: 405 - HTTP verb used to access this page is not allowed

Если вы сконфигурировали доступ к SSAS через HTTP как полагается и как описано здесь, а оно не работает и выдает следующую ошибку:

HTTP verb used to access this page is not allowed

Решение может оказаться достаточно простым. По умолчанию используется 64-битная версия msmdpump.dll, так что если соответствующий IIS Application Pool работает в режиме 32 бита, данная библиотека работать не будет. Решение - переключить этот пул в 64 бита, вот как тут:



пятница, 8 ноября 2013 г.

Чудесный баг в SQL Server 2008 R2 SSIS (Awesome bug in SQL 2008 R2 SSIS)

Симптомы: имеется совершенно правильно сконфигурированный Data Source в Data Flow Task, который, однако, не возвращает никаких данных. При ближайшем рассмотрении выясняются любопытные вещи:

пятница, 4 октября 2013 г.

Environment variable is not visible (процесс не видит установленную environment variable)

Пытался прочитать недавно установленную environment variable из PowerShell в SQL Agent Job, но он упорно не видел ее. Наткнулся на следующую очевидную вещь, которую, видимо, знали все кроме меня:
 
 
т.е.  эти переменные кэшируются процессом во время старта и дальше он не видит их изменений (кроме случая, когда изменил их сам). Официального workaround не существует (кроме как перезапустить процесс), но вот вам неофициальный от меня: можно прочитать эти значения в реестре (например, при помощи следующей строчки в Powershell script).


$MSU=(New-Object -ComObject WScript.Shell).RegRead("HKLM\SYSTEM\ControlSet001\Control\....")