Профилировщик для Sql CE

Интересно, есть ли что-то похожее на Sql Profiler для Sql Server Compact Edition? я использую SqlCE в качестве бэкэнда для настольного приложения, и было бы здорово иметь что-то вроде sql profiler для этой встроенной базы данных. или, по крайней мере, что-то похожее на функцию show_sql в NHibernate... есть идеи? спасибо

4 ответа

Решение

Единственное известное мне тестируемое решение, которое может решить эту проблему, - это Altiris Profiler, инструмент, который я разработал на своей предыдущей работе, но он с закрытым исходным кодом и не продается.

Вы могли бы подключить его, создав фабрику для своих команд и передав их в прокси для целей профилирования перед их использованием (используя RealProxy). Это действительно легкий вес и около 10 строк кода для реализации.

На мой вопрос Флори говорит о новом инструменте под названием dynaTrace, который также может решить эту проблему.

Я не думаю, что это сработает - CE кажется совсем другим зверем.

Вы можете включить некоторые записи, которые могут вам помочь:

http://msdn.microsoft.com/en-us/library/ms171949(SQL.90).aspx

Я попытался сделать это, и мне удалось настроить базу данных и подключиться из SSMS - вам нужно указать альтернативный тип подключения "SQL Server Compact Edition". Профилировщик не имеет такой вещи - и ввод пути к файлу данных для поля "база данных" ничего не сделал.

Попробуйте установить стандартную версию (с профилировщиком), и вы также сможете подключиться к экземпляру CE.

Я думаю, что это возможно, что это может быть сделано с использованием шаблона трассировки профилировщика по умолчанию (из Visual Studio 2008). Я говорю об использовании шаблона для не-CE версии SQL в моем блоге по адресу: http://codingathome.blogspot.com/2009/04/create-sql-trace-and-read-it-using-sql.html,

Возможно, этот шаблон будет работать для CE версии SQL. Я не пробовал это. Ваш пробег может варьироваться. Я знаю, что SQL CE не поддерживает хранимые процедуры, поэтому скорее всего это не сработает. Возможно, вам придется настроить отладку в вашем коде для отслеживания запросов.

Так как CE не поддерживает хранимую процедуру, держу пари, что вы все равно можете запустить скрипт как скрипт.sql и установить события трассировки. Стоит попробовать.

Другие вопросы по тегам