Нахождение вывода SQL параметризованного запроса
-
05-10-2019 - |
Вопрос
Я делаю параметризованный запрос, используя C # на экземпляре SQL Server 2005, и я хотел бы взглянуть на SQL, который работает против базы данных для целей отладки. Есть ли где-то, что я могу посмотреть, чтобы посмотреть, какой вывод SQL параметризованной команды либо в журналах базы данных или в отладчике Visual Studio?
Решение
Используйте SQL Server Profiler для просмотра SQL
http://www.eggheadcafe.com/articles/sql_server_profiler.asp.
http://msdn.microsoft.com/en-us/library/ms187929(sql.105).aspx.
Другие советы
SQL Profiler - это лучшее решение, но если вам нужно что-то более органическое для вашего приложения, которое вы можете развернуть и включить / отключить в производстве, QA и т. Д. ... Тогда вы можете построить обертку по провайдеру System.data.sqlClient (Бывший. Поставщик зарегистрирован в файле конфигурации AS ... Provielater = "System.data.sqlclient").
Это, по сути, будет действовать как прокси-сервер перехвата, который даст вам доступ ко всей информации, проходящей через провайдер (например, между вашим приложением и клиентом базы данных). Это позволило бы вам сифонно-то, что вам нужно, перехватывать, модифицировать, агрегировать и / или обогатить его. Это немного более продвинуто, но открывает дверь, чтобы захватить целый ряд информации и может быть вставлен / заменен / удален как отдельный слой беспокойства.