Подтвердить что ты не робот

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

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

4b9b3361

Ответ 1

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

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

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

Ответ 2

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

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

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

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

Ответ 3

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

Ответ 4

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

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

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