<?xml version="1.0" encoding="UTF-8" ?>
<?xml-stylesheet type="text/xsl" href="http://blogs.msdn.com/utility/FeedStylesheets/rss.xsl" media="screen"?><rss version="2.0" xmlns:dc="http://purl.org/dc/elements/1.1/" xmlns:slash="http://purl.org/rss/1.0/modules/slash/" xmlns:wfw="http://wellformedweb.org/CommentAPI/"><channel><title>SQLClub</title><link>http://blogs.msdn.com/alexejs/default.aspx</link><description /><dc:language>en-US</dc:language><generator>CommunityServer 2.1 SP1 (Build: 61025.2)</generator><item><title>SQL Server и ETW. Ч.4</title><link>http://blogs.msdn.com/alexejs/archive/2009/09/07/sql-server-etw-4.aspx</link><pubDate>Mon, 07 Sep 2009 09:08:00 GMT</pubDate><guid isPermaLink="false">91d46819-8472-40ad-a661-2c78acb4018c:9892089</guid><dc:creator>alexejs</dc:creator><slash:comments>0</slash:comments><comments>http://blogs.msdn.com/alexejs/comments/9892089.aspx</comments><wfw:commentRss>http://blogs.msdn.com/alexejs/commentrss.aspx?PostID=9892089</wfw:commentRss><description>&lt;p style="margin: 0in 0in 0pt" class="MsoNormal"&gt;&lt;font face="Calibri"&gt;&lt;font size="3"&gt;&lt;span style="mso-spacerun: yes"&gt;&amp;nbsp;&lt;/span&gt;&lt;span style="mso-ansi-language: ru" lang="RU"&gt;Для полноты картины стоит коснуться потребителя &lt;/span&gt;ETW&lt;span style="mso-ansi-language: ru" lang="RU"&gt;-событий. Потребитель - это приложение, которое читает логи, созданные в ходе ETW-сессии, или цепляется к ней напрямую и потребляет генерируемые ей события в реальном времени. Консьюмить залоггированую трассу неинтересно. Не буду отвлекать на увлекательный рассказ про парсинг csv или xml или еще какого-нибудь формата. Какие-то потуги в этом направлении предпринимались во &lt;/span&gt;&lt;/font&gt;&lt;/font&gt;&lt;a href="http://blogs.msdn.com/alexejs/archive/2009/09/04/sql-server-etw-2.aspx"&gt;&lt;span style="mso-ansi-language: ru" lang="RU"&gt;&lt;font size="3" face="Calibri"&gt;второй серии&lt;/font&gt;&lt;/span&gt;&lt;/a&gt;&lt;font face="Calibri"&gt;&lt;font size="3"&gt;&lt;span style="mso-ansi-language: ru" lang="RU"&gt;, Скрипты 1-3. Примером потребителя реального времени явлется всем хорошо известный Windows Event Viewer. Подобных приложений можно написать сколько угодно, каждое для своей области. Скажем&lt;/span&gt;, &lt;/font&gt;&lt;/font&gt;&lt;a href="http://windowsclient.net/wpf/perf/wpf-perf-tool.aspx"&gt;&lt;font size="3" face="Calibri"&gt;Performance Profiling Tools for WPF&lt;/font&gt;&lt;/a&gt;&lt;font face="Calibri"&gt;&lt;font size="3"&gt;. &lt;span style="mso-ansi-language: ru" lang="RU"&gt;&lt;?xml:namespace prefix = o ns = "urn:schemas-microsoft-com:office:office" /&gt;&lt;o:p&gt;&lt;/o:p&gt;&lt;/span&gt;&lt;/font&gt;&lt;/font&gt;&lt;/p&gt; &lt;p style="margin: 0in 0in 0pt" class="MsoNormal"&gt;&lt;span style="mso-ansi-language: ru" lang="RU"&gt;&lt;o:p&gt;&lt;font size="3" face="Calibri"&gt;&amp;nbsp;&lt;/font&gt;&lt;/o:p&gt;&lt;/span&gt;&lt;/p&gt; &lt;p style="margin: 0in 0in 0pt" class="MsoNormal"&gt;&lt;a href="http://blogs.msdn.com/blogfiles/alexejs/WindowsLiveWriter/SQLServerETW.4_8E62/image_3.png"&gt;&lt;img style="border-bottom: 0px; border-left: 0px; display: inline; border-top: 0px; border-right: 0px" title="image" border="0" alt="image" src="http://blogs.msdn.com/blogfiles/alexejs/WindowsLiveWriter/SQLServerETW.4_8E62/image_thumb.png" width="560" height="426"&gt;&lt;/a&gt; &lt;/p&gt; &lt;p style="margin: 0in 0in 0pt" class="MsoNormal"&gt;&lt;font face="Calibri"&gt;&lt;font size="3"&gt;&lt;span style="mso-no-proof: yes"&gt;&lt;?xml:namespace prefix = v ns = "urn:schemas-microsoft-com:vml" /&gt;&lt;v:shapetype id="_x0000_t75" stroked="f" filled="f" path="m@4@5l@4@11@9@11@9@5xe" o:preferrelative="t" o:spt="75" coordsize="21600,21600"&gt;&lt;v:stroke joinstyle="miter"&gt;&lt;/v:stroke&gt;&lt;v:formulas&gt;&lt;v:f eqn="if lineDrawn pixelLineWidth 0"&gt;&lt;/v:f&gt;&lt;v:f eqn="sum @0 1 0"&gt;&lt;/v:f&gt;&lt;v:f eqn="sum 0 0 @1"&gt;&lt;/v:f&gt;&lt;v:f eqn="prod @2 1 2"&gt;&lt;/v:f&gt;&lt;v:f eqn="prod @3 21600 pixelWidth"&gt;&lt;/v:f&gt;&lt;v:f eqn="prod @3 21600 pixelHeight"&gt;&lt;/v:f&gt;&lt;v:f eqn="sum @0 0 1"&gt;&lt;/v:f&gt;&lt;v:f eqn="prod @6 1 2"&gt;&lt;/v:f&gt;&lt;v:f eqn="prod @7 21600 pixelWidth"&gt;&lt;/v:f&gt;&lt;v:f eqn="sum @8 21600 0"&gt;&lt;/v:f&gt;&lt;v:f eqn="prod @7 21600 pixelHeight"&gt;&lt;/v:f&gt;&lt;v:f eqn="sum @10 21600 0"&gt;&lt;/v:f&gt;&lt;/v:formulas&gt;&lt;v:path o:connecttype="rect" gradientshapeok="t" o:extrusionok="f"&gt;&lt;/v:path&gt;&lt;o:lock aspectratio="t" v:ext="edit"&gt;&lt;/o:lock&gt;&lt;/v:shapetype&gt;&lt;v:shape style="width: 324pt; height: 244.5pt; visibility: visible; mso-wrap-style: square" id="_x0000_i1027" type="#_x0000_t75"&gt;&lt;v:imagedata o:title="" src="file:///C:\Users\ADMINI~1\AppData\Local\Temp\1\msohtmlclip1\01\clip_image001.png"&gt;&lt;/v:imagedata&gt;&lt;/v:shape&gt;&lt;/span&gt;&lt;span style="mso-ansi-language: ru" lang="RU"&gt;&lt;o:p&gt;&lt;/o:p&gt;&lt;/span&gt;&lt;/font&gt;&lt;/font&gt;&lt;/p&gt; &lt;p style="margin: 0in 0in 0pt" class="MsoNormal"&gt;&lt;span style="mso-ansi-language: ru" lang="RU"&gt;&lt;font face="Calibri"&gt;&lt;font size="3"&gt;Рис.1&lt;o:p&gt;&lt;/o:p&gt;&lt;/font&gt;&lt;/font&gt;&lt;/span&gt;&lt;/p&gt; &lt;p style="margin: 0in 0in 0pt" class="MsoNormal"&gt;&lt;span style="mso-ansi-language: ru" lang="RU"&gt;&lt;o:p&gt;&lt;font size="3" face="Calibri"&gt;&amp;nbsp;&lt;/font&gt;&lt;/o:p&gt;&lt;/span&gt;&lt;/p&gt; &lt;p style="margin: 0in 0in 0pt" class="MsoNormal"&gt;&lt;font face="Calibri"&gt;&lt;font size="3"&gt;Real&lt;span style="mso-ansi-language: ru" lang="RU"&gt;-&lt;/span&gt;time&lt;span style="mso-ansi-language: ru" lang="RU"&gt; провайдером может выступать утилита &lt;/span&gt;tracerpt&lt;span style="mso-ansi-language: ru" lang="RU"&gt;, которую мы использовали для преобразования etl в читабельные форматы (см. &lt;a href="http://blogs.msdn.com/alexejs/archive/2009/09/04/sql-server-etw-1.aspx"&gt;первая серия&lt;/a&gt;, Рис.8, 9). Стартуем сессию сбора событий из SQL Trace (&lt;a href="http://blogs.msdn.com/alexejs/archive/2009/09/04/sql-server-etw-2.aspx"&gt;вторая серия&lt;/a&gt;, Скрипт 7), направив вывод не в etl-файл, а в real-time (ключ -rt):&lt;o:p&gt;&lt;/o:p&gt;&lt;/span&gt;&lt;/font&gt;&lt;/font&gt;&lt;/p&gt; &lt;p style="margin: 0in 0in 0pt" class="MsoNormal"&gt;&lt;span style="mso-ansi-language: ru" lang="RU"&gt;&lt;o:p&gt;&lt;font size="3" face="Calibri"&gt;&amp;nbsp;&lt;/font&gt;&lt;/o:p&gt;&lt;/span&gt;&lt;/p&gt; &lt;p style="margin: 0in 0in 0pt" class="MsoNormal"&gt;&lt;span style="font-family: 'Courier New'"&gt;&lt;font size="3"&gt;logman start SqlDataCollector -ets -rt -p "MSSQLServer Trace" 0 0&lt;o:p&gt;&lt;/o:p&gt;&lt;/font&gt;&lt;/span&gt;&lt;/p&gt; &lt;p style="margin: 0in 0in 0pt" class="MsoNormal"&gt;&lt;o:p&gt;&lt;font size="3" face="Calibri"&gt;&amp;nbsp;&lt;/font&gt;&lt;/o:p&gt;&lt;/p&gt; &lt;p style="margin: 0in 0in 0pt" class="MsoNormal"&gt;&lt;span style="mso-no-proof: yes"&gt;&lt;v:shape style="width: 425.25pt; height: 273.75pt; visibility: visible; mso-wrap-style: square" id="Picture_x0020_1" type="#_x0000_t75" o:spid="_x0000_i1026"&gt;&lt;v:imagedata o:title="" src="file:///C:\Users\ADMINI~1\AppData\Local\Temp\1\msohtmlclip1\01\clip_image002.png"&gt;&lt;font size="3" face="Calibri"&gt;&lt;/font&gt;&lt;/v:imagedata&gt;&lt;/v:shape&gt;&lt;/span&gt;&lt;/p&gt; &lt;p style="margin: 0in 0in 0pt" class="MsoNormal"&gt;&lt;a href="http://blogs.msdn.com/blogfiles/alexejs/WindowsLiveWriter/SQLServerETW.4_8E62/image_7.png"&gt;&lt;img style="border-bottom: 0px; border-left: 0px; display: inline; border-top: 0px; border-right: 0px" title="image" border="0" alt="image" src="http://blogs.msdn.com/blogfiles/alexejs/WindowsLiveWriter/SQLServerETW.4_8E62/image_thumb_1.png" width="775" height="502"&gt;&lt;/a&gt; &lt;/p&gt; &lt;p style="margin: 0in 0in 0pt" class="MsoNormal"&gt;&lt;font face="Calibri"&gt;&lt;font size="3"&gt;Рис.&lt;span style="mso-ansi-language: ru" lang="RU"&gt;2&lt;o:p&gt;&lt;/o:p&gt;&lt;/span&gt;&lt;/font&gt;&lt;/font&gt;&lt;/p&gt; &lt;p style="margin: 0in 0in 0pt" class="MsoNormal"&gt;&lt;span style="mso-ansi-language: ru" lang="RU"&gt;&lt;o:p&gt;&lt;font size="3" face="Calibri"&gt;&amp;nbsp;&lt;/font&gt;&lt;/o:p&gt;&lt;/span&gt;&lt;/p&gt; &lt;p style="margin: 0in 0in 0pt" class="MsoNormal"&gt;&lt;font face="Calibri"&gt;&lt;font size="3"&gt;&lt;span style="mso-ansi-language: ru" lang="RU"&gt;Видим среди запущенных ETW-сессий сессию по имени SqlDataCollector, которая стримит свои рез-ты в &lt;/span&gt;real&lt;span style="mso-ansi-language: ru" lang="RU"&gt;-&lt;/span&gt;time&lt;span style="mso-ansi-language: ru" lang="RU"&gt;. &lt;/span&gt;Tracerpt&lt;span style="mso-ansi-language: ru"&gt; &lt;span lang="RU"&gt;может подключиться к этой сессии, улавливать ее выходной стрим и направить его непосредственно в какой-либо читабельный формат:&lt;o:p&gt;&lt;/o:p&gt;&lt;/span&gt;&lt;/span&gt;&lt;/font&gt;&lt;/font&gt;&lt;/p&gt; &lt;p style="margin: 0in 0in 0pt" class="MsoNormal"&gt;&lt;span style="mso-ansi-language: ru" lang="RU"&gt;&lt;o:p&gt;&lt;font size="3" face="Calibri"&gt;&amp;nbsp;&lt;/font&gt;&lt;/o:p&gt;&lt;/span&gt;&lt;/p&gt; &lt;p style="margin: 0in 0in 0pt" class="MsoNormal"&gt;&lt;span style="font-family: 'Courier New'"&gt;&lt;font size="3"&gt;tracerpt -rt SqlDataCollector -o c:\Temp\SqlDataCollector.xml -of XML&lt;o:p&gt;&lt;/o:p&gt;&lt;/font&gt;&lt;/span&gt;&lt;/p&gt; &lt;p style="margin: 0in 0in 0pt" class="MsoNormal"&gt;&lt;o:p&gt;&lt;font size="3" face="Calibri"&gt;&amp;nbsp;&lt;/font&gt;&lt;/o:p&gt;&lt;/p&gt; &lt;p style="margin: 0in 0in 0pt" class="MsoNormal"&gt;&lt;a href="http://blogs.msdn.com/blogfiles/alexejs/WindowsLiveWriter/SQLServerETW.4_8E62/image_9.png"&gt;&lt;img style="border-bottom: 0px; border-left: 0px; display: inline; border-top: 0px; border-right: 0px" title="image" border="0" alt="image" src="http://blogs.msdn.com/blogfiles/alexejs/WindowsLiveWriter/SQLServerETW.4_8E62/image_thumb_3.png" width="610" height="181"&gt;&lt;/a&gt; &lt;/p&gt; &lt;p style="margin: 0in 0in 0pt" class="MsoNormal"&gt;&lt;font size="3"&gt;&lt;font face="Calibri"&gt;&lt;span style="mso-no-proof: yes"&gt;&lt;v:shape style="width: 380.25pt; height: 110.25pt; visibility: visible; mso-wrap-style: square" id="Picture_x0020_2" type="#_x0000_t75" o:spid="_x0000_i1025"&gt;&lt;v:imagedata o:title="" src="file:///C:\Users\ADMINI~1\AppData\Local\Temp\1\msohtmlclip1\01\clip_image003.png"&gt;&lt;/v:imagedata&gt;&lt;/v:shape&gt;&lt;/span&gt;&lt;span style="mso-ansi-language: ru" lang="RU"&gt;&lt;o:p&gt;&lt;/o:p&gt;&lt;/span&gt;&lt;/font&gt;&lt;/font&gt;&lt;/p&gt; &lt;p style="margin: 0in 0in 0pt" class="MsoNormal"&gt;&lt;span style="mso-ansi-language: ru" lang="RU"&gt;&lt;font size="3"&gt;&lt;font face="Calibri"&gt;Рис.3&lt;o:p&gt;&lt;/o:p&gt;&lt;/font&gt;&lt;/font&gt;&lt;/span&gt;&lt;/p&gt; &lt;p style="margin: 0in 0in 0pt" class="MsoNormal"&gt;&lt;span style="mso-ansi-language: ru" lang="RU"&gt;&lt;o:p&gt;&lt;font size="3" face="Calibri"&gt;&amp;nbsp;&lt;/font&gt;&lt;/o:p&gt;&lt;/span&gt;&lt;/p&gt; &lt;p style="margin: 0in 0in 0pt" class="MsoNormal"&gt;&lt;font size="3"&gt;&lt;font face="Calibri"&gt;&lt;span style="mso-ansi-language: ru" lang="RU"&gt;Образуется файл &lt;/span&gt;c&lt;span style="mso-ansi-language: ru" lang="RU"&gt;:\&lt;/span&gt;Temp&lt;span style="mso-ansi-language: ru" lang="RU"&gt;\&lt;/span&gt;SqlDataCollector&lt;span style="mso-ansi-language: ru" lang="RU"&gt;.&lt;/span&gt;xml&lt;span style="mso-ansi-language: ru" lang="RU"&gt;, который будет прирастать по мере поступления событий. Все время сбора он будет занят, открыть и прочесть его удастся по остановке (logman stop) сессии SqlDataCollector.&lt;o:p&gt;&lt;/o:p&gt;&lt;/span&gt;&lt;/font&gt;&lt;/font&gt;&lt;/p&gt; &lt;p style="margin: 0in 0in 0pt" class="MsoNormal"&gt;&lt;span style="mso-ansi-language: ru" lang="RU"&gt;&lt;o:p&gt;&lt;font size="3" face="Calibri"&gt;&amp;nbsp;&lt;/font&gt;&lt;/o:p&gt;&lt;/span&gt;&lt;/p&gt; &lt;p style="margin: 0in 0in 0pt" class="MsoNormal"&gt;&lt;span style="mso-ansi-language: ru" lang="RU"&gt;&lt;font size="3" face="Calibri"&gt;Написание собственного потребителя реального времени находится не слишком в струе светлых идей популяризации и продвижения .NET. Если провайдера ETW худо-бедно можно изобразить .NET-средствами, как мы видели в &lt;/font&gt;&lt;/span&gt;&lt;a href="http://blogs.msdn.com/alexejs/archive/2009/09/06/sql-server-etw-3.aspx"&gt;&lt;span style="mso-ansi-language: ru" lang="RU"&gt;&lt;font size="3" face="Calibri"&gt;предыдущем посте&lt;/font&gt;&lt;/span&gt;&lt;/a&gt;&lt;span style="mso-ansi-language: ru" lang="RU"&gt;&lt;font size="3" face="Calibri"&gt;, до потребителя managed world еще, увы, не добрался.&lt;span style="mso-spacerun: yes"&gt;&amp;nbsp; &lt;/span&gt;Например, вот примерный &lt;/font&gt;&lt;/span&gt;&lt;a href="http://blogs.iis.net/eokim/archive/2009/05/15/consume-iis-etw-tracing.aspx"&gt;&lt;span style="mso-ansi-language: ru" lang="RU"&gt;&lt;font size="3" face="Calibri"&gt;пример&lt;/font&gt;&lt;/span&gt;&lt;/a&gt;&lt;span style="mso-ansi-language: ru" lang="RU"&gt;&lt;font size="3"&gt;&lt;font face="Calibri"&gt; примеривания потребителя применительно к событиям IIS. &lt;o:p&gt;&lt;/o:p&gt;&lt;/font&gt;&lt;/font&gt;&lt;/span&gt;&lt;/p&gt; &lt;p style="margin: 0in 0in 0pt" class="MsoNormal"&gt;&lt;span style="mso-ansi-language: ru" lang="RU"&gt;&lt;font size="3" face="Calibri"&gt;Разумеется, со временем нашлись добрые люди, написавшие .NET-обертку вокруг native API и Сшных вызовов, чтобы потреблять события ETWшной сессии из VB.NET и С#. Образцы народного творчества можно найти в &lt;/font&gt;&lt;/span&gt;&lt;a href="http://blogs.msdn.com/danielvl/archive/2009/02/02/how-to-consume-etw-events-from-c.aspx"&gt;&lt;span style="mso-ansi-language: ru" lang="RU"&gt;&lt;font size="3" face="Calibri"&gt;блогах&lt;/font&gt;&lt;/span&gt;&lt;/a&gt;&lt;span style="mso-ansi-language: ru" lang="RU"&gt;&lt;font size="3" face="Calibri"&gt; и на &lt;/font&gt;&lt;/span&gt;&lt;a href="http://www.codeplex.com/NTrace"&gt;&lt;span style="mso-ansi-language: ru" lang="RU"&gt;&lt;font size="3" face="Calibri"&gt;кодплексе&lt;/font&gt;&lt;/span&gt;&lt;/a&gt;&lt;font size="3"&gt;&lt;font face="Calibri"&gt;&lt;span style="mso-ansi-language: ru" lang="RU"&gt;. Словом, интеграция ETW c .NET здесь на том же уровне, что и при создании провайдера на основе манифеста. Наверное, в&lt;span style="mso-spacerun: yes"&gt;&amp;nbsp; &lt;/span&gt;.NET когда-нибудь появится нормальная поддержка ETW, поскольку это актуальная перспективная технология integrated throughout Windows, &lt;/span&gt;offering&lt;span style="mso-ansi-language: ru"&gt; &lt;/span&gt;higher&lt;span style="mso-ansi-language: ru"&gt; &lt;/span&gt;performance&lt;span style="mso-ansi-language: ru" lang="RU"&gt;, &lt;/span&gt;flexibility&lt;span style="mso-ansi-language: ru" lang="RU"&gt;, &lt;/span&gt;zero&lt;span style="mso-ansi-language: ru" lang="RU"&gt;-&lt;/span&gt;config&lt;span style="mso-ansi-language: ru"&gt; &lt;/span&gt;tracing&lt;span style="mso-ansi-language: ru"&gt; &lt;/span&gt;and&lt;span style="mso-ansi-language: ru"&gt; &lt;/span&gt;a&lt;span style="mso-ansi-language: ru"&gt; &lt;/span&gt;lot&lt;span style="mso-ansi-language: ru"&gt; &lt;/span&gt;of&lt;span style="mso-ansi-language: ru"&gt; &lt;/span&gt;other&lt;span style="mso-ansi-language: ru"&gt; &lt;/span&gt;advantages&lt;span style="mso-ansi-language: ru" lang="RU"&gt;. &lt;o:p&gt;&lt;/o:p&gt;&lt;/span&gt;&lt;/font&gt;&lt;/font&gt;&lt;/p&gt;&lt;img src="http://blogs.msdn.com/aggbug.aspx?PostID=9892089" width="1" height="1"&gt;</description></item><item><title>SQL Server и ETW. Ч.3</title><link>http://blogs.msdn.com/alexejs/archive/2009/09/06/sql-server-etw-3.aspx</link><pubDate>Sun, 06 Sep 2009 06:28:00 GMT</pubDate><guid isPermaLink="false">91d46819-8472-40ad-a661-2c78acb4018c:9891876</guid><dc:creator>alexejs</dc:creator><slash:comments>0</slash:comments><comments>http://blogs.msdn.com/alexejs/comments/9891876.aspx</comments><wfw:commentRss>http://blogs.msdn.com/alexejs/commentrss.aspx?PostID=9891876</wfw:commentRss><description>&lt;P style="MARGIN: 0in 0in 0pt" class=MsoNormal&gt;&lt;SPAN style="mso-ansi-language: ru" lang=RU&gt;&lt;FONT size=3 face=Calibri&gt;В конце &lt;/FONT&gt;&lt;/SPAN&gt;&lt;A href="http://blogs.msdn.com/alexejs/archive/2009/09/04/sql-server-etw-1.aspx" mce_href="http://blogs.msdn.com/alexejs/archive/2009/09/04/sql-server-etw-1.aspx"&gt;&lt;SPAN style="mso-ansi-language: ru" lang=RU&gt;&lt;FONT size=3 face=Calibri&gt;первой серии&lt;/FONT&gt;&lt;/SPAN&gt;&lt;/A&gt;&lt;SPAN style="mso-ansi-language: ru" lang=RU&gt;&lt;FONT size=3 face=Calibri&gt; говорилось, что, начиная с Висты, в ETW поддерживается мультиплексирование. Это очень позитивное нововведение, которым мы сейчас конкретно займемся. Еще в &lt;/FONT&gt;&lt;/SPAN&gt;&lt;A href="http://blogs.msdn.com/alexejs/archive/2009/07/25/1-2.aspx" mce_href="http://blogs.msdn.com/alexejs/archive/2009/07/25/1-2.aspx"&gt;&lt;SPAN style="mso-ansi-language: ru" lang=RU&gt;&lt;FONT size=3 face=Calibri&gt;посте про SQL Profiler&lt;/FONT&gt;&lt;/SPAN&gt;&lt;/A&gt;&lt;SPAN style="mso-ansi-language: ru" lang=RU&gt;&lt;FONT size=3 face=Calibri&gt; я говорил о ценности консолидированной картины мира, когда мы сводили воедино профайлерную трассу с графиками Performance Monitor. Продолжу развивать эту мысль. Ясно, что настройка и отладка сложного многокомпонентного приложения - процесс нетривиальный.&lt;SPAN style="mso-spacerun: yes"&gt;&amp;nbsp; &lt;/SPAN&gt;Он становится еще нетривиальней, если каждая компонента пишет информацию о ходе своей работы в собственный журнал, и эти журналы затем приходится состыковывать, чтобы понять последовательность действий в общем масштабе приложения: чем занималась компонента А, вызвавшая компоненту Б, и компонента Б, вызвавшая компоненту В, прежде чем в компоненте В вылезла какая-нибудь бякость. В особенности если учесть, что А, Б, В могли быть разработаны независимо.&amp;nbsp;Йа нопешу афегительно сложное преложенее, которое обращается к SQL Server, и сведу события от них обоих в единую трассу. В сценарии будут участвовать два ETW-провайдера: штатный SQL Serverный MSSQLServer Trace, который мы посмотрели во &lt;/FONT&gt;&lt;/SPAN&gt;&lt;A href="http://blogs.msdn.com/alexejs/archive/2009/09/04/sql-server-etw-2.aspx" mce_href="http://blogs.msdn.com/alexejs/archive/2009/09/04/sql-server-etw-2.aspx"&gt;&lt;SPAN style="mso-ansi-language: ru" lang=RU&gt;&lt;FONT size=3 face=Calibri&gt;второй серии&lt;/FONT&gt;&lt;/SPAN&gt;&lt;/A&gt;&lt;SPAN style="mso-ansi-language: ru" lang=RU&gt;&lt;FONT face=Calibri&gt;&lt;FONT size=3&gt;, и самопальный, задачей которого является трассировка кастомного клиентского приложения. Благодаря возможности мультиплексирования они будут шарить одну ETWшную сессию. Для начала стоит изобразить кастомный провайдер.&lt;?xml:namespace prefix = o ns = "urn:schemas-microsoft-com:office:office" /&gt;&lt;o:p&gt;&lt;/o:p&gt;&lt;/FONT&gt;&lt;/FONT&gt;&lt;/SPAN&gt;&lt;/P&gt;
&lt;P style="MARGIN: 0in 0in 0pt" class=MsoNormal&gt;&lt;SPAN style="mso-ansi-language: ru" lang=RU&gt;&lt;o:p&gt;&lt;FONT size=3 face=Calibri&gt;&amp;nbsp;&lt;/FONT&gt;&lt;/o:p&gt;&lt;/SPAN&gt;&lt;/P&gt;
&lt;P style="MARGIN: 0in 0in 10pt" class=MsoNormal&gt;&lt;SPAN style="mso-ansi-language: ru" lang=RU&gt;&lt;FONT size=3 face=Calibri&gt;Программирование контроллера, провайдера и потребителя описывается в &lt;/FONT&gt;&lt;/SPAN&gt;&lt;A href="http://msdn.microsoft.com/en-us/library/aa364158(VS.85).aspx" mce_href="http://msdn.microsoft.com/en-us/library/aa364158(VS.85).aspx"&gt;&lt;SPAN style="mso-ansi-language: ru" lang=RU&gt;&lt;FONT size=3 face=Calibri&gt;документации MSDN&lt;/FONT&gt;&lt;/SPAN&gt;&lt;/A&gt;&lt;FONT face=Calibri&gt;&lt;FONT size=3&gt;&lt;SPAN style="mso-ansi-language: ru" lang=RU&gt;. Как&lt;/SPAN&gt;&lt;SPAN lang=RU&gt; &lt;/SPAN&gt;&lt;SPAN style="mso-ansi-language: ru" lang=RU&gt;говорилось&lt;/SPAN&gt;&lt;SPAN lang=RU&gt; &lt;/SPAN&gt;&lt;SPAN style="mso-ansi-language: ru" lang=RU&gt;в&lt;/SPAN&gt;&lt;SPAN lang=RU&gt; &lt;/SPAN&gt;&lt;/FONT&gt;&lt;/FONT&gt;&lt;A href="http://blogs.msdn.com/ryanmy/archive/2005/05/27/422772.aspx" mce_href="http://blogs.msdn.com/ryanmy/archive/2005/05/27/422772.aspx"&gt;&lt;FONT face=Calibri&gt;&lt;FONT size=3&gt;&lt;SPAN style="mso-ansi-language: ru" lang=RU&gt;одном&lt;/SPAN&gt;&lt;SPAN lang=RU&gt; &lt;/SPAN&gt;&lt;SPAN style="mso-ansi-language: ru" lang=RU&gt;посте&lt;/SPAN&gt;&lt;/FONT&gt;&lt;/FONT&gt;&lt;/A&gt;&lt;FONT size=3 face=Calibri&gt;, those whose curiosity has been piqued can jump into the MSDN documentation, which is not very good IMO but better than nothing. &lt;/FONT&gt;&lt;/P&gt;
&lt;P style="MARGIN: 0in 0in 10pt" class=MsoNormal&gt;&lt;FONT face=Calibri&gt;&lt;FONT size=3&gt;&lt;SPAN style="mso-ansi-language: ru" lang=RU&gt;Там описываются примеры с использованием native API. Как&lt;/SPAN&gt;&lt;SPAN lang=RU&gt; &lt;/SPAN&gt;&lt;SPAN style="mso-ansi-language: ru" lang=RU&gt;говорилось&lt;/SPAN&gt;&lt;SPAN lang=RU&gt; &lt;/SPAN&gt;&lt;SPAN style="mso-ansi-language: ru" lang=RU&gt;в&lt;/SPAN&gt;&lt;SPAN lang=RU&gt; &lt;/SPAN&gt;&lt;/FONT&gt;&lt;/FONT&gt;&lt;A href="http://blogs.msdn.com/matt_pietrek/archive/2004/09/16/230700.aspx" mce_href="http://blogs.msdn.com/matt_pietrek/archive/2004/09/16/230700.aspx"&gt;&lt;FONT face=Calibri&gt;&lt;FONT size=3&gt;&lt;SPAN style="mso-ansi-language: ru" lang=RU&gt;другом&lt;/SPAN&gt;&lt;SPAN lang=RU&gt; &lt;/SPAN&gt;&lt;SPAN style="mso-ansi-language: ru" lang=RU&gt;посте&lt;/SPAN&gt;&lt;/FONT&gt;&lt;/FONT&gt;&lt;/A&gt;&lt;FONT face=Calibri&gt;&lt;FONT size=3&gt;, The ETW API has been around for a number of years, so it’s implemented in unmanaged code. As I write this, there are no shipping managed libraries to make working with it simpler. Internally, various groups here are looking at the best way to make ETW a first class citizen in the managed world. &lt;SPAN style="mso-ansi-language: ru" lang=RU&gt;Это писалось 5 лет назад, и сейчас в графе .NET-поддержка можно ставить галочку. Не слишком жирную, though. Написание своего провайдера обрисовано в посте &lt;/SPAN&gt;&lt;/FONT&gt;&lt;/FONT&gt;&lt;A href="http://blogs.msdn.com/dixi/archive/2009/04/23/net-event-tracing-for-windows.aspx" mce_href="http://blogs.msdn.com/dixi/archive/2009/04/23/net-event-tracing-for-windows.aspx"&gt;&lt;SPAN style="mso-ansi-language: ru" lang=RU&gt;&lt;FONT size=3 face=Calibri&gt;.NET Event Tracing for Windows&lt;/FONT&gt;&lt;/SPAN&gt;&lt;/A&gt;&lt;FONT face=Calibri&gt;&lt;FONT size=3&gt;&lt;SPAN style="mso-ansi-language: ru" lang=RU&gt; от апреля нынешнего года. В нем предлагается следующая последовательность действий. Во-первых, надлежит создать манифест провайдера в виде &lt;/SPAN&gt;XML&lt;SPAN style="mso-ansi-language: ru" lang=RU&gt;-документа. Апологеты инволюции к иерархическим БД под названием XML в качестве одного из преимуществ приводят его наглядность по сравнению с проприетарными бинарными форматами и самоописательность. Прекрасно, значит, поглядев примеры в %MSSDK%\Samples\WinBase\Eventing, свой манифест они смогут составить самостоятельно. Для всех остальных в %MSSDK%\bin существует тула ecmangen.exe, способная генерить этот манифест. Не зная, что допускается в узлах по правилам игры, от наглядности XML мало прока. С таким же успехом генератор, в который это знание заложено, мог бы производить манифест в бинарном формате. Без разницы, как воплощать это знание: в виде элементов и атрибутов или побайтно отсчитывая с такой-то позиции по такую-то. Хотя нет, XML занимает больше места.&lt;o:p&gt;&lt;/o:p&gt;&lt;/SPAN&gt;&lt;/FONT&gt;&lt;/FONT&gt;&lt;/P&gt;
&lt;P style="MARGIN: 0in 0in 0pt" class=MsoNormal&gt;&lt;FONT face=Calibri&gt;&lt;FONT size=3&gt;&lt;SPAN style="mso-ansi-language: ru" lang=RU&gt;Во-вторых, на основе манифеста при помощи тулы mc.exe (&lt;/SPAN&gt;Message&lt;SPAN style="mso-ansi-language: ru"&gt; &lt;/SPAN&gt;Compiler&lt;SPAN style="mso-ansi-language: ru" lang=RU&gt;, также входит в &lt;/SPAN&gt;SDK&lt;SPAN style="mso-ansi-language: ru" lang=RU&gt;)&lt;SPAN style="mso-spacerun: yes"&gt;&amp;nbsp; &lt;/SPAN&gt;приготовляется 4 файла (временный, .&lt;/SPAN&gt;bin&lt;SPAN style="mso-ansi-language: ru" lang=RU&gt;, .&lt;/SPAN&gt;h&lt;SPAN style="mso-ansi-language: ru" lang=RU&gt;, .&lt;/SPAN&gt;rc&lt;SPAN style="mso-ansi-language: ru" lang=RU&gt;), из которых существенным в данном случае является ресурсный. В-третьих, берется &lt;/SPAN&gt;rc&lt;SPAN style="mso-ansi-language: ru" lang=RU&gt;.&lt;/SPAN&gt;exe&lt;SPAN style="mso-ansi-language: ru"&gt; &lt;SPAN lang=RU&gt;(&lt;/SPAN&gt;&lt;/SPAN&gt;Resource&lt;SPAN style="mso-ansi-language: ru"&gt; &lt;/SPAN&gt;Compiler&lt;SPAN style="mso-ansi-language: ru" lang=RU&gt;, также должен лежать в &lt;/SPAN&gt;C&lt;SPAN style="mso-ansi-language: ru" lang=RU&gt;:\&lt;/SPAN&gt;Program&lt;SPAN style="mso-ansi-language: ru"&gt; &lt;/SPAN&gt;Files&lt;SPAN style="mso-ansi-language: ru" lang=RU&gt;\&lt;/SPAN&gt;Microsoft&lt;SPAN style="mso-ansi-language: ru"&gt; &lt;/SPAN&gt;SDKs&lt;SPAN style="mso-ansi-language: ru" lang=RU&gt;\&lt;/SPAN&gt;Windows&lt;SPAN style="mso-ansi-language: ru" lang=RU&gt;\&lt;/SPAN&gt;v&lt;SPAN style="mso-ansi-language: ru" lang=RU&gt;6.0&lt;/SPAN&gt;A&lt;SPAN style="mso-ansi-language: ru" lang=RU&gt;\&lt;/SPAN&gt;bin&lt;SPAN style="mso-ansi-language: ru" lang=RU&gt;), при помощи которого из .rc файла делается ресурс .res. Ресурс затем вставляется в Project Properties вижуал студийного проекта, что образует класс с именем манифеста, используя который в коде, можно инициализировать и отправлять события. Все просто, если не считать, что .NET здесь несколько притянут за уши. Искреннее отношение человека к данному процессу можно почитать &lt;/SPAN&gt;&lt;/FONT&gt;&lt;/FONT&gt;&lt;A href="http://www.atrevido.net/blog/CommentView,guid,1b0c68ce-d168-4210-86fb-4f2b2126bfc0.aspx" mce_href="http://www.atrevido.net/blog/CommentView,guid,1b0c68ce-d168-4210-86fb-4f2b2126bfc0.aspx"&gt;&lt;SPAN style="mso-ansi-language: ru" lang=RU&gt;&lt;FONT size=3 face=Calibri&gt;здесь&lt;/FONT&gt;&lt;/SPAN&gt;&lt;/A&gt;&lt;SPAN style="mso-ansi-language: ru" lang=RU&gt;&lt;FONT face=Calibri&gt;&lt;FONT size=3&gt;. &lt;o:p&gt;&lt;/o:p&gt;&lt;/FONT&gt;&lt;/FONT&gt;&lt;/SPAN&gt;&lt;/P&gt;
&lt;P style="MARGIN: 0in 0in 0pt" class=MsoNormal&gt;&lt;SPAN style="mso-ansi-language: ru" lang=RU&gt;&lt;o:p&gt;&lt;FONT size=3 face=Calibri&gt;&amp;nbsp;&lt;/FONT&gt;&lt;/o:p&gt;&lt;/SPAN&gt;&lt;/P&gt;
&lt;P style="MARGIN: 0in 0in 0pt" class=MsoNormal&gt;&lt;SPAN style="mso-ansi-language: ru" lang=RU&gt;&lt;FONT size=3 face=Calibri&gt;Сергей Мелещук в своем блоге (&lt;/FONT&gt;&lt;/SPAN&gt;&lt;A href="http://blogs.msdn.com/sergeim/archive/2008/12/10/how-to-do-etw-logging-from-net-application.aspx" mce_href="http://blogs.msdn.com/sergeim/archive/2008/12/10/how-to-do-etw-logging-from-net-application.aspx"&gt;&lt;FONT size=3 face=Calibri&gt;How&lt;SPAN style="mso-ansi-language: ru"&gt; &lt;/SPAN&gt;to&lt;SPAN style="mso-ansi-language: ru"&gt; &lt;/SPAN&gt;do&lt;SPAN style="mso-ansi-language: ru"&gt; &lt;/SPAN&gt;ETW&lt;SPAN style="mso-ansi-language: ru"&gt; &lt;/SPAN&gt;logging&lt;SPAN style="mso-ansi-language: ru"&gt; &lt;/SPAN&gt;from&lt;SPAN style="mso-ansi-language: ru" lang=RU&gt; .&lt;/SPAN&gt;NET&lt;SPAN style="mso-ansi-language: ru"&gt; &lt;/SPAN&gt;application&lt;/FONT&gt;&lt;/A&gt;&lt;FONT face=Calibri&gt;&lt;FONT size=3&gt;&lt;SPAN style="mso-ansi-language: ru" lang=RU&gt;) приводит другой способ генерации событий из .NET. Он не рассматривает задачи создать произвольный собственный ETW-провайдер с нуля при помощи манифеста и класса System.Diagnostics.Eventing.EventProvider. В System.Diagnostics имеется класс TraceSource, который позволяет писать из приложения сообщения трассировки в разные места. Место определяется абстрактным классом TraceListener, который в .NET 2.0 воплощался в ConsoleTraceListener - вывод отладочных сообщений в консоль, TextWriterTraceListener - в текстовый файл, XmlWriterTraceListener - в XML, &lt;/SPAN&gt;EventLogTraceListener&lt;SPAN style="mso-ansi-language: ru" lang=RU&gt; - в журнал Windows. В 3.5 к ним добавился EventProviderTraceListener, направляющий отладочные сообщения в ETW. Добавление такого слушателя автоматически создает новый ETW-провайдер, хотя и не позволяет такой полноты контроля над его обликом, как в первом случае. Я взял за основу пример Сергея и немного его модифицировал применительно к нашему сценарию.&lt;o:p&gt;&lt;/o:p&gt;&lt;/SPAN&gt;&lt;/FONT&gt;&lt;/FONT&gt;&lt;/P&gt;
&lt;P style="MARGIN: 0in 0in 0pt" class=MsoNormal&gt;&lt;SPAN style="mso-ansi-language: ru" lang=RU&gt;&lt;o:p&gt;&lt;FONT size=3 face=Calibri&gt;&amp;nbsp;&lt;/FONT&gt;&lt;/o:p&gt;&lt;/SPAN&gt;&lt;/P&gt;
&lt;P style="MARGIN: 0in 0in 0pt" class=MsoNormal&gt;&lt;SPAN style="mso-ansi-language: ru" lang=RU&gt;&lt;FONT face=Calibri&gt;&lt;FONT size=3&gt;Удалим для чистоты эксперимента созданный в первой серии SqlDataCollector: &lt;o:p&gt;&lt;/o:p&gt;&lt;/FONT&gt;&lt;/FONT&gt;&lt;/SPAN&gt;&lt;/P&gt;
&lt;P style="MARGIN: 0in 0in 0pt" class=MsoNormal&gt;&lt;SPAN style="mso-ansi-language: ru" lang=RU&gt;&lt;o:p&gt;&lt;FONT size=3 face=Calibri&gt;&amp;nbsp;&lt;/FONT&gt;&lt;/o:p&gt;&lt;/SPAN&gt;&lt;/P&gt;
&lt;P style="MARGIN: 0in 0in 0pt" class=MsoNormal&gt;&lt;SPAN style="mso-ansi-language: ru" lang=RU&gt;&lt;o:p&gt;&lt;A href="http://blogs.msdn.com/blogfiles/alexejs/WindowsLiveWriter/SQLServerETW.3_6AFD/image001_2.png" mce_href="http://blogs.msdn.com/blogfiles/alexejs/WindowsLiveWriter/SQLServerETW.3_6AFD/image001_2.png"&gt;&lt;IMG style="BORDER-BOTTOM: 0px; BORDER-LEFT: 0px; DISPLAY: inline; BORDER-TOP: 0px; BORDER-RIGHT: 0px" title=image001 border=0 alt=image001 src="http://blogs.msdn.com/blogfiles/alexejs/WindowsLiveWriter/SQLServerETW.3_6AFD/image001_thumb.png" width=545 height=451 mce_src="http://blogs.msdn.com/blogfiles/alexejs/WindowsLiveWriter/SQLServerETW.3_6AFD/image001_thumb.png"&gt;&lt;/A&gt; &lt;/o:p&gt;&lt;/SPAN&gt;&lt;/P&gt;
&lt;P style="MARGIN: 0in 0in 0pt" class=MsoNormal&gt;&lt;SPAN style="mso-no-proof: yes"&gt;&lt;FONT face=Calibri&gt;&lt;FONT size=3&gt;&lt;?xml:namespace prefix = v ns = "urn:schemas-microsoft-com:vml" /&gt;&lt;v:shapetype id=_x0000_t75 coordsize="21600,21600" o:spt="75" o:preferrelative="t" path="m@4@5l@4@11@9@11@9@5xe" filled="f" stroked="f"&gt;&lt;v:stroke joinstyle="miter"&gt;&lt;/v:stroke&gt;&lt;v:formulas&gt;&lt;v:f eqn="if lineDrawn pixelLineWidth 0"&gt;&lt;/v:f&gt;&lt;v:f eqn="sum @0 1 0"&gt;&lt;/v:f&gt;&lt;v:f eqn="sum 0 0 @1"&gt;&lt;/v:f&gt;&lt;v:f eqn="prod @2 1 2"&gt;&lt;/v:f&gt;&lt;v:f eqn="prod @3 21600 pixelWidth"&gt;&lt;/v:f&gt;&lt;v:f eqn="prod @3 21600 pixelHeight"&gt;&lt;/v:f&gt;&lt;v:f eqn="sum @0 0 1"&gt;&lt;/v:f&gt;&lt;v:f eqn="prod @6 1 2"&gt;&lt;/v:f&gt;&lt;v:f eqn="prod @7 21600 pixelWidth"&gt;&lt;/v:f&gt;&lt;v:f eqn="sum @8 21600 0"&gt;&lt;/v:f&gt;&lt;v:f eqn="prod @7 21600 pixelHeight"&gt;&lt;/v:f&gt;&lt;v:f eqn="sum @10 21600 0"&gt;&lt;/v:f&gt;&lt;/v:formulas&gt;&lt;v:path o:extrusionok="f" gradientshapeok="t" o:connecttype="rect"&gt;&lt;/v:path&gt;&lt;o:lock v:ext="edit" aspectratio="t"&gt;&lt;/o:lock&gt;&lt;/v:shapetype&gt;&lt;v:shape style="WIDTH: 327.75pt; HEIGHT: 270pt; VISIBILITY: visible; mso-wrap-style: square" id=Picture_x0020_1 type="#_x0000_t75" o:spid="_x0000_i1030"&gt;&lt;v:imagedata src="file:///C:\Users\ADMINI~1\AppData\Local\Temp\1\msohtmlclip1\01\clip_image001.png" o:title="" mce_src="file:///C:\Users\ADMINI~1\AppData\Local\Temp\1\msohtmlclip1\01\clip_image001.png"&gt;&lt;/v:imagedata&gt;&lt;/v:shape&gt;&lt;/FONT&gt;&lt;/FONT&gt;&lt;/SPAN&gt;&lt;/P&gt;
&lt;P style="MARGIN: 0in 0in 0pt" class=MsoNormal&gt;&lt;FONT size=3 face=Calibri&gt;Рис.1&lt;/FONT&gt;&lt;/P&gt;
&lt;P style="MARGIN: 0in 0in 0pt" class=MsoNormal&gt;&lt;SPAN style="mso-ansi-language: ru" lang=RU&gt;&lt;o:p&gt;&lt;FONT size=3 face=Calibri&gt;&amp;nbsp;&lt;/FONT&gt;&lt;/o:p&gt;&lt;/SPAN&gt;&lt;/P&gt;
&lt;P style="MARGIN: 0in 0in 0pt" class=MsoNormal&gt;&lt;SPAN style="mso-ansi-language: ru" lang=RU&gt;&lt;FONT face=Calibri&gt;&lt;FONT size=3&gt;Создадим каким-либо способом новый гуид. В моем случае это получился {4E7F098A-3E72-4D5B-9EA3-1B41A83527B0}.&lt;o:p&gt;&lt;/o:p&gt;&lt;/FONT&gt;&lt;/FONT&gt;&lt;/SPAN&gt;&lt;/P&gt;
&lt;P style="MARGIN: 0in 0in 0pt" class=MsoNormal&gt;&lt;FONT face=Calibri&gt;&lt;FONT size=3&gt;&lt;SPAN style="mso-no-proof: yes"&gt;&lt;v:shape style="WIDTH: 484.5pt; HEIGHT: 259.5pt; VISIBILITY: visible; mso-wrap-style: square" id=Picture_x0020_2 type="#_x0000_t75" o:spid="_x0000_i1029"&gt;&lt;v:imagedata src="file:///C:\Users\ADMINI~1\AppData\Local\Temp\1\msohtmlclip1\01\clip_image002.png" o:title="" mce_src="file:///C:\Users\ADMINI~1\AppData\Local\Temp\1\msohtmlclip1\01\clip_image002.png"&gt;&lt;/v:imagedata&gt;&lt;/v:shape&gt;&lt;/SPAN&gt;&lt;SPAN style="mso-ansi-language: ru" lang=RU&gt;&lt;o:p&gt;&lt;/o:p&gt;&lt;/SPAN&gt;&lt;/FONT&gt;&lt;/FONT&gt;&lt;/P&gt;
&lt;P style="MARGIN: 0in 0in 0pt" class=MsoNormal&gt;&lt;SPAN style="mso-ansi-language: ru" lang=RU&gt;&lt;FONT face=Calibri&gt;&lt;FONT size=3&gt;&lt;/FONT&gt;&lt;/FONT&gt;&lt;/SPAN&gt;&amp;nbsp;&lt;/P&gt;
&lt;P style="MARGIN: 0in 0in 0pt" class=MsoNormal&gt;&lt;SPAN style="mso-ansi-language: ru" lang=RU&gt;&lt;FONT face=Calibri&gt;&lt;FONT size=3&gt;&lt;A href="http://blogs.msdn.com/blogfiles/alexejs/WindowsLiveWriter/SQLServerETW.3_6AFD/image003_2.png" mce_href="http://blogs.msdn.com/blogfiles/alexejs/WindowsLiveWriter/SQLServerETW.3_6AFD/image003_2.png"&gt;&lt;IMG style="BORDER-BOTTOM: 0px; BORDER-LEFT: 0px; DISPLAY: inline; BORDER-TOP: 0px; BORDER-RIGHT: 0px" title=image003 border=0 alt=image003 src="http://blogs.msdn.com/blogfiles/alexejs/WindowsLiveWriter/SQLServerETW.3_6AFD/image003_thumb.png" width=816 height=441 mce_src="http://blogs.msdn.com/blogfiles/alexejs/WindowsLiveWriter/SQLServerETW.3_6AFD/image003_thumb.png"&gt;&lt;/A&gt; &lt;/FONT&gt;&lt;/FONT&gt;&lt;/SPAN&gt;&lt;/P&gt;
&lt;P style="MARGIN: 0in 0in 0pt" class=MsoNormal&gt;&lt;SPAN style="mso-ansi-language: ru" lang=RU&gt;&lt;FONT face=Calibri&gt;&lt;FONT size=3&gt;Рис.2&lt;o:p&gt;&lt;/o:p&gt;&lt;/FONT&gt;&lt;/FONT&gt;&lt;/SPAN&gt;&lt;/P&gt;
&lt;P style="MARGIN: 0in 0in 0pt" class=MsoNormal&gt;&lt;SPAN style="mso-ansi-language: ru" lang=RU&gt;&lt;o:p&gt;&lt;FONT size=3 face=Calibri&gt;&amp;nbsp;&lt;/FONT&gt;&lt;/o:p&gt;&lt;/SPAN&gt;&lt;/P&gt;
&lt;P style="MARGIN: 0in 0in 0pt" class=MsoNormal&gt;&lt;SPAN style="mso-ansi-language: ru" lang=RU&gt;&lt;FONT face=Calibri&gt;&lt;FONT size=3&gt;Создадим текстовый файл c:\Temp\SqlDataCollector.cfg, куда напишем следующие две строчки:&lt;o:p&gt;&lt;/o:p&gt;&lt;/FONT&gt;&lt;/FONT&gt;&lt;/SPAN&gt;&lt;/P&gt;
&lt;P style="MARGIN: 0in 0in 0pt" class=MsoNormal&gt;&lt;SPAN style="mso-ansi-language: ru" lang=RU&gt;&lt;o:p&gt;&lt;FONT size=3 face=Calibri&gt;&amp;nbsp;&lt;/FONT&gt;&lt;/o:p&gt;&lt;/SPAN&gt;&lt;/P&gt;
&lt;P style="MARGIN: 0in 0in 0pt" class=MsoNormal&gt;&lt;SPAN style="mso-ansi-language: ru" lang=RU&gt;&lt;FONT face=Calibri&gt;&lt;FONT size=3&gt;"MSSQLServer Trace" 6 0&lt;o:p&gt;&lt;/o:p&gt;&lt;/FONT&gt;&lt;/FONT&gt;&lt;/SPAN&gt;&lt;/P&gt;
&lt;P style="MARGIN: 0in 0in 0pt" class=MsoNormal&gt;&lt;FONT size=3 face=Calibri&gt;{4E7F098A-3E72-4D5B-9EA3-1B41A83527B0}&lt;/FONT&gt;&lt;/P&gt;
&lt;P style="MARGIN: 0in 0in 0pt" class=MsoNormal&gt;&lt;SPAN style="mso-ansi-language: ru" lang=RU&gt;&lt;o:p&gt;&lt;FONT size=3 face=Calibri&gt;&amp;nbsp;&lt;/FONT&gt;&lt;/o:p&gt;&lt;/SPAN&gt;&lt;/P&gt;
&lt;P style="MARGIN: 0in 0in 0pt" class=MsoNormal&gt;&lt;SPAN style="mso-ansi-language: ru" lang=RU&gt;&lt;o:p&gt;&lt;A href="http://blogs.msdn.com/blogfiles/alexejs/WindowsLiveWriter/SQLServerETW.3_6AFD/image005_2.png" mce_href="http://blogs.msdn.com/blogfiles/alexejs/WindowsLiveWriter/SQLServerETW.3_6AFD/image005_2.png"&gt;&lt;IMG style="BORDER-BOTTOM: 0px; BORDER-LEFT: 0px; DISPLAY: inline; BORDER-TOP: 0px; BORDER-RIGHT: 0px" title=image005 border=0 alt=image005 src="http://blogs.msdn.com/blogfiles/alexejs/WindowsLiveWriter/SQLServerETW.3_6AFD/image005_thumb.png" width=402 height=118 mce_src="http://blogs.msdn.com/blogfiles/alexejs/WindowsLiveWriter/SQLServerETW.3_6AFD/image005_thumb.png"&gt;&lt;/A&gt; &lt;/o:p&gt;&lt;/SPAN&gt;&lt;/P&gt;
&lt;P style="MARGIN: 0in 0in 0pt" class=MsoNormal&gt;&lt;FONT face=Calibri&gt;&lt;FONT size=3&gt;&lt;SPAN style="mso-no-proof: yes"&gt;&lt;v:shape style="WIDTH: 282.75pt; HEIGHT: 80.25pt; VISIBILITY: visible; mso-wrap-style: square" id=Picture_x0020_3 type="#_x0000_t75" o:spid="_x0000_i1028"&gt;&lt;v:imagedata src="file:///C:\Users\ADMINI~1\AppData\Local\Temp\1\msohtmlclip1\01\clip_image003.png" o:title="" mce_src="file:///C:\Users\ADMINI~1\AppData\Local\Temp\1\msohtmlclip1\01\clip_image003.png"&gt;&lt;/v:imagedata&gt;&lt;/v:shape&gt;&lt;/SPAN&gt;&lt;SPAN style="mso-ansi-language: ru" lang=RU&gt;&lt;o:p&gt;&lt;/o:p&gt;&lt;/SPAN&gt;&lt;/FONT&gt;&lt;/FONT&gt;&lt;/P&gt;
&lt;P style="MARGIN: 0in 0in 0pt" class=MsoNormal&gt;&lt;SPAN style="mso-ansi-language: ru" lang=RU&gt;&lt;FONT face=Calibri&gt;&lt;FONT size=3&gt;Рис.3&lt;o:p&gt;&lt;/o:p&gt;&lt;/FONT&gt;&lt;/FONT&gt;&lt;/SPAN&gt;&lt;/P&gt;
&lt;P style="MARGIN: 0in 0in 0pt" class=MsoNormal&gt;&lt;SPAN style="mso-ansi-language: ru" lang=RU&gt;&lt;o:p&gt;&lt;FONT size=3 face=Calibri&gt;&amp;nbsp;&lt;/FONT&gt;&lt;/o:p&gt;&lt;/SPAN&gt;&lt;/P&gt;
&lt;P style="MARGIN: 0in 0in 0pt" class=MsoNormal&gt;&lt;SPAN style="mso-ansi-language: ru" lang=RU&gt;&lt;FONT face=Calibri&gt;&lt;FONT size=3&gt;где вторая есть свежесозданный гуид.&lt;o:p&gt;&lt;/o:p&gt;&lt;/FONT&gt;&lt;/FONT&gt;&lt;/SPAN&gt;&lt;/P&gt;
&lt;P style="MARGIN: 0in 0in 0pt" class=MsoNormal&gt;&lt;SPAN style="mso-ansi-language: ru" lang=RU&gt;&lt;FONT face=Calibri&gt;&lt;FONT size=3&gt;Откроем окно командной строки и вобьем следующую команду. Сейчас поясню, что в ней к чему.&lt;o:p&gt;&lt;/o:p&gt;&lt;/FONT&gt;&lt;/FONT&gt;&lt;/SPAN&gt;&lt;/P&gt;
&lt;P style="MARGIN: 0in 0in 0pt" class=MsoNormal&gt;&lt;SPAN style="mso-ansi-language: ru" lang=RU&gt;&lt;o:p&gt;&lt;FONT size=3 face=Calibri&gt;&amp;nbsp;&lt;/FONT&gt;&lt;/o:p&gt;&lt;/SPAN&gt;&lt;/P&gt;
&lt;P style="MARGIN: 0in 0in 0pt" class=MsoNormal&gt;&lt;FONT size=3&gt;&lt;SPAN style="FONT-FAMILY: 'Courier New'"&gt;logman create trace AppDataCollector -o c:\Temp\SqlDataCollector.etl -pf c:\Temp\SqlDataCollector.cfg -ow --v&lt;/SPAN&gt;&lt;SPAN style="FONT-FAMILY: 'Courier New'; mso-ansi-language: ru" lang=RU&gt;&lt;o:p&gt;&lt;/o:p&gt;&lt;/SPAN&gt;&lt;/FONT&gt;&lt;/P&gt;
&lt;P style="MARGIN: 0in 0in 0pt" class=MsoNormal&gt;&lt;SPAN style="mso-ansi-language: ru" lang=RU&gt;&lt;FONT face=Calibri&gt;&lt;FONT size=3&gt;Скрипт 1&lt;o:p&gt;&lt;/o:p&gt;&lt;/FONT&gt;&lt;/FONT&gt;&lt;/SPAN&gt;&lt;/P&gt;
&lt;P style="MARGIN: 0in 0in 0pt" class=MsoNormal&gt;&lt;SPAN style="mso-ansi-language: ru" lang=RU&gt;&lt;o:p&gt;&lt;FONT size=3 face=Calibri&gt;&amp;nbsp;&lt;/FONT&gt;&lt;/o:p&gt;&lt;/SPAN&gt;&lt;/P&gt;
&lt;P style="MARGIN: 0in 0in 0pt" class=MsoNormal&gt;&lt;SPAN style="mso-ansi-language: ru" lang=RU&gt;&lt;FONT face=Calibri&gt;&lt;FONT size=3&gt;Logman create trace создает новый коллектор данных на основе одного или нескольких провайдеров данных. По условию задачи у нас должно быть два провайдера: MSSQLServer Trace и самопальный, пишущих в один файл. Если создавать два коллектора&lt;o:p&gt;&lt;/o:p&gt;&lt;/FONT&gt;&lt;/FONT&gt;&lt;/SPAN&gt;&lt;/P&gt;
&lt;P style="MARGIN: 0in 0in 0pt" class=MsoNormal&gt;&lt;SPAN style="mso-ansi-language: ru" lang=RU&gt;&lt;o:p&gt;&lt;FONT size=3 face=Calibri&gt;&amp;nbsp;&lt;/FONT&gt;&lt;/o:p&gt;&lt;/SPAN&gt;&lt;/P&gt;
&lt;P style="MARGIN: 0in 0in 0pt" class=MsoNormal&gt;&lt;FONT face=Calibri&gt;&lt;FONT size=3&gt;logman create trace &lt;SPAN style="mso-ansi-language: ru" lang=RU&gt;Коллектор&lt;/SPAN&gt;1 -o c:\Temp\SqlDataCollector.etl -&lt;SPAN style="mso-ansi-language: ru" lang=RU&gt;р&lt;/SPAN&gt;&lt;SPAN lang=RU&gt; &lt;/SPAN&gt;&lt;SPAN style="mso-ansi-language: ru" lang=RU&gt;Провайдер&lt;/SPAN&gt;1&lt;SPAN style="mso-ansi-language: ru" lang=RU&gt;&lt;o:p&gt;&lt;/o:p&gt;&lt;/SPAN&gt;&lt;/FONT&gt;&lt;/FONT&gt;&lt;/P&gt;
&lt;P style="MARGIN: 0in 0in 0pt" class=MsoNormal&gt;&lt;SPAN style="mso-ansi-language: ru" lang=RU&gt;&lt;FONT face=Calibri&gt;&lt;FONT size=3&gt;logman start Коллектор1&lt;o:p&gt;&lt;/o:p&gt;&lt;/FONT&gt;&lt;/FONT&gt;&lt;/SPAN&gt;&lt;/P&gt;
&lt;P style="MARGIN: 0in 0in 0pt" class=MsoNormal&gt;&lt;FONT size=3 face=Calibri&gt;logman create trace &lt;SPAN style="mso-ansi-language: ru" lang=RU&gt;Коллектор&lt;/SPAN&gt;2 -o c:\Temp\SqlDataCollector.etl -&lt;SPAN style="mso-ansi-language: ru" lang=RU&gt;р&lt;/SPAN&gt;&lt;SPAN lang=RU&gt; &lt;/SPAN&gt;&lt;SPAN style="mso-ansi-language: ru" lang=RU&gt;Провайдер&lt;/SPAN&gt;2&lt;/FONT&gt;&lt;/P&gt;
&lt;P style="MARGIN: 0in 0in 0pt" class=MsoNormal&gt;&lt;SPAN style="mso-ansi-language: ru" lang=RU&gt;&lt;FONT face=Calibri&gt;&lt;FONT size=3&gt;logman start Коллектор2&lt;o:p&gt;&lt;/o:p&gt;&lt;/FONT&gt;&lt;/FONT&gt;&lt;/SPAN&gt;&lt;/P&gt;
&lt;P style="MARGIN: 0in 0in 0pt" class=MsoNormal&gt;&lt;SPAN style="mso-ansi-language: ru" lang=RU&gt;&lt;o:p&gt;&lt;FONT size=3 face=Calibri&gt;&amp;nbsp;&lt;/FONT&gt;&lt;/o:p&gt;&lt;/SPAN&gt;&lt;/P&gt;
&lt;P style="MARGIN: 0in 0in 0pt" class=MsoNormal&gt;&lt;SPAN style="mso-ansi-language: ru" lang=RU&gt;&lt;FONT size=3 face=Calibri&gt;при старте второго возникнет ошибка, что файл занят, следовательно, нужно их сводить в один коллектор. Ключ -р, как можно посмотреть в logman create trace /?, позволяет задать только одного провайдера - A single Event Trace provider to enable. В случае нескольких их нужно прописывать в отдельном файле, который передается в ключе -pf. В нашем случае это c:\Temp\SqlDataCollector.cfg (Рис.3). Первая строчка инициализирует провайдер MSSQLServer Trace. Мы ее уже видели во &lt;/FONT&gt;&lt;A href="http://blogs.msdn.com/alexejs/archive/2009/09/04/sql-server-etw-2.aspx" mce_href="http://blogs.msdn.com/alexejs/archive/2009/09/04/sql-server-etw-2.aspx"&gt;&lt;FONT size=3 face=Calibri&gt;второй серии&lt;/FONT&gt;&lt;/A&gt;&lt;FONT size=3 face=Calibri&gt; (Скрипт 7). Вторая соответствует самопальному провайдеру. С ним дело обстоит чуть хитрее. В примере Сергея используется класс EventProviderTraceListener. Как говорится в &lt;/FONT&gt;&lt;A href="http://msdn.microsoft.com/ru-ru/library/system.diagnostics.eventing.eventprovidertracelistener.eventprovidertracelistener.aspx" mce_href="http://msdn.microsoft.com/ru-ru/library/system.diagnostics.eventing.eventprovidertracelistener.eventprovidertracelistener.aspx"&gt;&lt;FONT size=3 face=Calibri&gt;документации&lt;/FONT&gt;&lt;/A&gt;&lt;FONT face=Calibri&gt;&lt;FONT size=3&gt;, конструктор EventProviderTraceListener инициализирует новый экземпляр класса с помощью указанного идентификатора поставщика. Где ж его взять, коли поставщик еще не создан? Команда logman create trace ... -р Провайдер будет ругаться, если ей указать имя несуществующего провайдера. К счастью, если вместо имени подсунуть гуид, она поверит взаймы, что такой есть. Это может быть совершенно произвольный гуид. На рис.3 он передается во второй строчке. Ключ -ow говорит перезаписывать файл c:\Temp\SqlDataCollector.etl, ежели таковой уже имеется. Ключ --v отменяет действие ключа -v, чтобы файл выхлопа был один. Иначе он будет создавать SqlDataCollector_000001.etl, SqlDataCollector_000002.etl и т.д. Пускаем сессию сбора данных для свежесозданного коллектора&lt;o:p&gt;&lt;/o:p&gt;&lt;/FONT&gt;&lt;/FONT&gt;&lt;/SPAN&gt;&lt;/P&gt;
&lt;P style="MARGIN: 0in 0in 0pt" class=MsoNormal&gt;&lt;SPAN style="mso-ansi-language: ru" lang=RU&gt;&lt;o:p&gt;&lt;FONT size=3 face=Calibri&gt;&amp;nbsp;&lt;/FONT&gt;&lt;/o:p&gt;&lt;/SPAN&gt;&lt;/P&gt;
&lt;P style="MARGIN: 0in 0in 0pt" class=MsoNormal&gt;&lt;FONT size=3&gt;&lt;SPAN style="FONT-FAMILY: 'Courier New'"&gt;logman&lt;/SPAN&gt;&lt;SPAN style="FONT-FAMILY: 'Courier New'; mso-ansi-language: ru"&gt; &lt;/SPAN&gt;&lt;SPAN style="FONT-FAMILY: 'Courier New'"&gt;start&lt;/SPAN&gt;&lt;SPAN style="FONT-FAMILY: 'Courier New'; mso-ansi-language: ru"&gt; &lt;/SPAN&gt;&lt;SPAN style="FONT-FAMILY: 'Courier New'"&gt;AppDataCollector&lt;/SPAN&gt;&lt;SPAN style="FONT-FAMILY: 'Courier New'; mso-ansi-language: ru" lang=RU&gt;&lt;o:p&gt;&lt;/o:p&gt;&lt;/SPAN&gt;&lt;/FONT&gt;&lt;/P&gt;
&lt;P style="MARGIN: 0in 0in 0pt" class=MsoNormal&gt;&lt;SPAN style="mso-ansi-language: ru" lang=RU&gt;&lt;FONT size=3&gt;&lt;FONT face=Calibri&gt;Скрипт 2&lt;o:p&gt;&lt;/o:p&gt;&lt;/FONT&gt;&lt;/FONT&gt;&lt;/SPAN&gt;&lt;/P&gt;
&lt;P style="MARGIN: 0in 0in 0pt" class=MsoNormal&gt;&lt;SPAN style="mso-ansi-language: ru" lang=RU&gt;&lt;o:p&gt;&lt;FONT size=3 face=Calibri&gt;&amp;nbsp;&lt;/FONT&gt;&lt;/o:p&gt;&lt;/SPAN&gt;&lt;/P&gt;
&lt;P style="MARGIN: 0in 0in 0pt" class=MsoNormal&gt;&lt;SPAN style="mso-ansi-language: ru" lang=RU&gt;&lt;FONT size=3&gt;&lt;FONT face=Calibri&gt;и выполняем следующее консольное приложение. &lt;o:p&gt;&lt;/o:p&gt;&lt;/FONT&gt;&lt;/FONT&gt;&lt;/SPAN&gt;&lt;/P&gt;
&lt;P style="MARGIN: 0in 0in 0pt" class=MsoNormal&gt;&lt;SPAN style="mso-ansi-language: ru" lang=RU&gt;&lt;o:p&gt;&lt;FONT size=3 face=Calibri&gt;&amp;nbsp;&lt;/FONT&gt;&lt;/o:p&gt;&lt;/SPAN&gt;&lt;/P&gt;
&lt;P style="LINE-HEIGHT: normal; MARGIN: 0in 0in 0pt; mso-layout-grid-align: none" class=MsoNormal&gt;&lt;SPAN style="FONT-FAMILY: 'Courier New'; COLOR: blue; FONT-SIZE: 10pt; mso-no-proof: yes; mso-bidi-font-size: 11.0pt"&gt;using&lt;/SPAN&gt;&lt;SPAN style="FONT-FAMILY: 'Courier New'; FONT-SIZE: 10pt; mso-no-proof: yes; mso-bidi-font-size: 11.0pt"&gt; System;&lt;o:p&gt;&lt;/o:p&gt;&lt;/SPAN&gt;&lt;/P&gt;
&lt;P style="LINE-HEIGHT: normal; MARGIN: 0in 0in 0pt; mso-layout-grid-align: none" class=MsoNormal&gt;&lt;SPAN style="FONT-FAMILY: 'Courier New'; COLOR: blue; FONT-SIZE: 10pt; mso-no-proof: yes; mso-bidi-font-size: 11.0pt"&gt;using&lt;/SPAN&gt;&lt;SPAN style="FONT-FAMILY: 'Courier New'; FONT-SIZE: 10pt; mso-no-proof: yes; mso-bidi-font-size: 11.0pt"&gt; System.Diagnostics;&lt;o:p&gt;&lt;/o:p&gt;&lt;/SPAN&gt;&lt;/P&gt;
&lt;P style="LINE-HEIGHT: normal; MARGIN: 0in 0in 0pt; mso-layout-grid-align: none" class=MsoNormal&gt;&lt;SPAN style="FONT-FAMILY: 'Courier New'; COLOR: blue; FONT-SIZE: 10pt; mso-no-proof: yes; mso-bidi-font-size: 11.0pt"&gt;using&lt;/SPAN&gt;&lt;SPAN style="FONT-FAMILY: 'Courier New'; FONT-SIZE: 10pt; mso-no-proof: yes; mso-bidi-font-size: 11.0pt"&gt; System.Diagnostics.Eventing;&lt;o:p&gt;&lt;/o:p&gt;&lt;/SPAN&gt;&lt;/P&gt;
&lt;P style="LINE-HEIGHT: normal; MARGIN: 0in 0in 0pt; mso-layout-grid-align: none" class=MsoNormal&gt;&lt;SPAN style="FONT-FAMILY: 'Courier New'; COLOR: blue; FONT-SIZE: 10pt; mso-no-proof: yes; mso-bidi-font-size: 11.0pt"&gt;using&lt;/SPAN&gt;&lt;SPAN style="FONT-FAMILY: 'Courier New'; FONT-SIZE: 10pt; mso-no-proof: yes; mso-bidi-font-size: 11.0pt"&gt; System.Data.SqlClient;&lt;o:p&gt;&lt;/o:p&gt;&lt;/SPAN&gt;&lt;/P&gt;
&lt;P style="LINE-HEIGHT: normal; MARGIN: 0in 0in 0pt; mso-layout-grid-align: none" class=MsoNormal&gt;&lt;SPAN style="FONT-FAMILY: 'Courier New'; FONT-SIZE: 10pt; mso-no-proof: yes; mso-bidi-font-size: 11.0pt"&gt;&lt;o:p&gt;&amp;nbsp;&lt;/o:p&gt;&lt;/SPAN&gt;&lt;/P&gt;
&lt;P style="LINE-HEIGHT: normal; MARGIN: 0in 0in 0pt; mso-layout-grid-align: none" class=MsoNormal&gt;&lt;SPAN style="FONT-FAMILY: 'Courier New'; COLOR: blue; FONT-SIZE: 10pt; mso-no-proof: yes; mso-bidi-font-size: 11.0pt"&gt;class&lt;/SPAN&gt;&lt;SPAN style="FONT-FAMILY: 'Courier New'; FONT-SIZE: 10pt; mso-no-proof: yes; mso-bidi-font-size: 11.0pt"&gt; &lt;SPAN style="COLOR: #2b91af"&gt;Program&lt;o:p&gt;&lt;/o:p&gt;&lt;/SPAN&gt;&lt;/SPAN&gt;&lt;/P&gt;
&lt;P style="LINE-HEIGHT: normal; MARGIN: 0in 0in 0pt; mso-layout-grid-align: none" class=MsoNormal&gt;&lt;SPAN style="FONT-FAMILY: 'Courier New'; FONT-SIZE: 10pt; mso-no-proof: yes; mso-bidi-font-size: 11.0pt"&gt;{&lt;o:p&gt;&lt;/o:p&gt;&lt;/SPAN&gt;&lt;/P&gt;
&lt;P style="LINE-HEIGHT: normal; MARGIN: 0in 0in 0pt; mso-layout-grid-align: none" class=MsoNormal&gt;&lt;SPAN style="FONT-FAMILY: 'Courier New'; FONT-SIZE: 10pt; mso-no-proof: yes; mso-bidi-font-size: 11.0pt"&gt;&lt;SPAN style="mso-spacerun: yes"&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp; &lt;/SPAN&gt;&lt;SPAN style="COLOR: blue"&gt;private&lt;/SPAN&gt; &lt;SPAN style="COLOR: blue"&gt;static&lt;/SPAN&gt; &lt;SPAN style="COLOR: #2b91af"&gt;Guid&lt;/SPAN&gt; etwProviderId = &lt;SPAN style="COLOR: blue"&gt;new&lt;/SPAN&gt; &lt;SPAN style="COLOR: #2b91af"&gt;Guid&lt;/SPAN&gt;(&lt;SPAN style="COLOR: #a31515"&gt;"{4E7F098A-3E72-4D5B-9EA3-1B41A83527B0}"&lt;/SPAN&gt;);&lt;o:p&gt;&lt;/o:p&gt;&lt;/SPAN&gt;&lt;/P&gt;
&lt;P style="LINE-HEIGHT: normal; MARGIN: 0in 0in 0pt; mso-layout-grid-align: none" class=MsoNormal&gt;&lt;SPAN style="FONT-FAMILY: 'Courier New'; FONT-SIZE: 10pt; mso-no-proof: yes; mso-bidi-font-size: 11.0pt"&gt;&lt;SPAN style="mso-spacerun: yes"&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp; &lt;/SPAN&gt;&lt;SPAN style="COLOR: blue"&gt;private&lt;/SPAN&gt; &lt;SPAN style="COLOR: blue"&gt;static&lt;/SPAN&gt; &lt;SPAN style="COLOR: blue"&gt;string&lt;/SPAN&gt; etwProviderName = &lt;SPAN style="COLOR: #a31515"&gt;"AppDataCollector"&lt;/SPAN&gt;;&lt;o:p&gt;&lt;/o:p&gt;&lt;/SPAN&gt;&lt;/P&gt;
&lt;P style="LINE-HEIGHT: normal; MARGIN: 0in 0in 0pt; mso-layout-grid-align: none" class=MsoNormal&gt;&lt;SPAN style="FONT-FAMILY: 'Courier New'; FONT-SIZE: 10pt; mso-no-proof: yes; mso-bidi-font-size: 11.0pt"&gt;&lt;o:p&gt;&amp;nbsp;&lt;/o:p&gt;&lt;/SPAN&gt;&lt;/P&gt;
&lt;P style="LINE-HEIGHT: normal; MARGIN: 0in 0in 0pt; mso-layout-grid-align: none" class=MsoNormal&gt;&lt;SPAN style="FONT-FAMILY: 'Courier New'; FONT-SIZE: 10pt; mso-no-proof: yes; mso-bidi-font-size: 11.0pt"&gt;&lt;SPAN style="mso-spacerun: yes"&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp; &lt;/SPAN&gt;&lt;SPAN style="COLOR: blue"&gt;static&lt;/SPAN&gt; &lt;SPAN style="COLOR: blue"&gt;void&lt;/SPAN&gt; Main(&lt;SPAN style="COLOR: blue"&gt;string&lt;/SPAN&gt;[] args)&lt;o:p&gt;&lt;/o:p&gt;&lt;/SPAN&gt;&lt;/P&gt;
&lt;P style="LINE-HEIGHT: normal; MARGIN: 0in 0in 0pt; mso-layout-grid-align: none" class=MsoNormal&gt;&lt;SPAN style="FONT-FAMILY: 'Courier New'; FONT-SIZE: 10pt; mso-no-proof: yes; mso-bidi-font-size: 11.0pt"&gt;&lt;SPAN style="mso-spacerun: yes"&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp; &lt;/SPAN&gt;{&lt;o:p&gt;&lt;/o:p&gt;&lt;/SPAN&gt;&lt;/P&gt;
&lt;P style="LINE-HEIGHT: normal; MARGIN: 0in 0in 0pt; mso-layout-grid-align: none" class=MsoNormal&gt;&lt;SPAN style="FONT-FAMILY: 'Courier New'; FONT-SIZE: 10pt; mso-no-proof: yes; mso-bidi-font-size: 11.0pt"&gt;&lt;SPAN style="mso-spacerun: yes"&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp; &lt;/SPAN&gt;&lt;SPAN style="COLOR: #2b91af"&gt;EventProviderTraceListener&lt;/SPAN&gt; etwListener = &lt;SPAN style="COLOR: blue"&gt;new&lt;/SPAN&gt; &lt;SPAN style="COLOR: #2b91af"&gt;EventProviderTraceListener&lt;/SPAN&gt;(etwProviderId.ToString(), etwProviderName);&lt;o:p&gt;&lt;/o:p&gt;&lt;/SPAN&gt;&lt;/P&gt;
&lt;P style="LINE-HEIGHT: normal; MARGIN: 0in 0in 0pt; mso-layout-grid-align: none" class=MsoNormal&gt;&lt;SPAN style="FONT-FAMILY: 'Courier New'; FONT-SIZE: 10pt; mso-no-proof: yes; mso-bidi-font-size: 11.0pt"&gt;&lt;SPAN style="mso-spacerun: yes"&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp; &lt;/SPAN&gt;&lt;SPAN style="COLOR: #2b91af"&gt;TraceSource&lt;/SPAN&gt; ts = &lt;SPAN style="COLOR: blue"&gt;new&lt;/SPAN&gt; &lt;SPAN style="COLOR: #2b91af"&gt;TraceSource&lt;/SPAN&gt;(etwProviderName, &lt;SPAN style="COLOR: #2b91af"&gt;SourceLevels&lt;/SPAN&gt;.All);&lt;o:p&gt;&lt;/o:p&gt;&lt;/SPAN&gt;&lt;/P&gt;
&lt;P style="LINE-HEIGHT: normal; MARGIN: 0in 0in 0pt; mso-layout-grid-align: none" class=MsoNormal&gt;&lt;SPAN style="FONT-FAMILY: 'Courier New'; FONT-SIZE: 10pt; mso-no-proof: yes; mso-bidi-font-size: 11.0pt"&gt;&lt;SPAN style="mso-spacerun: yes"&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp; &lt;/SPAN&gt;ts.Listeners.Clear(); &lt;o:p&gt;&lt;/o:p&gt;&lt;/SPAN&gt;&lt;/P&gt;
&lt;P style="LINE-HEIGHT: normal; MARGIN: 0in 0in 0pt; mso-layout-grid-align: none" class=MsoNormal&gt;&lt;SPAN style="FONT-FAMILY: 'Courier New'; FONT-SIZE: 10pt; mso-no-proof: yes; mso-bidi-font-size: 11.0pt"&gt;&lt;SPAN style="mso-spacerun: yes"&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp; &lt;/SPAN&gt;ts.Listeners.Add(etwListener);&lt;o:p&gt;&lt;/o:p&gt;&lt;/SPAN&gt;&lt;/P&gt;
&lt;P style="LINE-HEIGHT: normal; MARGIN: 0in 0in 0pt; mso-layout-grid-align: none" class=MsoNormal&gt;&lt;SPAN style="FONT-FAMILY: 'Courier New'; FONT-SIZE: 10pt; mso-no-proof: yes; mso-bidi-font-size: 11.0pt"&gt;&lt;SPAN style="mso-spacerun: yes"&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp; &lt;/SPAN&gt;ts.TraceEvent(&lt;SPAN style="COLOR: #2b91af"&gt;TraceEventType&lt;/SPAN&gt;.Information | &lt;SPAN style="COLOR: #2b91af"&gt;TraceEventType&lt;/SPAN&gt;.Start, 0, &lt;SPAN style="COLOR: #a31515"&gt;"Поехали"&lt;/SPAN&gt;);&lt;o:p&gt;&lt;/o:p&gt;&lt;/SPAN&gt;&lt;/P&gt;
&lt;P style="LINE-HEIGHT: normal; MARGIN: 0in 0in 0pt; mso-layout-grid-align: none" class=MsoNormal&gt;&lt;SPAN style="FONT-FAMILY: 'Courier New'; FONT-SIZE: 10pt; mso-no-proof: yes; mso-bidi-font-size: 11.0pt"&gt;&lt;SPAN style="mso-spacerun: yes"&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp; &lt;/SPAN&gt;ts.TraceData(&lt;SPAN style="COLOR: #2b91af"&gt;TraceEventType&lt;/SPAN&gt;.Verbose, 0, &lt;SPAN style="COLOR: #2b91af"&gt;String&lt;/SPAN&gt;.Format(&lt;SPAN style="COLOR: #a31515"&gt;"Здравствуйте. Я - приложение {0}"&lt;/SPAN&gt;, System.Reflection.&lt;SPAN style="COLOR: #2b91af"&gt;Assembly&lt;/SPAN&gt;.GetEntryAssembly().Location));&lt;o:p&gt;&lt;/o:p&gt;&lt;/SPAN&gt;&lt;/P&gt;
&lt;P style="LINE-HEIGHT: normal; MARGIN: 0in 0in 0pt; mso-layout-grid-align: none" class=MsoNormal&gt;&lt;SPAN style="FONT-FAMILY: 'Courier New'; FONT-SIZE: 10pt; mso-no-proof: yes; mso-bidi-font-size: 11.0pt"&gt;&lt;SPAN style="mso-spacerun: yes"&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp; &lt;/SPAN&gt;&lt;SPAN style="COLOR: #2b91af"&gt;SqlConnection&lt;/SPAN&gt; cnn = &lt;SPAN style="COLOR: blue"&gt;new&lt;/SPAN&gt; &lt;SPAN style="COLOR: #2b91af"&gt;SqlConnection&lt;/SPAN&gt;(&lt;SPAN style="COLOR: #a31515"&gt;"server=localhost;database=TestFS;trusted_connection=true"&lt;/SPAN&gt;); cnn.Open();&lt;o:p&gt;&lt;/o:p&gt;&lt;/SPAN&gt;&lt;/P&gt;
&lt;P style="LINE-HEIGHT: normal; MARGIN: 0in 0in 0pt; mso-layout-grid-align: none" class=MsoNormal&gt;&lt;SPAN style="FONT-FAMILY: 'Courier New'; FONT-SIZE: 10pt; mso-no-proof: yes; mso-bidi-font-size: 11.0pt"&gt;&lt;SPAN style="mso-spacerun: yes"&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp; &lt;/SPAN&gt;&lt;SPAN style="COLOR: #2b91af"&gt;SqlCommand&lt;/SPAN&gt; cmd = &lt;SPAN style="COLOR: blue"&gt;new&lt;/SPAN&gt; &lt;SPAN style="COLOR: #2b91af"&gt;SqlCommand&lt;/SPAN&gt;(&lt;SPAN style="COLOR: #a31515"&gt;"exec sp_trace_generateevent @eventid = 82, @userinfo = N'Пользовательское событие №0', @userdata = 0x12345"&lt;/SPAN&gt;, cnn);&lt;o:p&gt;&lt;/o:p&gt;&lt;/SPAN&gt;&lt;/P&gt;
&lt;P style="LINE-HEIGHT: normal; MARGIN: 0in 0in 0pt; mso-layout-grid-align: none" class=MsoNormal&gt;&lt;SPAN style="FONT-FAMILY: 'Courier New'; FONT-SIZE: 10pt; mso-no-proof: yes; mso-bidi-font-size: 11.0pt"&gt;&lt;SPAN style="mso-spacerun: yes"&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp; &lt;/SPAN&gt;ts.TraceData(&lt;SPAN style="COLOR: #2b91af"&gt;TraceEventType&lt;/SPAN&gt;.Verbose, 0, &lt;SPAN style="COLOR: #2b91af"&gt;String&lt;/SPAN&gt;.Format(&lt;SPAN style="COLOR: #a31515"&gt;"Отправляю на SQL Server команду {0}"&lt;/SPAN&gt;, cmd.CommandText));&lt;o:p&gt;&lt;/o:p&gt;&lt;/SPAN&gt;&lt;/P&gt;
&lt;P style="LINE-HEIGHT: normal; MARGIN: 0in 0in 0pt; mso-layout-grid-align: none" class=MsoNormal&gt;&lt;SPAN style="FONT-FAMILY: 'Courier New'; FONT-SIZE: 10pt; mso-no-proof: yes; mso-bidi-font-size: 11.0pt"&gt;&lt;SPAN style="mso-spacerun: yes"&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp; &lt;/SPAN&gt;cmd.ExecuteNonQuery();&lt;o:p&gt;&lt;/o:p&gt;&lt;/SPAN&gt;&lt;/P&gt;
&lt;P style="LINE-HEIGHT: normal; MARGIN: 0in 0in 0pt; mso-layout-grid-align: none" class=MsoNormal&gt;&lt;SPAN style="FONT-FAMILY: 'Courier New'; FONT-SIZE: 10pt; mso-no-proof: yes; mso-bidi-font-size: 11.0pt"&gt;&lt;SPAN style="mso-spacerun: yes"&gt;&amp;nbsp;&lt;/SPAN&gt;&lt;SPAN style="mso-spacerun: yes"&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp; &lt;/SPAN&gt;ts.TraceInformation(&lt;SPAN style="COLOR: #a31515"&gt;"И смотрю, что из этого получилось"&lt;/SPAN&gt;);&lt;o:p&gt;&lt;/o:p&gt;&lt;/SPAN&gt;&lt;/P&gt;
&lt;P style="LINE-HEIGHT: normal; MARGIN: 0in 0in 0pt; mso-layout-grid-align: none" class=MsoNormal&gt;&lt;SPAN style="FONT-FAMILY: 'Courier New'; FONT-SIZE: 10pt; mso-no-proof: yes; mso-bidi-font-size: 11.0pt"&gt;&lt;SPAN style="mso-spacerun: yes"&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp; &lt;/SPAN&gt;cnn.Close(); ts.Close();&lt;o:p&gt;&lt;/o:p&gt;&lt;/SPAN&gt;&lt;/P&gt;
&lt;P style="LINE-HEIGHT: normal; MARGIN: 0in 0in 0pt; mso-layout-grid-align: none" class=MsoNormal&gt;&lt;SPAN style="FONT-FAMILY: 'Courier New'; FONT-SIZE: 10pt; mso-no-proof: yes; mso-bidi-font-size: 11.0pt"&gt;&lt;SPAN style="mso-spacerun: yes"&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp; &lt;/SPAN&gt;}&lt;o:p&gt;&lt;/o:p&gt;&lt;/SPAN&gt;&lt;/P&gt;
&lt;P style="LINE-HEIGHT: normal; MARGIN: 0in 0in 0pt; mso-layout-grid-align: none" class=MsoNormal&gt;&lt;SPAN style="FONT-FAMILY: 'Courier New'; FONT-SIZE: 10pt; mso-no-proof: yes; mso-bidi-font-size: 11.0pt"&gt;}&lt;o:p&gt;&lt;/o:p&gt;&lt;/SPAN&gt;&lt;/P&gt;
&lt;P style="MARGIN: 0in 0in 0pt" class=MsoNormal&gt;&lt;FONT face=Calibri&gt;&lt;FONT size=3&gt;&lt;SPAN style="mso-ansi-language: ru" lang=RU&gt;Скрипт&lt;/SPAN&gt; 3&lt;SPAN style="mso-ansi-language: ru" lang=RU&gt;&lt;o:p&gt;&lt;/o:p&gt;&lt;/SPAN&gt;&lt;/FONT&gt;&lt;/FONT&gt;&lt;/P&gt;
&lt;P style="MARGIN: 0in 0in 0pt" class=MsoNormal&gt;&lt;SPAN style="mso-ansi-language: ru" lang=RU&gt;&lt;o:p&gt;&lt;FONT size=3 face=Calibri&gt;&amp;nbsp;&lt;/FONT&gt;&lt;/o:p&gt;&lt;/SPAN&gt;&lt;/P&gt;
&lt;P style="MARGIN: 0in 0in 0pt" class=MsoNormal&gt;&lt;SPAN style="mso-ansi-language: ru" lang=RU&gt;&lt;FONT size=3 face=Calibri&gt;Это одновременно будет обращающийся к SQL Server клиент и сам себе режиссер, то есть ETW-провайдер. Все свои действия он протоколирует, посылая их в TraceSource. К любому TraceSource по умолчанию подстегивается консольный слушатель, нам он неинтересен, отсюда ts.Listeners.Clear(). Вместо него добавляется EventProviderTraceListener, отсылающий трассировку ETW-провайдеру, которого он сам же и создает. Единственно, мы говорим, чтобы он создал его с определенным гуидом, тем самым, который нам поверил в долг логман. Обращаю внимание, что это может быть совершенно произвольный гуид, потому что некоторые упорно выбирают {E13C0D23-CCBC-4E12-931B-D9CC2EEE27E4} (провайдер .NET Common Language Runtime). Не буду отвлекаться на рассказ про методы TraceEvent, TraceData и TraceInformation. Можно посмотреть в документации или в совершенно замечательном &lt;/FONT&gt;&lt;A href="http://www.grimes.demon.co.uk/workshops/InstrWSSix.htm" mce_href="http://www.grimes.demon.co.uk/workshops/InstrWSSix.htm"&gt;&lt;FONT size=3 face=Calibri&gt;.NET Instrumentation Workshop&lt;/FONT&gt;&lt;/A&gt;&lt;FONT size=3 face=Calibri&gt;. TraceSource отправляет информацию с этих методов привязанным к нему слушателям, то есть в данном случае ETW-провайдеру с гуидом {4E7F098A-3E72-4D5B-9EA3-1B41A83527B0}. Затем на SQL Server отправляется запрос. Это Скрипт 8 из &lt;/FONT&gt;&lt;A href="http://blogs.msdn.com/alexejs/archive/2009/09/04/sql-server-etw-2.aspx" mce_href="http://blogs.msdn.com/alexejs/archive/2009/09/04/sql-server-etw-2.aspx"&gt;&lt;FONT size=3 face=Calibri&gt;предыдущей серии&lt;/FONT&gt;&lt;/A&gt;&lt;FONT face=Calibri&gt;&lt;FONT size=3&gt;. Как и в прошлый раз, SQL Server на него реагирует, отправляя событие своему провайдеру MSSQLServer Trace. Оба провайдера: и MSSQLServer Trace, и самопальный {4E7F098A-3E72-4D5B-9EA3-1B41A83527B0}, - завязаны в данном случае на одну сессию:&lt;o:p&gt;&lt;/o:p&gt;&lt;/FONT&gt;&lt;/FONT&gt;&lt;/SPAN&gt;&lt;/P&gt;
&lt;P style="MARGIN: 0in 0in 0pt" class=MsoNormal&gt;&lt;SPAN style="mso-ansi-language: ru" lang=RU&gt;&lt;o:p&gt;&lt;FONT size=3 face=Calibri&gt;&amp;nbsp;&lt;/FONT&gt;&lt;/o:p&gt;&lt;/SPAN&gt;&lt;/P&gt;
&lt;P style="MARGIN: 0in 0in 0pt" class=MsoNormal&gt;&lt;SPAN style="mso-ansi-language: ru" lang=RU&gt;&lt;o:p&gt;&lt;A href="http://blogs.msdn.com/blogfiles/alexejs/WindowsLiveWriter/SQLServerETW.3_6AFD/image007_2.png" mce_href="http://blogs.msdn.com/blogfiles/alexejs/WindowsLiveWriter/SQLServerETW.3_6AFD/image007_2.png"&gt;&lt;IMG style="BORDER-BOTTOM: 0px; BORDER-LEFT: 0px; DISPLAY: inline; BORDER-TOP: 0px; BORDER-RIGHT: 0px" title=image007 border=0 alt=image007 src="http://blogs.msdn.com/blogfiles/alexejs/WindowsLiveWriter/SQLServerETW.3_6AFD/image007_thumb.png" width=576 height=496 mce_src="http://blogs.msdn.com/blogfiles/alexejs/WindowsLiveWriter/SQLServerETW.3_6AFD/image007_thumb.png"&gt;&lt;/A&gt; &lt;/o:p&gt;&lt;/SPAN&gt;&lt;/P&gt;
&lt;P style="MARGIN: 0in 0in 0pt" class=MsoNormal&gt;&lt;FONT face=Calibri&gt;&lt;FONT size=3&gt;&lt;SPAN style="mso-no-proof: yes"&gt;&lt;v:shape style="WIDTH: 315.75pt; HEIGHT: 270.75pt; VISIBILITY: visible; mso-wrap-style: square" id=Picture_x0020_6 type="#_x0000_t75" o:spid="_x0000_i1027"&gt;&lt;v:imagedata src="file:///C:\Users\ADMINI~1\AppData\Local\Temp\1\msohtmlclip1\01\clip_image004.png" o:title="" mce_src="file:///C:\Users\ADMINI~1\AppData\Local\Temp\1\msohtmlclip1\01\clip_image004.png"&gt;&lt;/v:imagedata&gt;&lt;/v:shape&gt;&lt;/SPAN&gt;&lt;SPAN style="mso-ansi-language: ru" lang=RU&gt;&lt;o:p&gt;&lt;/o:p&gt;&lt;/SPAN&gt;&lt;/FONT&gt;&lt;/FONT&gt;&lt;/P&gt;
&lt;P style="MARGIN: 0in 0in 0pt" class=MsoNormal&gt;&lt;SPAN style="mso-ansi-language: ru" lang=RU&gt;&lt;FONT face=Calibri&gt;&lt;FONT size=3&gt;Рис.4&lt;o:p&gt;&lt;/o:p&gt;&lt;/FONT&gt;&lt;/FONT&gt;&lt;/SPAN&gt;&lt;/P&gt;
&lt;P style="MARGIN: 0in 0in 0pt" class=MsoNormal&gt;&lt;SPAN style="mso-ansi-language: ru" lang=RU&gt;&lt;o:p&gt;&lt;FONT size=3 face=Calibri&gt;&amp;nbsp;&lt;/FONT&gt;&lt;/o:p&gt;&lt;/SPAN&gt;&lt;/P&gt;
&lt;P style="MARGIN: 0in 0in 0pt" class=MsoNormal&gt;&lt;SPAN style="mso-ansi-language: ru" lang=RU&gt;&lt;FONT face=Calibri&gt;&lt;FONT size=3&gt;которая кидает сообщения в c:\Temp\SqlDataCollector.etl (см. Скрипт 1). Туда же после реакции SQL Server падает заключительное TraceInformation от приложения. В итоге имеем объединенный трейс-лог, что и требовалось продемонстрировать. Останавливаем сессию, конвертируем etl и смотрим:&lt;o:p&gt;&lt;/o:p&gt;&lt;/FONT&gt;&lt;/FONT&gt;&lt;/SPAN&gt;&lt;/P&gt;
&lt;P style="MARGIN: 0in 0in 0pt" class=MsoNormal&gt;&lt;SPAN style="mso-ansi-language: ru" lang=RU&gt;&lt;o:p&gt;&lt;FONT size=3 face=Calibri&gt;&amp;nbsp;&lt;/FONT&gt;&lt;/o:p&gt;&lt;/SPAN&gt;&lt;/P&gt;
&lt;P style="MARGIN: 0in 0in 0pt" class=MsoNormal&gt;&lt;SPAN style="FONT-FAMILY: 'Courier New'; mso-ansi-language: ru" lang=RU&gt;&lt;FONT size=3&gt;logman stop AppDataCollector&lt;o:p&gt;&lt;/o:p&gt;&lt;/FONT&gt;&lt;/SPAN&gt;&lt;/P&gt;
&lt;P style="MARGIN: 0in 0in 0pt" class=MsoNormal&gt;&lt;FONT size=3&gt;&lt;SPAN style="FONT-FAMILY: 'Courier New'"&gt;tracerpt C:\Temp\SqlDataCollector.etl -lr -o C:\Temp\SqlDataCollector.xml&lt;/SPAN&gt;&lt;SPAN style="FONT-FAMILY: 'Courier New'; mso-ansi-language: ru" lang=RU&gt;&lt;o:p&gt;&lt;/o:p&gt;&lt;/SPAN&gt;&lt;/FONT&gt;&lt;/P&gt;
&lt;P style="MARGIN: 0in 0in 0pt" class=MsoNormal&gt;&lt;SPAN style="mso-ansi-language: ru" lang=RU&gt;&lt;FONT size=3&gt;&lt;FONT face=Calibri&gt;Скрипт 4&lt;o:p&gt;&lt;/o:p&gt;&lt;/FONT&gt;&lt;/FONT&gt;&lt;/SPAN&gt;&lt;/P&gt;
&lt;P style="MARGIN: 0in 0in 0pt" class=MsoNormal&gt;&lt;SPAN style="mso-ansi-language: ru" lang=RU&gt;&lt;o:p&gt;&lt;FONT size=3 face=Calibri&gt;&amp;nbsp;&lt;/FONT&gt;&lt;/o:p&gt;&lt;/SPAN&gt;&lt;/P&gt;
&lt;P style="MARGIN: 0in 0in 0pt" class=MsoNormal&gt;&lt;SPAN style="mso-ansi-language: ru" lang=RU&gt;&lt;o:p&gt;&lt;A href="http://blogs.msdn.com/blogfiles/alexejs/WindowsLiveWriter/SQLServerETW.3_6AFD/image009_2.png" mce_href="http://blogs.msdn.com/blogfiles/alexejs/WindowsLiveWriter/SQLServerETW.3_6AFD/image009_2.png"&gt;&lt;IMG style="BORDER-BOTTOM: 0px; BORDER-LEFT: 0px; DISPLAY: inline; BORDER-TOP: 0px; BORDER-RIGHT: 0px" title=image009 border=0 alt=image009 src="http://blogs.msdn.com/blogfiles/alexejs/WindowsLiveWriter/SQLServerETW.3_6AFD/image009_thumb.png" width=601 height=368 mce_src="http://blogs.msdn.com/blogfiles/alexejs/WindowsLiveWriter/SQLServerETW.3_6AFD/image009_thumb.png"&gt;&lt;/A&gt; &lt;/o:p&gt;&lt;/SPAN&gt;&lt;/P&gt;
&lt;P style="MARGIN: 0in 0in 0pt" class=MsoNormal&gt;&lt;FONT size=3&gt;&lt;FONT face=Calibri&gt;&lt;SPAN style="mso-no-proof: yes"&gt;&lt;v:shape style="WIDTH: 365.25pt; HEIGHT: 222pt; VISIBILITY: visible; mso-wrap-style: square" id=Picture_x0020_7 type="#_x0000_t75" o:spid="_x0000_i1026"&gt;&lt;v:imagedata src="file:///C:\Users\ADMINI~1\AppData\Local\Temp\1\msohtmlclip1\01\clip_image005.png" o:title="" mce_src="file:///C:\Users\ADMINI~1\AppData\Local\Temp\1\msohtmlclip1\01\clip_image005.png"&gt;&lt;/v:imagedata&gt;&lt;/v:shape&gt;&lt;/SPAN&gt;&lt;SPAN style="mso-ansi-language: ru" lang=RU&gt;&lt;o:p&gt;&lt;/o:p&gt;&lt;/SPAN&gt;&lt;/FONT&gt;&lt;/FONT&gt;&lt;/P&gt;
&lt;P style="MARGIN: 0in 0in 0pt" class=MsoNormal&gt;&lt;SPAN style="mso-ansi-language: ru" lang=RU&gt;&lt;FONT size=3&gt;&lt;FONT face=Calibri&gt;Рис.5&lt;o:p&gt;&lt;/o:p&gt;&lt;/FONT&gt;&lt;/FONT&gt;&lt;/SPAN&gt;&lt;/P&gt;
&lt;P style="MARGIN: 0in 0in 0pt" class=MsoNormal&gt;&lt;SPAN style="mso-ansi-language: ru" lang=RU&gt;&lt;o:p&gt;&lt;FONT size=3 face=Calibri&gt;&amp;nbsp;&lt;/FONT&gt;&lt;/o:p&gt;&lt;/SPAN&gt;&lt;/P&gt;
&lt;P style="MARGIN: 0in 0in 0pt" class=MsoNormal&gt;&lt;SPAN style="mso-ansi-language: ru" lang=RU&gt;&lt;o:p&gt;&lt;A href="http://blogs.msdn.com/blogfiles/alexejs/WindowsLiveWriter/SQLServerETW.3_6AFD/image011_2.png" mce_href="http://blogs.msdn.com/blogfiles/alexejs/WindowsLiveWriter/SQLServerETW.3_6AFD/image011_2.png"&gt;&lt;IMG style="BORDER-BOTTOM: 0px; BORDER-LEFT: 0px; DISPLAY: inline; BORDER-TOP: 0px; BORDER-RIGHT: 0px" title=image011 border=0 alt=image011 src="http://blogs.msdn.com/blogfiles/alexejs/WindowsLiveWriter/SQLServerETW.3_6AFD/image011_thumb.png" width=688 height=792 mce_src="http://blogs.msdn.com/blogfiles/alexejs/WindowsLiveWriter/SQLServerETW.3_6AFD/image011_thumb.png"&gt;&lt;/A&gt; &lt;/o:p&gt;&lt;/SPAN&gt;&lt;/P&gt;
&lt;P style="MARGIN: 0in 0in 0pt" class=MsoNormal&gt;&lt;FONT size=3&gt;&lt;FONT face=Calibri&gt;&lt;SPAN style="mso-no-proof: yes"&gt;&lt;v:shape style="WIDTH: 428.25pt; HEIGHT: 494.25pt; VISIBILITY: visible; mso-wrap-style: square" id=Picture_x0020_16 type="#_x0000_t75" o:spid="_x0000_i1025"&gt;&lt;v:imagedata src="file:///C:\Users\ADMINI~1\AppData\Local\Temp\1\msohtmlclip1\01\clip_image006.png" o:title="" mce_src="file:///C:\Users\ADMINI~1\AppData\Local\Temp\1\msohtmlclip1\01\clip_image006.png"&gt;&lt;/v:imagedata&gt;&lt;/v:shape&gt;&lt;/SPAN&gt;&lt;SPAN style="mso-ansi-language: ru" lang=RU&gt;&lt;o:p&gt;&lt;/o:p&gt;&lt;/SPAN&gt;&lt;/FONT&gt;&lt;/FONT&gt;&lt;/P&gt;
&lt;P style="MARGIN: 0in 0in 0pt" class=MsoNormal&gt;&lt;SPAN style="mso-ansi-language: ru" lang=RU&gt;&lt;FONT size=3&gt;&lt;FONT face=Calibri&gt;Рис.6&lt;o:p&gt;&lt;/o:p&gt;&lt;/FONT&gt;&lt;/FONT&gt;&lt;/SPAN&gt;&lt;/P&gt;&lt;img src="http://blogs.msdn.com/aggbug.aspx?PostID=9891876" width="1" height="1"&gt;</description></item><item><title>SQL Server и ETW. Ч.2</title><link>http://blogs.msdn.com/alexejs/archive/2009/09/04/sql-server-etw-2.aspx</link><pubDate>Fri, 04 Sep 2009 23:05:00 GMT</pubDate><guid isPermaLink="false">91d46819-8472-40ad-a661-2c78acb4018c:9891587</guid><dc:creator>alexejs</dc:creator><slash:comments>0</slash:comments><comments>http://blogs.msdn.com/alexejs/comments/9891587.aspx</comments><wfw:commentRss>http://blogs.msdn.com/alexejs/commentrss.aspx?PostID=9891587</wfw:commentRss><description>&lt;P style="MARGIN: 0in 0in 10pt" class=MsoNormal&gt;&lt;SPAN style="mso-ansi-language: ru" lang=RU&gt;&lt;FONT size=3 face=Calibri&gt;В &lt;/FONT&gt;&lt;A href="http://blogs.msdn.com/alexejs/archive/2009/09/04/sql-server-etw-1.aspx" mce_href="http://blogs.msdn.com/alexejs/archive/2009/09/04/sql-server-etw-1.aspx"&gt;&lt;FONT size=3 face=Calibri&gt;предыдущем посте&lt;/FONT&gt;&lt;/A&gt;&lt;FONT size=3 face=Calibri&gt; мы разбирали структуру ETW-события и выяснили, что даже в более или менее стандартном по структуре заголовке имеется лишь несколько полей, заполняющихся автоматически, и несколько наборов предопределенных значений для некоторых других полей. Все остальное отдано на откуп провайдерам, в результате чего творится полный бардак. Четких правил, регламентирующих категоризацию событий, в природе нет, и каждый провайдер изгаляется, кто во что горазд. Один может определить одно родовое событие, которое он дальше дробит на таски, опкоды и прочие ключевые слова, повышая уровень детализации события. Другой может не заморачиваться, а просто заводить на каждую деталь по событию. Также возможна масса промежуточных стадий помешательства. Глядя на " &lt;/FONT&gt;&lt;A href="http://blogs.msdn.com/alexejs/archive/2009/09/04/sql-server-etw-1.aspx" mce_href="http://blogs.msdn.com/alexejs/archive/2009/09/04/sql-server-etw-1.aspx"&gt;&lt;FONT size=3 face=Calibri&gt;SQL Server и ETW. Ч.1&lt;/FONT&gt;&lt;/A&gt;&lt;FONT size=3 face=Calibri&gt;"\Рис.9, можно видеть, что ETW-провайдер &lt;/FONT&gt;&lt;/SPAN&gt;&lt;FONT size=3&gt;&lt;FONT face=Calibri&gt;MSSQLSERVER&lt;SPAN style="mso-ansi-language: ru"&gt; &lt;/SPAN&gt;Trace&lt;SPAN style="mso-ansi-language: ru" lang=RU&gt; является сторонником капитального сноса крыши. Загрузим представленный XML в SQL Server:&lt;/SPAN&gt;&lt;/FONT&gt;&lt;/FONT&gt;&lt;/P&gt;
&lt;P style="LINE-HEIGHT: normal; MARGIN: 0in 0in 0pt; mso-layout-grid-align: none" class=MsoNormal&gt;&lt;SPAN style="FONT-FAMILY: 'Courier New'; COLOR: blue; FONT-SIZE: 10pt; mso-no-proof: yes"&gt;declare&lt;/SPAN&gt;&lt;SPAN style="FONT-FAMILY: 'Courier New'; FONT-SIZE: 10pt; mso-no-proof: yes"&gt; @x &lt;SPAN style="COLOR: blue"&gt;xml&lt;/SPAN&gt; &lt;SPAN style="COLOR: gray"&gt;=&lt;/SPAN&gt;&lt;SPAN style="COLOR: blue"&gt; &lt;/SPAN&gt;&lt;SPAN style="COLOR: gray"&gt;(&lt;/SPAN&gt;&lt;SPAN style="COLOR: blue"&gt;select&lt;/SPAN&gt; BulkColumn &lt;SPAN style="COLOR: blue"&gt;from&lt;/SPAN&gt; &lt;SPAN style="COLOR: blue"&gt;openrowset&lt;/SPAN&gt;&lt;SPAN style="COLOR: gray"&gt;(&lt;/SPAN&gt;&lt;SPAN style="COLOR: blue"&gt;bulk&lt;/SPAN&gt; &lt;SPAN style="COLOR: red"&gt;'c:\Temp\SqlDataCollector.xml'&lt;/SPAN&gt;&lt;SPAN style="COLOR: gray"&gt;,&lt;/SPAN&gt; &lt;SPAN style="COLOR: blue"&gt;SINGLE_CLOB&lt;/SPAN&gt;&lt;SPAN style="COLOR: gray"&gt;)&lt;/SPAN&gt; t&lt;SPAN style="COLOR: gray"&gt;)&lt;?xml:namespace prefix = o ns = "urn:schemas-microsoft-com:office:office" /&gt;&lt;o:p&gt;&lt;/o:p&gt;&lt;/SPAN&gt;&lt;/SPAN&gt;&lt;/P&gt;
&lt;P style="LINE-HEIGHT: normal; MARGIN: 0in 0in 0pt; mso-layout-grid-align: none" class=MsoNormal&gt;&lt;SPAN style="FONT-FAMILY: 'Courier New'; COLOR: gray; FONT-SIZE: 10pt; mso-no-proof: yes"&gt;&lt;o:p&gt;&amp;nbsp;&lt;/o:p&gt;&lt;/SPAN&gt;&lt;/P&gt;
&lt;P style="LINE-HEIGHT: normal; MARGIN: 0in 0in 0pt; mso-layout-grid-align: none" class=MsoNormal&gt;&lt;SPAN style="FONT-FAMILY: 'Courier New'; COLOR: gray; FONT-SIZE: 10pt; mso-no-proof: yes"&gt;;&lt;/SPAN&gt;&lt;SPAN style="FONT-FAMILY: 'Courier New'; COLOR: blue; FONT-SIZE: 10pt; mso-no-proof: yes"&gt;with&lt;/SPAN&gt;&lt;SPAN style="FONT-FAMILY: 'Courier New'; FONT-SIZE: 10pt; mso-no-proof: yes"&gt; xmlnamespaces&lt;SPAN style="COLOR: gray"&gt;(&lt;/SPAN&gt;&lt;SPAN style="COLOR: red"&gt;'http://schemas.microsoft.com/win/2004/08/events/event'&lt;/SPAN&gt; &lt;SPAN style="COLOR: blue"&gt;as&lt;/SPAN&gt; e&lt;SPAN style="COLOR: gray"&gt;,&lt;/SPAN&gt; &lt;SPAN style="COLOR: red"&gt;'http://schemas.microsoft.com/win/2004/08/events/trace'&lt;/SPAN&gt; &lt;SPAN style="COLOR: blue"&gt;as&lt;/SPAN&gt; t&lt;SPAN style="COLOR: gray"&gt;)&lt;o:p&gt;&lt;/o:p&gt;&lt;/SPAN&gt;&lt;/SPAN&gt;&lt;/P&gt;
&lt;P style="LINE-HEIGHT: normal; MARGIN: 0in 0in 0pt; mso-layout-grid-align: none" class=MsoNormal&gt;&lt;SPAN style="FONT-FAMILY: 'Courier New'; COLOR: blue; FONT-SIZE: 10pt; mso-no-proof: yes"&gt;select&lt;/SPAN&gt;&lt;SPAN style="FONT-FAMILY: 'Courier New'; FONT-SIZE: 10pt; mso-no-proof: yes"&gt; &lt;o:p&gt;&lt;/o:p&gt;&lt;/SPAN&gt;&lt;/P&gt;
&lt;P style="LINE-HEIGHT: normal; MARGIN: 0in 0in 0pt; mso-layout-grid-align: none" class=MsoNormal&gt;&lt;SPAN style="FONT-FAMILY: 'Courier New'; FONT-SIZE: 10pt; mso-no-proof: yes"&gt;x&lt;SPAN style="COLOR: gray"&gt;.&lt;/SPAN&gt;value&lt;SPAN style="COLOR: gray"&gt;(&lt;/SPAN&gt;&lt;SPAN style="COLOR: red"&gt;'(e:System/e:Provider/@Guid)[1]'&lt;/SPAN&gt;&lt;SPAN style="COLOR: gray"&gt;,&lt;/SPAN&gt; &lt;SPAN style="COLOR: red"&gt;'uniqueidentifier'&lt;/SPAN&gt;&lt;SPAN style="COLOR: gray"&gt;)&lt;/SPAN&gt; &lt;SPAN style="COLOR: blue"&gt;as&lt;/SPAN&gt; ProviderGuid&lt;SPAN style="COLOR: gray"&gt;,&lt;/SPAN&gt; &lt;o:p&gt;&lt;/o:p&gt;&lt;/SPAN&gt;&lt;/P&gt;
&lt;P style="LINE-HEIGHT: normal; MARGIN: 0in 0in 0pt; mso-layout-grid-align: none" class=MsoNormal&gt;&lt;SPAN style="FONT-FAMILY: 'Courier New'; FONT-SIZE: 10pt; mso-no-proof: yes"&gt;x&lt;SPAN style="COLOR: gray"&gt;.&lt;/SPAN&gt;value&lt;SPAN style="COLOR: gray"&gt;(&lt;/SPAN&gt;&lt;SPAN style="COLOR: red"&gt;'(e:RenderingInfo/t:EventName)[1]'&lt;/SPAN&gt;&lt;SPAN style="COLOR: gray"&gt;,&lt;/SPAN&gt; &lt;SPAN style="COLOR: red"&gt;'nvarchar(255)'&lt;/SPAN&gt;&lt;SPAN style="COLOR: gray"&gt;)&lt;/SPAN&gt; &lt;SPAN style="COLOR: blue"&gt;as&lt;/SPAN&gt; EventName&lt;SPAN style="COLOR: gray"&gt;,&lt;o:p&gt;&lt;/o:p&gt;&lt;/SPAN&gt;&lt;/SPAN&gt;&lt;/P&gt;
&lt;P style="LINE-HEIGHT: normal; MARGIN: 0in 0in 0pt; mso-layout-grid-align: none" class=MsoNormal&gt;&lt;SPAN style="FONT-FAMILY: 'Courier New'; FONT-SIZE: 10pt; mso-no-proof: yes"&gt;x&lt;SPAN style="COLOR: gray"&gt;.&lt;/SPAN&gt;value&lt;SPAN style="COLOR: gray"&gt;(&lt;/SPAN&gt;&lt;SPAN style="COLOR: red"&gt;'(t:ExtendedTracingInfo/t:EventGuid)[1]'&lt;/SPAN&gt;&lt;SPAN style="COLOR: gray"&gt;,&lt;/SPAN&gt; &lt;SPAN style="COLOR: red"&gt;'uniqueidentifier'&lt;/SPAN&gt;&lt;SPAN style="COLOR: gray"&gt;)&lt;/SPAN&gt; &lt;SPAN style="COLOR: blue"&gt;as&lt;/SPAN&gt; EventGuid&lt;o:p&gt;&lt;/o:p&gt;&lt;/SPAN&gt;&lt;/P&gt;
&lt;P style="MARGIN: 0in 0in 10pt" class=MsoNormal&gt;&lt;SPAN style="LINE-HEIGHT: 115%; FONT-FAMILY: 'Courier New'; COLOR: blue; FONT-SIZE: 10pt; mso-no-proof: yes"&gt;from&lt;/SPAN&gt;&lt;SPAN style="LINE-HEIGHT: 115%; FONT-FAMILY: 'Courier New'; FONT-SIZE: 10pt; mso-no-proof: yes"&gt; @x&lt;SPAN style="COLOR: gray"&gt;.&lt;/SPAN&gt;nodes&lt;SPAN style="COLOR: gray"&gt;(&lt;/SPAN&gt;&lt;SPAN style="COLOR: red"&gt;'Events/e:Event'&lt;/SPAN&gt;&lt;SPAN style="COLOR: gray"&gt;)&lt;/SPAN&gt; t&lt;SPAN style="COLOR: gray"&gt;(&lt;/SPAN&gt;x&lt;SPAN style="COLOR: gray"&gt;)&lt;o:p&gt;&lt;/o:p&gt;&lt;/SPAN&gt;&lt;/SPAN&gt;&lt;/P&gt;
&lt;P style="MARGIN: 0in 0in 10pt" class=MsoNormal&gt;&lt;SPAN style="mso-ansi-language: ru" lang=RU&gt;&lt;FONT size=3&gt;&lt;FONT face=Calibri&gt;Скрипт 1&lt;/FONT&gt;&lt;/FONT&gt;&lt;/SPAN&gt;&lt;/P&gt;
&lt;P style="MARGIN: 0in 0in 10pt" class=MsoNormal&gt;&lt;SPAN style="mso-ansi-language: ru" lang=RU&gt;&lt;FONT size=3&gt;&lt;FONT face=Calibri&gt;&lt;o:p&gt;&lt;A href="http://blogs.msdn.com/blogfiles/alexejs/WindowsLiveWriter/SQLServerETW.2_2B8/image001_2.png" mce_href="http://blogs.msdn.com/blogfiles/alexejs/WindowsLiveWriter/SQLServerETW.2_2B8/image001_2.png"&gt;&lt;IMG style="BORDER-BOTTOM: 0px; BORDER-LEFT: 0px; DISPLAY: inline; BORDER-TOP: 0px; BORDER-RIGHT: 0px" title=image001 border=0 alt=image001 src="http://blogs.msdn.com/blogfiles/alexejs/WindowsLiveWriter/SQLServerETW.2_2B8/image001_thumb.png" width=754 height=342 mce_src="http://blogs.msdn.com/blogfiles/alexejs/WindowsLiveWriter/SQLServerETW.2_2B8/image001_thumb.png"&gt;&lt;/A&gt; &lt;/o:p&gt;&lt;/FONT&gt;&lt;/FONT&gt;&lt;/SPAN&gt;&lt;/P&gt;
&lt;P style="MARGIN: 0in 0in 10pt" class=MsoNormal&gt;&lt;FONT size=3&gt;&lt;FONT face=Calibri&gt;&lt;SPAN style="mso-no-proof: yes"&gt;&lt;?xml:namespace prefix = v ns = "urn:schemas-microsoft-com:vml" /&gt;&lt;v:shapetype id=_x0000_t75 coordsize="21600,21600" o:spt="75" o:preferrelative="t" path="m@4@5l@4@11@9@11@9@5xe" filled="f" stroked="f"&gt;&lt;v:stroke joinstyle="miter"&gt;&lt;/v:stroke&gt;&lt;v:formulas&gt;&lt;v:f eqn="if lineDrawn pixelLineWidth 0"&gt;&lt;/v:f&gt;&lt;v:f eqn="sum @0 1 0"&gt;&lt;/v:f&gt;&lt;v:f eqn="sum 0 0 @1"&gt;&lt;/v:f&gt;&lt;v:f eqn="prod @2 1 2"&gt;&lt;/v:f&gt;&lt;v:f eqn="prod @3 21600 pixelWidth"&gt;&lt;/v:f&gt;&lt;v:f eqn="prod @3 21600 pixelHeight"&gt;&lt;/v:f&gt;&lt;v:f eqn="sum @0 0 1"&gt;&lt;/v:f&gt;&lt;v:f eqn="prod @6 1 2"&gt;&lt;/v:f&gt;&lt;v:f eqn="prod @7 21600 pixelWidth"&gt;&lt;/v:f&gt;&lt;v:f eqn="sum @8 21600 0"&gt;&lt;/v:f&gt;&lt;v:f eqn="prod @7 21600 pixelHeight"&gt;&lt;/v:f&gt;&lt;v:f eqn="sum @10 21600 0"&gt;&lt;/v:f&gt;&lt;/v:formulas&gt;&lt;v:path o:extrusionok="f" gradientshapeok="t" o:connecttype="rect"&gt;&lt;/v:path&gt;&lt;o:lock v:ext="edit" aspectratio="t"&gt;&lt;/o:lock&gt;&lt;/v:shapetype&gt;&lt;v:shape style="WIDTH: 484.5pt; HEIGHT: 217.5pt; VISIBILITY: visible; mso-wrap-style: square" id=Picture_x0020_42 o:spid="_x0000_i1029" type="#_x0000_t75"&gt;&lt;v:imagedata mce_src="file:///C:\Users\ADMINI~1\AppData\Local\Temp\1\msohtmlclip1\01\clip_image001.png" src="file:///C:\Users\ADMINI~1\AppData\Local\Temp\1\msohtmlclip1\01\clip_image001.png" o:title=""&gt;&lt;/v:imagedata&gt;&lt;/v:shape&gt;&lt;/SPAN&gt;&lt;SPAN style="mso-ansi-language: ru" lang=RU&gt;&lt;o:p&gt;&lt;/o:p&gt;&lt;/SPAN&gt;&lt;/FONT&gt;&lt;/FONT&gt;&lt;/P&gt;
&lt;P style="MARGIN: 0in 0in 10pt" class=MsoNormal&gt;&lt;SPAN style="mso-ansi-language: ru" lang=RU&gt;&lt;FONT size=3&gt;&lt;FONT face=Calibri&gt;Рис.1&lt;o:p&gt;&lt;/o:p&gt;&lt;/FONT&gt;&lt;/FONT&gt;&lt;/SPAN&gt;&lt;/P&gt;
&lt;P style="MARGIN: 0in 0in 10pt" class=MsoNormal&gt;&lt;SPAN style="mso-ansi-language: ru" lang=RU&gt;&lt;FONT size=3&gt;&lt;FONT face=Calibri&gt;чтобы выяснить, а) может ли одному профайлерному событию соответствовать несколько ETWшных и б) чем ProviderGuid отличается от EventGuid'a? Кстати, заодно пример совмещения with xmlnamespaces() и with cte (), которое иногда вызывает затруднения.&lt;o:p&gt;&lt;/o:p&gt;&lt;/FONT&gt;&lt;/FONT&gt;&lt;/SPAN&gt;&lt;/P&gt;
&lt;P style="LINE-HEIGHT: normal; MARGIN: 0in 0in 0pt; mso-layout-grid-align: none" class=MsoNormal&gt;&lt;SPAN style="FONT-FAMILY: 'Courier New'; COLOR: gray; FONT-SIZE: 10pt; mso-ansi-language: ru; mso-no-proof: yes" lang=RU&gt;...&lt;o:p&gt;&lt;/o:p&gt;&lt;/SPAN&gt;&lt;/P&gt;
&lt;P style="LINE-HEIGHT: normal; MARGIN: 0in 0in 0pt; mso-layout-grid-align: none" class=MsoNormal&gt;&lt;SPAN style="FONT-FAMILY: 'Courier New'; COLOR: gray; FONT-SIZE: 10pt; mso-no-proof: yes"&gt;;&lt;/SPAN&gt;&lt;SPAN style="FONT-FAMILY: 'Courier New'; COLOR: blue; FONT-SIZE: 10pt; mso-no-proof: yes"&gt;with&lt;/SPAN&gt;&lt;SPAN style="FONT-FAMILY: 'Courier New'; FONT-SIZE: 10pt; mso-no-proof: yes"&gt; xmlnamespaces&lt;SPAN style="COLOR: gray"&gt;(&lt;/SPAN&gt;&lt;SPAN style="COLOR: red"&gt;'http://schemas.microsoft.com/win/2004/08/events/event'&lt;/SPAN&gt; &lt;SPAN style="COLOR: blue"&gt;as&lt;/SPAN&gt; e&lt;SPAN style="COLOR: gray"&gt;,&lt;/SPAN&gt; &lt;SPAN style="COLOR: red"&gt;'http://schemas.microsoft.com/win/2004/08/events/trace'&lt;/SPAN&gt; &lt;SPAN style="COLOR: blue"&gt;as&lt;/SPAN&gt; t&lt;SPAN style="COLOR: gray"&gt;),&lt;o:p&gt;&lt;/o:p&gt;&lt;/SPAN&gt;&lt;/SPAN&gt;&lt;/P&gt;
&lt;P style="LINE-HEIGHT: normal; MARGIN: 0in 0in 0pt; mso-layout-grid-align: none" class=MsoNormal&gt;&lt;SPAN style="FONT-FAMILY: 'Courier New'; FONT-SIZE: 10pt; mso-no-proof: yes"&gt;cte &lt;SPAN style="COLOR: blue"&gt;as &lt;/SPAN&gt;&lt;SPAN style="COLOR: gray"&gt;(&lt;o:p&gt;&lt;/o:p&gt;&lt;/SPAN&gt;&lt;/SPAN&gt;&lt;/P&gt;
&lt;P style="LINE-HEIGHT: normal; MARGIN: 0in 0in 0pt; mso-layout-grid-align: none" class=MsoNormal&gt;&lt;SPAN style="FONT-FAMILY: 'Courier New'; COLOR: blue; FONT-SIZE: 10pt; mso-no-proof: yes"&gt;select&lt;/SPAN&gt;&lt;SPAN style="FONT-FAMILY: 'Courier New'; FONT-SIZE: 10pt; mso-no-proof: yes"&gt; &lt;o:p&gt;&lt;/o:p&gt;&lt;/SPAN&gt;&lt;/P&gt;
&lt;P style="LINE-HEIGHT: normal; MARGIN: 0in 0in 0pt; mso-layout-grid-align: none" class=MsoNormal&gt;&lt;SPAN style="FONT-FAMILY: 'Courier New'; FONT-SIZE: 10pt; mso-no-proof: yes"&gt;x&lt;SPAN style="COLOR: gray"&gt;.&lt;/SPAN&gt;value&lt;SPAN style="COLOR: gray"&gt;(&lt;/SPAN&gt;&lt;SPAN style="COLOR: red"&gt;'(e:System/e:Provider/@Guid)[1]'&lt;/SPAN&gt;&lt;SPAN style="COLOR: gray"&gt;,&lt;/SPAN&gt; &lt;SPAN style="COLOR: red"&gt;'uniqueidentifier'&lt;/SPAN&gt;&lt;SPAN style="COLOR: gray"&gt;)&lt;/SPAN&gt; &lt;SPAN style="COLOR: blue"&gt;as&lt;/SPAN&gt; ProviderGuid&lt;SPAN style="COLOR: gray"&gt;,&lt;/SPAN&gt; &lt;o:p&gt;&lt;/o:p&gt;&lt;/SPAN&gt;&lt;/P&gt;
&lt;P style="LINE-HEIGHT: normal; MARGIN: 0in 0in 0pt; mso-layout-grid-align: none" class=MsoNormal&gt;&lt;SPAN style="FONT-FAMILY: 'Courier New'; FONT-SIZE: 10pt; mso-no-proof: yes"&gt;x&lt;SPAN style="COLOR: gray"&gt;.&lt;/SPAN&gt;value&lt;SPAN style="COLOR: gray"&gt;(&lt;/SPAN&gt;&lt;SPAN style="COLOR: red"&gt;'(e:RenderingInfo/t:EventName)[1]'&lt;/SPAN&gt;&lt;SPAN style="COLOR: gray"&gt;,&lt;/SPAN&gt; &lt;SPAN style="COLOR: red"&gt;'nvarchar(255)'&lt;/SPAN&gt;&lt;SPAN style="COLOR: gray"&gt;)&lt;/SPAN&gt; &lt;SPAN style="COLOR: blue"&gt;as&lt;/SPAN&gt; EventName&lt;SPAN style="COLOR: gray"&gt;,&lt;o:p&gt;&lt;/o:p&gt;&lt;/SPAN&gt;&lt;/SPAN&gt;&lt;/P&gt;
&lt;P style="LINE-HEIGHT: normal; MARGIN: 0in 0in 0pt; mso-layout-grid-align: none" class=MsoNormal&gt;&lt;SPAN style="FONT-FAMILY: 'Courier New'; FONT-SIZE: 10pt; mso-no-proof: yes"&gt;x&lt;SPAN style="COLOR: gray"&gt;.&lt;/SPAN&gt;value&lt;SPAN style="COLOR: gray"&gt;(&lt;/SPAN&gt;&lt;SPAN style="COLOR: red"&gt;'(t:ExtendedTracingInfo/t:EventGuid)[1]'&lt;/SPAN&gt;&lt;SPAN style="COLOR: gray"&gt;,&lt;/SPAN&gt; &lt;SPAN style="COLOR: red"&gt;'uniqueidentifier'&lt;/SPAN&gt;&lt;SPAN style="COLOR: gray"&gt;)&lt;/SPAN&gt; &lt;SPAN style="COLOR: blue"&gt;as&lt;/SPAN&gt; EventGuid&lt;o:p&gt;&lt;/o:p&gt;&lt;/SPAN&gt;&lt;/P&gt;
&lt;P style="LINE-HEIGHT: normal; MARGIN: 0in 0in 0pt; mso-layout-grid-align: none" class=MsoNormal&gt;&lt;SPAN style="FONT-FAMILY: 'Courier New'; COLOR: blue; FONT-SIZE: 10pt; mso-no-proof: yes"&gt;from&lt;/SPAN&gt;&lt;SPAN style="FONT-FAMILY: 'Courier New'; FONT-SIZE: 10pt; mso-no-proof: yes"&gt; @x&lt;SPAN style="COLOR: gray"&gt;.&lt;/SPAN&gt;nodes&lt;SPAN style="COLOR: gray"&gt;(&lt;/SPAN&gt;&lt;SPAN style="COLOR: red"&gt;'Events/e:Event'&lt;/SPAN&gt;&lt;SPAN style="COLOR: gray"&gt;)&lt;/SPAN&gt; t&lt;SPAN style="COLOR: gray"&gt;(&lt;/SPAN&gt;x&lt;SPAN style="COLOR: gray"&gt;)&lt;o:p&gt;&lt;/o:p&gt;&lt;/SPAN&gt;&lt;/SPAN&gt;&lt;/P&gt;
&lt;P style="LINE-HEIGHT: normal; MARGIN: 0in 0in 0pt; mso-layout-grid-align: none" class=MsoNormal&gt;&lt;SPAN style="FONT-FAMILY: 'Courier New'; COLOR: gray; FONT-SIZE: 10pt; mso-no-proof: yes"&gt;)&lt;o:p&gt;&lt;/o:p&gt;&lt;/SPAN&gt;&lt;/P&gt;
&lt;P style="MARGIN: 0in 0in 0pt" class=MsoNormal&gt;&lt;SPAN style="LINE-HEIGHT: 115%; FONT-FAMILY: 'Courier New'; COLOR: blue; FONT-SIZE: 10pt; mso-no-proof: yes"&gt;select&lt;/SPAN&gt;&lt;SPAN style="LINE-HEIGHT: 115%; FONT-FAMILY: 'Courier New'; FONT-SIZE: 10pt; mso-no-proof: yes"&gt; &lt;SPAN style="COLOR: fuchsia"&gt;count&lt;/SPAN&gt;&lt;SPAN style="COLOR: gray"&gt;(&lt;/SPAN&gt;&lt;SPAN style="COLOR: blue"&gt;distinct&lt;/SPAN&gt; ProviderGuid&lt;SPAN style="COLOR: gray"&gt;),&lt;/SPAN&gt; &lt;SPAN style="COLOR: fuchsia"&gt;count&lt;/SPAN&gt;&lt;SPAN style="COLOR: gray"&gt;(&lt;/SPAN&gt;&lt;SPAN style="COLOR: blue"&gt;distinct&lt;/SPAN&gt; EventGuid&lt;SPAN style="COLOR: gray"&gt;),&lt;/SPAN&gt; eventname &lt;SPAN style="COLOR: blue"&gt;from&lt;/SPAN&gt; cte &lt;SPAN style="COLOR: blue"&gt;group&lt;/SPAN&gt; &lt;SPAN style="COLOR: blue"&gt;by&lt;/SPAN&gt; eventname&lt;/SPAN&gt;&lt;SPAN style="LINE-HEIGHT: 115%; FONT-FAMILY: 'Courier New'; FONT-SIZE: 10pt; mso-ansi-language: ru; mso-no-proof: yes" lang=RU&gt;&lt;o:p&gt;&lt;/o:p&gt;&lt;/SPAN&gt;&lt;/P&gt;
&lt;P style="MARGIN: 0in 0in 0pt" class=MsoNormal&gt;&lt;SPAN style="LINE-HEIGHT: 115%; FONT-FAMILY: 'Courier New'; FONT-SIZE: 9pt; mso-no-proof: yes; mso-bidi-font-size: 10.0pt"&gt;----------------------&lt;/SPAN&gt;&lt;SPAN style="LINE-HEIGHT: 115%; FONT-FAMILY: 'Courier New'; FONT-SIZE: 9pt; mso-ansi-language: ru; mso-no-proof: yes; mso-bidi-font-size: 10.0pt" lang=RU&gt;---&lt;o:p&gt;&lt;/o:p&gt;&lt;/SPAN&gt;&lt;/P&gt;
&lt;P style="MARGIN: 0in 0in 0pt" class=MsoNormal&gt;&lt;SPAN style="LINE-HEIGHT: 115%; FONT-FAMILY: 'Courier New'; FONT-SIZE: 10pt; mso-bidi-font-size: 11.0pt"&gt;1&lt;SPAN style="mso-tab-count: 1"&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp; &lt;/SPAN&gt;1&lt;SPAN style="mso-tab-count: 1"&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp; &lt;/SPAN&gt;Audit Login&lt;o:p&gt;&lt;/o:p&gt;&lt;/SPAN&gt;&lt;/P&gt;
&lt;P style="MARGIN: 0in 0in 0pt" class=MsoNormal&gt;&lt;SPAN style="LINE-HEIGHT: 115%; FONT-FAMILY: 'Courier New'; FONT-SIZE: 10pt; mso-bidi-font-size: 11.0pt"&gt;1&lt;SPAN style="mso-tab-count: 1"&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp; &lt;/SPAN&gt;1&lt;SPAN style="mso-tab-count: 1"&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp; &lt;/SPAN&gt;Audit Logout&lt;o:p&gt;&lt;/o:p&gt;&lt;/SPAN&gt;&lt;/P&gt;
&lt;P style="MARGIN: 0in 0in 0pt" class=MsoNormal&gt;&lt;SPAN style="LINE-HEIGHT: 115%; FONT-FAMILY: 'Courier New'; FONT-SIZE: 10pt; mso-bidi-font-size: 11.0pt"&gt;1&lt;SPAN style="mso-tab-count: 1"&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp; &lt;/SPAN&gt;1&lt;SPAN style="mso-tab-count: 1"&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp; &lt;/SPAN&gt;EventTrace&lt;o:p&gt;&lt;/o:p&gt;&lt;/SPAN&gt;&lt;/P&gt;
&lt;P style="MARGIN: 0in 0in 0pt" class=MsoNormal&gt;&lt;SPAN style="LINE-HEIGHT: 115%; FONT-FAMILY: 'Courier New'; FONT-SIZE: 10pt; mso-bidi-font-size: 11.0pt"&gt;1&lt;SPAN style="mso-tab-count: 1"&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp; &lt;/SPAN&gt;1&lt;SPAN style="mso-tab-count: 1"&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp; &lt;/SPAN&gt;RPC:Completed&lt;o:p&gt;&lt;/o:p&gt;&lt;/SPAN&gt;&lt;/P&gt;
&lt;P style="MARGIN: 0in 0in 0pt" class=MsoNormal&gt;&lt;SPAN style="LINE-HEIGHT: 115%; FONT-FAMILY: 'Courier New'; FONT-SIZE: 10pt; mso-ansi-language: ru; mso-bidi-font-size: 11.0pt" lang=RU&gt;1&lt;SPAN style="mso-tab-count: 1"&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp; &lt;/SPAN&gt;1&lt;SPAN style="mso-tab-count: 1"&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp; &lt;/SPAN&gt;SQL:BatchCompleted&lt;o:p&gt;&lt;/o:p&gt;&lt;/SPAN&gt;&lt;/P&gt;
&lt;P style="MARGIN: 0in 0in 0pt" class=MsoNormal&gt;&lt;SPAN style="mso-ansi-language: ru" lang=RU&gt;&lt;FONT size=3&gt;&lt;FONT face=Calibri&gt;Скрипт 2&lt;o:p&gt;&lt;/o:p&gt;&lt;/FONT&gt;&lt;/FONT&gt;&lt;/SPAN&gt;&lt;/P&gt;
&lt;P style="MARGIN: 0in 0in 0pt" class=MsoNormal&gt;&lt;SPAN style="mso-ansi-language: ru" lang=RU&gt;&lt;o:p&gt;&lt;FONT size=3 face=Calibri&gt;&amp;nbsp;&lt;/FONT&gt;&lt;/o:p&gt;&lt;/SPAN&gt;&lt;/P&gt;
&lt;P style="MARGIN: 0in 0in 0pt" class=MsoNormal&gt;&lt;SPAN style="mso-ansi-language: ru" lang=RU&gt;&lt;FONT size=3&gt;&lt;FONT face=Calibri&gt;Видим, что а) по-видимому, не может.&lt;o:p&gt;&lt;/o:p&gt;&lt;/FONT&gt;&lt;/FONT&gt;&lt;/SPAN&gt;&lt;/P&gt;
&lt;P style="MARGIN: 0in 0in 0pt" class=MsoNormal&gt;&lt;SPAN style="mso-ansi-language: ru" lang=RU&gt;&lt;o:p&gt;&lt;FONT size=3 face=Calibri&gt;&amp;nbsp;&lt;/FONT&gt;&lt;/o:p&gt;&lt;/SPAN&gt;&lt;/P&gt;
&lt;P style="LINE-HEIGHT: normal; MARGIN: 0in 0in 0pt; mso-layout-grid-align: none" class=MsoNormal&gt;&lt;SPAN style="FONT-FAMILY: 'Courier New'; COLOR: blue; FONT-SIZE: 10pt; mso-ansi-language: ru; mso-no-proof: yes" lang=RU&gt;...&lt;/SPAN&gt;&lt;SPAN style="FONT-FAMILY: 'Courier New'; COLOR: gray; FONT-SIZE: 10pt; mso-ansi-language: ru; mso-no-proof: yes" lang=RU&gt;&lt;o:p&gt;&lt;/o:p&gt;&lt;/SPAN&gt;&lt;/P&gt;
&lt;P style="MARGIN: 0in 0in 0pt" class=MsoNormal&gt;&lt;SPAN style="LINE-HEIGHT: 115%; FONT-FAMILY: 'Courier New'; COLOR: blue; FONT-SIZE: 10pt; mso-no-proof: yes"&gt;select&lt;/SPAN&gt;&lt;SPAN style="LINE-HEIGHT: 115%; FONT-FAMILY: 'Courier New'; FONT-SIZE: 10pt; mso-no-proof: yes"&gt; &lt;SPAN style="COLOR: gray"&gt;*&lt;/SPAN&gt; &lt;SPAN style="COLOR: blue"&gt;from&lt;/SPAN&gt; cte &lt;SPAN style="COLOR: blue"&gt;where&lt;/SPAN&gt; ProviderGuid &lt;SPAN style="COLOR: gray"&gt;&amp;lt;&amp;gt;&lt;/SPAN&gt; EventGuid&lt;/SPAN&gt;&lt;SPAN style="LINE-HEIGHT: 115%; FONT-FAMILY: 'Courier New'; FONT-SIZE: 10pt; mso-ansi-language: ru; mso-no-proof: yes" lang=RU&gt;&lt;o:p&gt;&lt;/o:p&gt;&lt;/SPAN&gt;&lt;/P&gt;
&lt;P style="MARGIN: 0in 0in 0pt" class=MsoNormal&gt;&lt;SPAN style="LINE-HEIGHT: 115%; FONT-FAMILY: 'Courier New'; FONT-SIZE: 10pt; mso-ansi-language: ru; mso-no-proof: yes" lang=RU&gt;----------------&lt;o:p&gt;&lt;/o:p&gt;&lt;/SPAN&gt;&lt;/P&gt;
&lt;P style="MARGIN: 0in 0in 0pt" class=MsoNormal&gt;&lt;SPAN style="LINE-HEIGHT: 115%; FONT-FAMILY: 'Courier New'; FONT-SIZE: 10pt; mso-ansi-language: ru" lang=RU&gt;ProviderGuid&lt;SPAN style="mso-tab-count: 1"&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp; &lt;/SPAN&gt;EventName&lt;SPAN style="mso-tab-count: 1"&gt;&amp;nbsp;&amp;nbsp; &lt;/SPAN&gt;EventGuid&lt;o:p&gt;&lt;/o:p&gt;&lt;/SPAN&gt;&lt;/P&gt;
&lt;P style="MARGIN: 0in 0in 0pt" class=MsoNormal&gt;&lt;SPAN style="LINE-HEIGHT: 115%; FONT-FAMILY: 'Courier New'; FONT-SIZE: 10pt"&gt;9E814AAD-3204-11D2-9A82-006008A86939&lt;SPAN style="mso-tab-count: 1"&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp; &lt;/SPAN&gt;EventTrace&lt;SPAN style="mso-tab-count: 1"&gt;&amp;nbsp; &lt;/SPAN&gt;68FDD900-4A3E-11D1-84F4-0000F80464E3&lt;o:p&gt;&lt;/o:p&gt;&lt;/SPAN&gt;&lt;/P&gt;
&lt;P style="MARGIN: 0in 0in 0pt" class=MsoNormal&gt;&lt;SPAN style="mso-ansi-language: ru" lang=RU&gt;&lt;FONT size=3&gt;&lt;FONT face=Calibri&gt;Скрипт 3&lt;o:p&gt;&lt;/o:p&gt;&lt;/FONT&gt;&lt;/FONT&gt;&lt;/SPAN&gt;&lt;/P&gt;
&lt;P style="MARGIN: 0in 0in 0pt" class=MsoNormal&gt;&lt;SPAN style="mso-ansi-language: ru" lang=RU&gt;&lt;o:p&gt;&lt;FONT size=3 face=Calibri&gt;&amp;nbsp;&lt;/FONT&gt;&lt;/o:p&gt;&lt;/SPAN&gt;&lt;/P&gt;
&lt;P style="MARGIN: 0in 0in 0pt" class=MsoNormal&gt;&lt;SPAN style="mso-ansi-language: ru" lang=RU&gt;&lt;FONT size=3&gt;&lt;FONT face=Calibri&gt;и б) практически, ничем.&lt;o:p&gt;&lt;/o:p&gt;&lt;/FONT&gt;&lt;/FONT&gt;&lt;/SPAN&gt;&lt;/P&gt;
&lt;P style="MARGIN: 0in 0in 0pt" class=MsoNormal&gt;&lt;SPAN style="mso-ansi-language: ru" lang=RU&gt;&lt;o:p&gt;&lt;FONT size=3 face=Calibri&gt;&amp;nbsp;&lt;/FONT&gt;&lt;/o:p&gt;&lt;/SPAN&gt;&lt;/P&gt;
&lt;P style="MARGIN: 0in 0in 0pt" class=MsoNormal&gt;&lt;SPAN style="mso-ansi-language: ru" lang=RU&gt;&lt;FONT size=3 face=Calibri&gt;Всякий раз специфика области, для которой писан провайдер, и его изрядная степень свободы приводят к тому, что автор провайдера должен добротно документировать изрекаемые им сообщения, иначе в них будет проблематично разобраться. Пример хорошо документированных провайдеров и форматов их сообщений можно, например, наблюдать здесь - &lt;/FONT&gt;&lt;A href="http://msdn.microsoft.com/en-us/library/dd264810(VS.100).aspx" mce_href="http://msdn.microsoft.com/en-us/library/dd264810(VS.100).aspx"&gt;&lt;FONT size=3 face=Calibri&gt;.NET Framework 4 CLR ETW Events&lt;/FONT&gt;&lt;/A&gt;&lt;FONT size=3 face=Calibri&gt;. В случае MSSQLSERVER Trace благодаря паре несложных запросов и знакомству с SQL Trace структура сообщения приобретает более-менее ясность. Все равно, глядя на Рис.9 в &lt;/FONT&gt;&lt;A href="http://blogs.msdn.com/alexejs/archive/2009/09/04/sql-server-etw-1.aspx" mce_href="http://blogs.msdn.com/alexejs/archive/2009/09/04/sql-server-etw-1.aspx"&gt;&lt;FONT size=3 face=Calibri&gt;предыдущей серии&lt;/FONT&gt;&lt;/A&gt;&lt;FONT size=3 face=Calibri&gt;, задаешься вопросом: какие именно профайлерные события собирает провайдер MSSQLSERVER Trace, неужто все? Какие колонки по каждому событию, тоже все автоматом? Можно ли ставить фильтры на события в зависимости от значения той или иной колонки, как в профайлере? В &lt;/FONT&gt;&lt;/SPAN&gt;&lt;FONT size=3 face=Calibri&gt;Books&lt;SPAN style="mso-ansi-language: ru"&gt; &lt;/SPAN&gt;On&lt;SPAN style="mso-ansi-language: ru" lang=RU&gt;-&lt;/SPAN&gt;Line&lt;SPAN style="mso-ansi-language: ru" lang=RU&gt; искать на них ответ, по обыкновению, бестолку. Лучше&lt;/SPAN&gt;&lt;SPAN lang=RU&gt; &lt;/SPAN&gt;&lt;SPAN style="mso-ansi-language: ru" lang=RU&gt;обратиться&lt;/SPAN&gt;&lt;SPAN lang=RU&gt; &lt;/SPAN&gt;&lt;SPAN style="mso-ansi-language: ru" lang=RU&gt;к&lt;/SPAN&gt;&lt;SPAN lang=RU&gt; &lt;/SPAN&gt;&lt;SPAN style="mso-ansi-language: ru" lang=RU&gt;блогу&lt;/SPAN&gt; "&lt;/FONT&gt;&lt;A href="http://blogs.msdn.com/sqlqueryprocessing/archive/2006/11/12/using-etw-for-sql-server-2005.aspx" mce_href="http://blogs.msdn.com/sqlqueryprocessing/archive/2006/11/12/using-etw-for-sql-server-2005.aspx"&gt;&lt;FONT size=3 face=Calibri&gt;Tips, Tricks, and Advice from the SQL Server Query Processing Team&lt;/FONT&gt;&lt;/A&gt;&lt;FONT size=3&gt;&lt;FONT face=Calibri&gt;".&lt;SPAN style="mso-ansi-language: ru" lang=RU&gt;&lt;o:p&gt;&lt;/o:p&gt;&lt;/SPAN&gt;&lt;/FONT&gt;&lt;/FONT&gt;&lt;/P&gt;
&lt;P style="MARGIN: 0in 0in 0pt" class=MsoNormal&gt;&lt;SPAN style="mso-ansi-language: ru" lang=RU&gt;&lt;o:p&gt;&lt;FONT size=3 face=Calibri&gt;&amp;nbsp;&lt;/FONT&gt;&lt;/o:p&gt;&lt;/SPAN&gt;&lt;/P&gt;
&lt;P style="MARGIN: 0in 0in 0pt" class=MsoNormal&gt;&lt;SPAN style="mso-ansi-language: ru" lang=RU&gt;&lt;FONT size=3&gt;&lt;FONT face=Calibri&gt;События, информацию по которым MSSQLSERVER Trace засылает в ETW, перечислены в файле %ProgramFiles%\Microsoft SQL Server\MSSQL10.MSSQLSERVER\MSSQL\Binn\etwcnf.xml в шаблонах:&lt;o:p&gt;&lt;/o:p&gt;&lt;/FONT&gt;&lt;/FONT&gt;&lt;/SPAN&gt;&lt;/P&gt;
&lt;P style="MARGIN: 0in 0in 0pt" class=MsoNormal&gt;&lt;SPAN style="mso-ansi-language: ru" lang=RU&gt;&lt;o:p&gt;&lt;FONT size=3 face=Calibri&gt;&amp;nbsp;&lt;/FONT&gt;&lt;/o:p&gt;&lt;/SPAN&gt;&lt;/P&gt;
&lt;P style="MARGIN: 0in 0in 0pt" class=MsoNormal&gt;&lt;SPAN style="mso-ansi-language: ru" lang=RU&gt;&lt;o:p&gt;&lt;A href="http://blogs.msdn.com/blogfiles/alexejs/WindowsLiveWriter/SQLServerETW.2_2B8/image003_2.png" mce_href="http://blogs.msdn.com/blogfiles/alexejs/WindowsLiveWriter/SQLServerETW.2_2B8/image003_2.png"&gt;&lt;IMG style="BORDER-BOTTOM: 0px; BORDER-LEFT: 0px; DISPLAY: inline; BORDER-TOP: 0px; BORDER-RIGHT: 0px" title=image003 border=0 alt=image003 src="http://blogs.msdn.com/blogfiles/alexejs/WindowsLiveWriter/SQLServerETW.2_2B8/image003_thumb.png" width=315 height=736 mce_src="http://blogs.msdn.com/blogfiles/alexejs/WindowsLiveWriter/SQLServerETW.2_2B8/image003_thumb.png"&gt;&lt;/A&gt; &lt;/o:p&gt;&lt;/SPAN&gt;&lt;/P&gt;
&lt;P style="MARGIN: 0in 0in 0pt" class=MsoNormal&gt;&lt;FONT size=3&gt;&lt;FONT face=Calibri&gt;&lt;SPAN style="mso-no-proof: yes"&gt;&lt;v:shape style="WIDTH: 242.25pt; HEIGHT: 570.75pt; VISIBILITY: visible; mso-wrap-style: square" id=Picture_x0020_43 o:spid="_x0000_i1028" type="#_x0000_t75"&gt;&lt;v:imagedata mce_src="file:///C:\Users\ADMINI~1\AppData\Local\Temp\1\msohtmlclip1\01\clip_image003.png" src="file:///C:\Users\ADMINI~1\AppData\Local\Temp\1\msohtmlclip1\01\clip_image003.png" o:title=""&gt;&lt;/v:imagedata&gt;&lt;/v:shape&gt;&lt;/SPAN&gt;&lt;SPAN style="mso-ansi-language: ru" lang=RU&gt;&lt;o:p&gt;&lt;/o:p&gt;&lt;/SPAN&gt;&lt;/FONT&gt;&lt;/FONT&gt;&lt;/P&gt;
&lt;P style="MARGIN: 0in 0in 0pt" class=MsoNormal&gt;&lt;SPAN style="mso-ansi-language: ru" lang=RU&gt;&lt;FONT size=3&gt;&lt;FONT face=Calibri&gt;Рис.2&lt;o:p&gt;&lt;/o:p&gt;&lt;/FONT&gt;&lt;/FONT&gt;&lt;/SPAN&gt;&lt;/P&gt;
&lt;P style="MARGIN: 0in 0in 0pt" class=MsoNormal&gt;&lt;SPAN style="mso-ansi-language: ru" lang=RU&gt;&lt;o:p&gt;&lt;FONT size=3 face=Calibri&gt;&amp;nbsp;&lt;/FONT&gt;&lt;/o:p&gt;&lt;/SPAN&gt;&lt;/P&gt;
&lt;P style="MARGIN: 0in 0in 0pt" class=MsoNormal&gt;&lt;FONT size=3&gt;&lt;FONT face=Calibri&gt;&lt;SPAN style="mso-ansi-language: ru" lang=RU&gt;Здесь &amp;lt;&lt;/SPAN&gt;Event&lt;SPAN style="mso-ansi-language: ru"&gt; &lt;/SPAN&gt;id&lt;SPAN style="mso-ansi-language: ru" lang=RU&gt;=...&amp;gt; - это идентификаторы профайлерных событий. Понять, что какой значит, можно, обратившись к посту "&lt;A href="http://blogs.msdn.com/alexejs/archive/2009/07/25/1-2.aspx" mce_href="http://blogs.msdn.com/alexejs/archive/2009/07/25/1-2.aspx"&gt;Программно сгенерить трассу профайлера. Ч. 1, 2&lt;/A&gt;"\Скрипт 3. &lt;o:p&gt;&lt;/o:p&gt;&lt;/SPAN&gt;&lt;/FONT&gt;&lt;/FONT&gt;&lt;/P&gt;
&lt;P style="MARGIN: 0in 0in 0pt" class=MsoNormal&gt;&lt;SPAN style="mso-ansi-language: ru" lang=RU&gt;&lt;FONT size=3&gt;&lt;FONT face=Calibri&gt;По умолчанию она берет список событий из template c id = 0. Вот эти события:&lt;o:p&gt;&lt;/o:p&gt;&lt;/FONT&gt;&lt;/FONT&gt;&lt;/SPAN&gt;&lt;/P&gt;
&lt;P style="MARGIN: 0in 0in 0pt" class=MsoNormal&gt;&lt;SPAN style="mso-ansi-language: ru" lang=RU&gt;&lt;o:p&gt;&lt;FONT size=3 face=Calibri&gt;&amp;nbsp;&lt;/FONT&gt;&lt;/o:p&gt;&lt;/SPAN&gt;&lt;/P&gt;
&lt;P style="MARGIN: 0in 0in 0pt" class=MsoNormal&gt;&lt;SPAN style="LINE-HEIGHT: 115%; FONT-FAMILY: 'Courier New'; COLOR: blue; FONT-SIZE: 10pt; mso-no-proof: yes"&gt;select&lt;/SPAN&gt;&lt;SPAN style="LINE-HEIGHT: 115%; FONT-FAMILY: 'Courier New'; FONT-SIZE: 10pt; mso-no-proof: yes"&gt; &lt;SPAN style="COLOR: gray"&gt;*&lt;/SPAN&gt; &lt;SPAN style="COLOR: blue"&gt;from&lt;/SPAN&gt; &lt;SPAN style="COLOR: green"&gt;sys&lt;/SPAN&gt;&lt;SPAN style="COLOR: gray"&gt;.&lt;/SPAN&gt;&lt;SPAN style="COLOR: green"&gt;trace_events&lt;/SPAN&gt; &lt;SPAN style="COLOR: blue"&gt;where&lt;/SPAN&gt; trace_event_id &lt;SPAN style="COLOR: gray"&gt;in&lt;/SPAN&gt;&lt;SPAN style="COLOR: blue"&gt; &lt;/SPAN&gt;&lt;SPAN style="COLOR: gray"&gt;(&lt;/SPAN&gt;10&lt;SPAN style="COLOR: gray"&gt;,&lt;/SPAN&gt; 12&lt;SPAN style="COLOR: gray"&gt;,&lt;/SPAN&gt; 14&lt;SPAN style="COLOR: gray"&gt;,&lt;/SPAN&gt; 15&lt;SPAN style="COLOR: gray"&gt;,&lt;/SPAN&gt; 17&lt;SPAN style="COLOR: gray"&gt;)&lt;/SPAN&gt;&lt;/SPAN&gt;&lt;SPAN style="LINE-HEIGHT: 115%; FONT-FAMILY: 'Courier New'; COLOR: gray; FONT-SIZE: 10pt; mso-ansi-language: ru; mso-no-proof: yes" lang=RU&gt;&lt;o:p&gt;&lt;/o:p&gt;&lt;/SPAN&gt;&lt;/P&gt;
&lt;P style="MARGIN: 0in 0in 0pt" class=MsoNormal&gt;&lt;SPAN style="LINE-HEIGHT: 115%; FONT-FAMILY: 'Courier New'; COLOR: gray; FONT-SIZE: 10pt; mso-ansi-language: ru; mso-no-proof: yes" lang=RU&gt;----------------------------------&lt;o:p&gt;&lt;/o:p&gt;&lt;/SPAN&gt;&lt;/P&gt;
&lt;P style="MARGIN: 0in 0in 0pt" class=MsoNormal&gt;&lt;SPAN style="LINE-HEIGHT: 115%; FONT-FAMILY: 'Courier New'; FONT-SIZE: 10pt"&gt;trace_event_id&lt;SPAN style="mso-tab-count: 1"&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp; &lt;/SPAN&gt;category_id&lt;SPAN style="mso-tab-count: 1"&gt; &lt;/SPAN&gt;name&lt;o:p&gt;&lt;/o:p&gt;&lt;/SPAN&gt;&lt;/P&gt;
&lt;P style="MARGIN: 0in 0in 0pt" class=MsoNormal&gt;&lt;SPAN style="LINE-HEIGHT: 115%; FONT-FAMILY: 'Courier New'; FONT-SIZE: 10pt"&gt;10&lt;SPAN style="mso-tab-count: 1"&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp; &lt;/SPAN&gt;11&lt;SPAN style="mso-tab-count: 1"&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp; &lt;/SPAN&gt;RPC:Completed&lt;o:p&gt;&lt;/o:p&gt;&lt;/SPAN&gt;&lt;/P&gt;
&lt;P style="MARGIN: 0in 0in 0pt" class=MsoNormal&gt;&lt;SPAN style="LINE-HEIGHT: 115%; FONT-FAMILY: 'Courier New'; FONT-SIZE: 10pt"&gt;12&lt;SPAN style="mso-tab-count: 1"&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp; &lt;/SPAN&gt;13&lt;SPAN style="mso-tab-count: 1"&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp; &lt;/SPAN&gt;SQL:BatchCompleted&lt;o:p&gt;&lt;/o:p&gt;&lt;/SPAN&gt;&lt;/P&gt;
&lt;P style="MARGIN: 0in 0in 0pt" class=MsoNormal&gt;&lt;SPAN style="LINE-HEIGHT: 115%; FONT-FAMILY: 'Courier New'; FONT-SIZE: 10pt"&gt;14&lt;SPAN style="mso-tab-count: 1"&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp; &lt;/SPAN&gt;8&lt;SPAN style="mso-tab-count: 1"&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp; &lt;/SPAN&gt;Audit Login&lt;o:p&gt;&lt;/o:p&gt;&lt;/SPAN&gt;&lt;/P&gt;
&lt;P style="MARGIN: 0in 0in 0pt" class=MsoNormal&gt;&lt;SPAN style="LINE-HEIGHT: 115%; FONT-FAMILY: 'Courier New'; FONT-SIZE: 10pt"&gt;15&lt;SPAN style="mso-tab-count: 1"&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp; &lt;/SPAN&gt;8&lt;SPAN style="mso-tab-count: 1"&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp; &lt;/SPAN&gt;Audit Logout&lt;o:p&gt;&lt;/o:p&gt;&lt;/SPAN&gt;&lt;/P&gt;
&lt;P style="MARGIN: 0in 0in 0pt" class=MsoNormal&gt;&lt;SPAN style="LINE-HEIGHT: 115%; FONT-FAMILY: 'Courier New'; FONT-SIZE: 10pt"&gt;17&lt;SPAN style="mso-tab-count: 1"&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp; &lt;/SPAN&gt;10&lt;SPAN style="mso-tab-count: 1"&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp; &lt;/SPAN&gt;ExistingConnection&lt;o:p&gt;&lt;/o:p&gt;&lt;/SPAN&gt;&lt;/P&gt;
&lt;P style="MARGIN: 0in 0in 0pt" class=MsoNormal&gt;&lt;FONT size=3 face=Calibri&gt;Скрипт 4&lt;/FONT&gt;&lt;/P&gt;
&lt;P style="MARGIN: 0in 0in 0pt" class=MsoNormal&gt;&lt;SPAN style="mso-ansi-language: ru" lang=RU&gt;&lt;o:p&gt;&lt;FONT size=3 face=Calibri&gt;&amp;nbsp;&lt;/FONT&gt;&lt;/o:p&gt;&lt;/SPAN&gt;&lt;/P&gt;
&lt;P style="MARGIN: 0in 0in 0pt" class=MsoNormal&gt;&lt;SPAN style="mso-ansi-language: ru" lang=RU&gt;&lt;FONT size=3&gt;&lt;FONT face=Calibri&gt;Что совпадает со списком событий Скрипт 2, когда трасса была запущена из Reliability and Performance Monitor.&lt;o:p&gt;&lt;/o:p&gt;&lt;/FONT&gt;&lt;/FONT&gt;&lt;/SPAN&gt;&lt;/P&gt;
&lt;P style="MARGIN: 0in 0in 0pt" class=MsoNormal&gt;&lt;SPAN style="mso-ansi-language: ru" lang=RU&gt;&lt;FONT size=3&gt;&lt;FONT face=Calibri&gt;Какие колонки брать по каждому ивенту, оговаривается в файле %ProgramFiles%\Microsoft SQL Server\MSSQL10.MSSQLSERVER\MSSQL\Binn\etwcls.mof:&lt;o:p&gt;&lt;/o:p&gt;&lt;/FONT&gt;&lt;/FONT&gt;&lt;/SPAN&gt;&lt;/P&gt;
&lt;P style="MARGIN: 0in 0in 0pt" class=MsoNormal&gt;&lt;SPAN style="mso-ansi-language: ru" lang=RU&gt;&lt;o:p&gt;&lt;FONT size=3 face=Calibri&gt;&amp;nbsp;&lt;/FONT&gt;&lt;/o:p&gt;&lt;/SPAN&gt;&lt;/P&gt;
&lt;P style="MARGIN: 0in 0in 0pt" class=MsoNormal&gt;&lt;SPAN style="mso-ansi-language: ru" lang=RU&gt;&lt;o:p&gt;&lt;A href="http://blogs.msdn.com/blogfiles/alexejs/WindowsLiveWriter/SQLServerETW.2_2B8/image005_2.png" mce_href="http://blogs.msdn.com/blogfiles/alexejs/WindowsLiveWriter/SQLServerETW.2_2B8/image005_2.png"&gt;&lt;IMG style="BORDER-BOTTOM: 0px; BORDER-LEFT: 0px; DISPLAY: inline; BORDER-TOP: 0px; BORDER-RIGHT: 0px" title=image005 border=0 alt=image005 src="http://blogs.msdn.com/blogfiles/alexejs/WindowsLiveWriter/SQLServerETW.2_2B8/image005_thumb.png" width=434 height=590 mce_src="http://blogs.msdn.com/blogfiles/alexejs/WindowsLiveWriter/SQLServerETW.2_2B8/image005_thumb.png"&gt;&lt;/A&gt; &lt;/o:p&gt;&lt;/SPAN&gt;&lt;/P&gt;
&lt;P style="MARGIN: 0in 0in 0pt" class=MsoNormal&gt;&lt;FONT size=3&gt;&lt;FONT face=Calibri&gt;&lt;SPAN style="mso-no-proof: yes"&gt;&lt;v:shape style="WIDTH: 243.75pt; HEIGHT: 331.5pt; VISIBILITY: visible; mso-wrap-style: square" id=Picture_x0020_46 o:spid="_x0000_i1027" type="#_x0000_t75"&gt;&lt;v:imagedata mce_src="file:///C:\Users\ADMINI~1\AppData\Local\Temp\1\msohtmlclip1\01\clip_image005.png" src="file:///C:\Users\ADMINI~1\AppData\Local\Temp\1\msohtmlclip1\01\clip_image005.png" o:title=""&gt;&lt;/v:imagedata&gt;&lt;/v:shape&gt;&lt;/SPAN&gt;&lt;SPAN style="mso-ansi-language: ru" lang=RU&gt;&lt;o:p&gt;&lt;/o:p&gt;&lt;/SPAN&gt;&lt;/FONT&gt;&lt;/FONT&gt;&lt;/P&gt;
&lt;P style="MARGIN: 0in 0in 0pt" class=MsoNormal&gt;&lt;SPAN style="mso-ansi-language: ru" lang=RU&gt;&lt;FONT size=3&gt;&lt;FONT face=Calibri&gt;Рис.3&lt;o:p&gt;&lt;/o:p&gt;&lt;/FONT&gt;&lt;/FONT&gt;&lt;/SPAN&gt;&lt;/P&gt;
&lt;P style="MARGIN: 0in 0in 0pt" class=MsoNormal&gt;&lt;SPAN style="mso-ansi-language: ru" lang=RU&gt;&lt;o:p&gt;&lt;FONT size=3 face=Calibri&gt;&amp;nbsp;&lt;/FONT&gt;&lt;/o:p&gt;&lt;/SPAN&gt;&lt;/P&gt;
&lt;P style="MARGIN: 0in 0in 0pt" class=MsoNormal&gt;&lt;SPAN style="mso-ansi-language: ru" lang=RU&gt;&lt;FONT size=3 face=Calibri&gt;Как в MSSQLSERVER Trace фильтровать события по типу "&lt;/FONT&gt;&lt;A href="http://blogs.msdn.com/alexejs/archive/2009/07/25/1-2.aspx" mce_href="http://blogs.msdn.com/alexejs/archive/2009/07/25/1-2.aspx"&gt;&lt;FONT size=3 face=Calibri&gt;Программно сгенерить трассу профайлера. Ч. 1, 2&lt;/FONT&gt;&lt;/A&gt;&lt;FONT size=3&gt;&lt;FONT face=Calibri&gt;"\(Рис.4 или Скрипт 4), я не нашел. Зато я знаю, как ему подсунуть произвольный шаблон из Рис.2. Создадим в etwcnf.xml еще один шаблон. Этот шаблон будет соостоять из всего одного профайлерного события UserConfigurable:0. UserConfigurable-события хороши тем, что с ними не нужно ждать милостей от природы. Можно их вызывать по своему усмотрению.&lt;o:p&gt;&lt;/o:p&gt;&lt;/FONT&gt;&lt;/FONT&gt;&lt;/SPAN&gt;&lt;/P&gt;
&lt;P style="MARGIN: 0in 0in 0pt" class=MsoNormal&gt;&lt;SPAN style="mso-ansi-language: ru" lang=RU&gt;&lt;FONT size=3&gt;&lt;FONT face=Calibri&gt;...&lt;o:p&gt;&lt;/o:p&gt;&lt;/FONT&gt;&lt;/FONT&gt;&lt;/SPAN&gt;&lt;/P&gt;
&lt;P style="LINE-HEIGHT: normal; MARGIN: 0in 0in 0pt" class=MsoNormal&gt;&lt;SPAN style="FONT-FAMILY: 'Verdana','sans-serif'; COLOR: blue; FONT-SIZE: 10pt; mso-fareast-font-family: 'Times New Roman'; mso-bidi-font-family: 'Times New Roman'"&gt;&amp;lt;&lt;/SPAN&gt;&lt;SPAN style="FONT-FAMILY: 'Verdana','sans-serif'; COLOR: #990000; FONT-SIZE: 10pt; mso-fareast-font-family: 'Times New Roman'; mso-bidi-font-family: 'Times New Roman'"&gt;Template id&lt;/SPAN&gt;&lt;SPAN style="FONT-FAMILY: 'Verdana','sans-serif'; COLOR: blue; FONT-SIZE: 10pt; mso-fareast-font-family: 'Times New Roman'; mso-bidi-font-family: 'Times New Roman'"&gt;="&lt;/SPAN&gt;&lt;B&gt;&lt;SPAN style="FONT-FAMILY: 'Verdana','sans-serif'; FONT-SIZE: 10pt; mso-fareast-font-family: 'Times New Roman'; mso-bidi-font-family: 'Times New Roman'"&gt;6&lt;/SPAN&gt;&lt;/B&gt;&lt;SPAN style="FONT-FAMILY: 'Verdana','sans-serif'; COLOR: blue; FONT-SIZE: 10pt; mso-fareast-font-family: 'Times New Roman'; mso-bidi-font-family: 'Times New Roman'"&gt;"&lt;/SPAN&gt;&lt;SPAN style="FONT-FAMILY: 'Verdana','sans-serif'; COLOR: #990000; FONT-SIZE: 10pt; mso-fareast-font-family: 'Times New Roman'; mso-bidi-font-family: 'Times New Roman'"&gt; Name&lt;/SPAN&gt;&lt;SPAN style="FONT-FAMILY: 'Verdana','sans-serif'; COLOR: blue; FONT-SIZE: 10pt; mso-fareast-font-family: 'Times New Roman'; mso-bidi-font-family: 'Times New Roman'"&gt;="&lt;/SPAN&gt;&lt;B&gt;&lt;SPAN style="FONT-FAMILY: 'Verdana','sans-serif'; FONT-SIZE: 10pt; mso-fareast-font-family: 'Times New Roman'; mso-bidi-font-family: 'Times New Roman'"&gt;New Template&lt;/SPAN&gt;&lt;/B&gt;&lt;SPAN style="FONT-FAMILY: 'Verdana','sans-serif'; COLOR: blue; FONT-SIZE: 10pt; mso-fareast-font-family: 'Times New Roman'; mso-bidi-font-family: 'Times New Roman'"&gt;"&amp;gt;&lt;/SPAN&gt;&lt;SPAN style="FONT-FAMILY: 'Verdana','sans-serif'; FONT-SIZE: 10pt; mso-fareast-font-family: 'Times New Roman'; mso-bidi-font-family: 'Times New Roman'"&gt;&lt;o:p&gt;&lt;/o:p&gt;&lt;/SPAN&gt;&lt;/P&gt;
&lt;P style="LINE-HEIGHT: normal; TEXT-INDENT: -12pt; MARGIN: 0in 0in 0pt" class=MsoNormal&gt;&lt;SPAN style="FONT-FAMILY: 'Verdana','sans-serif'; FONT-SIZE: 10pt; mso-fareast-font-family: 'Times New Roman'; mso-bidi-font-family: 'Times New Roman'"&gt;&lt;SPAN style="mso-spacerun: yes"&gt;&amp;nbsp;&lt;/SPAN&gt;&lt;/SPAN&gt;&lt;SPAN style="FONT-FAMILY: 'Verdana','sans-serif'; FONT-SIZE: 10pt; mso-ansi-language: ru; mso-fareast-font-family: 'Times New Roman'; mso-bidi-font-family: 'Times New Roman'" lang=RU&gt;&lt;SPAN style="mso-spacerun: yes"&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp; &lt;/SPAN&gt;&lt;/SPAN&gt;&lt;SPAN style="FONT-FAMILY: 'Verdana','sans-serif'; COLOR: blue; FONT-SIZE: 10pt; mso-fareast-font-family: 'Times New Roman'; mso-bidi-font-family: 'Times New Roman'"&gt;&amp;lt;!--&lt;/SPAN&gt;&lt;SPAN style="FONT-FAMILY: 'Courier New'; COLOR: #888888; FONT-SIZE: 10pt; mso-fareast-font-family: 'Times New Roman'"&gt;82 = UserConfigurable:0 &lt;/SPAN&gt;&lt;SPAN style="FONT-FAMILY: 'Verdana','sans-serif'; COLOR: blue; FONT-SIZE: 10pt; mso-fareast-font-family: 'Times New Roman'; mso-bidi-font-family: 'Times New Roman'"&gt;--&amp;gt;&lt;/SPAN&gt;&lt;SPAN style="FONT-FAMILY: 'Verdana','sans-serif'; FONT-SIZE: 10pt; mso-fareast-font-family: 'Times New Roman'; mso-bidi-font-family: 'Times New Roman'"&gt; &lt;o:p&gt;&lt;/o:p&gt;&lt;/SPAN&gt;&lt;/P&gt;
&lt;P style="LINE-HEIGHT: normal; TEXT-INDENT: -24pt; MARGIN: 0in 0in 0pt" class=MsoNormal&gt;&lt;B&gt;&lt;SPAN style="FONT-FAMILY: 'Courier New'; COLOR: red; FONT-SIZE: 10pt; mso-fareast-font-family: 'Times New Roman'"&gt;&amp;nbsp;&lt;/SPAN&gt;&lt;/B&gt;&lt;SPAN style="FONT-FAMILY: 'Verdana','sans-serif'; FONT-SIZE: 10pt; mso-fareast-font-family: 'Times New Roman'; mso-bidi-font-family: 'Times New Roman'"&gt; &lt;/SPAN&gt;&lt;SPAN style="FONT-FAMILY: 'Verdana','sans-serif'; FONT-SIZE: 10pt; mso-ansi-language: ru; mso-fareast-font-family: 'Times New Roman'; mso-bidi-font-family: 'Times New Roman'" lang=RU&gt;&lt;SPAN style="mso-spacerun: yes"&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp; &lt;/SPAN&gt;&lt;/SPAN&gt;&lt;SPAN style="FONT-FAMILY: 'Verdana','sans-serif'; COLOR: blue; FONT-SIZE: 10pt; mso-fareast-font-family: 'Times New Roman'; mso-bidi-font-family: 'Times New Roman'"&gt;&amp;lt;&lt;/SPAN&gt;&lt;SPAN style="FONT-FAMILY: 'Verdana','sans-serif'; COLOR: #990000; FONT-SIZE: 10pt; mso-fareast-font-family: 'Times New Roman'; mso-bidi-font-family: 'Times New Roman'"&gt;Event&lt;/SPAN&gt;&lt;SPAN style="FONT-FAMILY: 'Verdana','sans-serif'; FONT-SIZE: 10pt; mso-fareast-font-family: 'Times New Roman'; mso-bidi-font-family: 'Times New Roman'"&gt; &lt;SPAN style="COLOR: #990000"&gt;id&lt;/SPAN&gt;&lt;SPAN style="COLOR: blue"&gt;="&lt;/SPAN&gt;&lt;B&gt;82&lt;/B&gt;&lt;SPAN style="COLOR: blue"&gt;" /&amp;gt;&lt;/SPAN&gt; &lt;o:p&gt;&lt;/o:p&gt;&lt;/SPAN&gt;&lt;/P&gt;
&lt;P style="LINE-HEIGHT: normal; TEXT-INDENT: -12pt; MARGIN: 0in 0in 0pt" class=MsoNormal&gt;&lt;B&gt;&lt;SPAN style="FONT-FAMILY: 'Courier New'; COLOR: red; FONT-SIZE: 10pt; mso-fareast-font-family: 'Times New Roman'"&gt;&amp;nbsp;&lt;/SPAN&gt;&lt;/B&gt;&lt;SPAN style="FONT-FAMILY: 'Verdana','sans-serif'; FONT-SIZE: 10pt; mso-fareast-font-family: 'Times New Roman'; mso-bidi-font-family: 'Times New Roman'"&gt; &lt;SPAN style="COLOR: blue"&gt;&amp;lt;/&lt;/SPAN&gt;&lt;SPAN style="COLOR: #990000"&gt;Template&lt;/SPAN&gt;&lt;SPAN style="COLOR: blue"&gt;&amp;gt;&lt;/SPAN&gt;&lt;o:p&gt;&lt;/o:p&gt;&lt;/SPAN&gt;&lt;/P&gt;
&lt;P style="LINE-HEIGHT: normal; TEXT-INDENT: -12pt; MARGIN: 0in 0in 0pt" class=MsoNormal&gt;&lt;B&gt;&lt;SPAN style="FONT-FAMILY: 'Courier New'; COLOR: red; FONT-SIZE: 10pt; mso-fareast-font-family: 'Times New Roman'"&gt;&amp;nbsp;&lt;/SPAN&gt;&lt;/B&gt;&lt;SPAN style="FONT-FAMILY: 'Verdana','sans-serif'; FONT-SIZE: 10pt; mso-fareast-font-family: 'Times New Roman'; mso-bidi-font-family: 'Times New Roman'"&gt; &lt;SPAN style="COLOR: blue"&gt;&amp;lt;/&lt;/SPAN&gt;&lt;SPAN style="COLOR: #990000"&gt;EventConfiguration&lt;/SPAN&gt;&lt;SPAN style="COLOR: blue"&gt;&amp;gt;&lt;/SPAN&gt;&lt;o:p&gt;&lt;/o:p&gt;&lt;/SPAN&gt;&lt;/P&gt;
&lt;P style="MARGIN: 0in 0in 0pt" class=MsoNormal&gt;&lt;SPAN style="mso-ansi-language: ru" lang=RU&gt;&lt;FONT face=Calibri&gt;&lt;FONT size=3&gt;Скрипт 5&lt;o:p&gt;&lt;/o:p&gt;&lt;/FONT&gt;&lt;/FONT&gt;&lt;/SPAN&gt;&lt;/P&gt;
&lt;P style="MARGIN: 0in 0in 0pt" class=MsoNormal&gt;&lt;SPAN style="mso-ansi-language: ru" lang=RU&gt;&lt;o:p&gt;&lt;FONT size=3 face=Calibri&gt;&amp;nbsp;&lt;/FONT&gt;&lt;/o:p&gt;&lt;/SPAN&gt;&lt;/P&gt;
&lt;P style="MARGIN: 0in 0in 0pt" class=MsoNormal&gt;&lt;SPAN style="mso-ansi-language: ru" lang=RU&gt;&lt;FONT face=Calibri&gt;&lt;FONT size=3&gt;Запускаем ETW-сессию вручную из-за того, что я не знаю, как ей подсунуть параметр -p (или -pf) в случае запуска из-под Reliability and Performance Monitor.&lt;o:p&gt;&lt;/o:p&gt;&lt;/FONT&gt;&lt;/FONT&gt;&lt;/SPAN&gt;&lt;/P&gt;
&lt;P style="MARGIN: 0in 0in 0pt" class=MsoNormal&gt;&lt;SPAN style="mso-ansi-language: ru" lang=RU&gt;&lt;o:p&gt;&lt;FONT size=3 face=Calibri&gt;&amp;nbsp;&lt;/FONT&gt;&lt;/o:p&gt;&lt;/SPAN&gt;&lt;/P&gt;
&lt;P style="MARGIN: 0in 0in 0pt" class=MsoNormal&gt;&lt;SPAN style="FONT-FAMILY: 'Courier New'"&gt;&lt;FONT size=3&gt;logman start SqlDataCollector -ets -o c:\Temp\SqlDataCollector.etl -p "MSSQLServer Trace" 6 0&lt;o:p&gt;&lt;/o:p&gt;&lt;/FONT&gt;&lt;/SPAN&gt;&lt;/P&gt;
&lt;P style="MARGIN: 0in 0in 0pt" class=MsoNormal&gt;&lt;SPAN style="mso-ansi-language: ru" lang=RU&gt;&lt;FONT face=Calibri&gt;&lt;FONT size=3&gt;Скрипт 7&lt;o:p&gt;&lt;/o:p&gt;&lt;/FONT&gt;&lt;/FONT&gt;&lt;/SPAN&gt;&lt;/P&gt;
&lt;P style="MARGIN: 0in 0in 0pt" class=MsoNormal&gt;&lt;SPAN style="mso-ansi-language: ru" lang=RU&gt;&lt;o:p&gt;&lt;FONT size=3 face=Calibri&gt;&amp;nbsp;&lt;/FONT&gt;&lt;/o:p&gt;&lt;/SPAN&gt;&lt;/P&gt;
&lt;P style="MARGIN: 0in 0in 10pt" class=MsoNormal&gt;&lt;SPAN style="mso-ansi-language: ru" lang=RU&gt;&lt;FONT size=3 face=Calibri&gt;Параметры логмана можно посмотреть на &lt;/FONT&gt;&lt;A href="http://technet.microsoft.com/en-us/library/bb490956.aspx" mce_href="http://technet.microsoft.com/en-us/library/bb490956.aspx"&gt;&lt;FONT size=3 face=Calibri&gt;технете&lt;/FONT&gt;&lt;/A&gt;&lt;FONT size=3 face=Calibri&gt;. -&lt;/FONT&gt;&lt;/SPAN&gt;&lt;FONT face=Calibri&gt;&lt;FONT size=3&gt;ets&lt;SPAN style="mso-ansi-language: ru"&gt; &lt;SPAN lang=RU&gt;: создает и стартует сессию &lt;/SPAN&gt;&lt;/SPAN&gt;event&lt;SPAN style="mso-ansi-language: ru"&gt; &lt;/SPAN&gt;trace&lt;SPAN style="mso-ansi-language: ru"&gt; &lt;/SPAN&gt;session&lt;SPAN style="mso-ansi-language: ru"&gt; &lt;SPAN lang=RU&gt;с опциями в командной строке. -о : выходной файл. Несмотря на то, что у коллектора по имени SqlDataCollector, созданного в Reliability and Performance Monitor, выходной файл был прописан - см. &lt;A href="http://blogs.msdn.com/alexejs/archive/2009/09/04/sql-server-etw-1.aspx" mce_href="http://blogs.msdn.com/alexejs/archive/2009/09/04/sql-server-etw-1.aspx"&gt;предыдущий пост&lt;/A&gt;\Рис.7, при ручном запуске она на него не обращает внимания и создает в той директории, откуда был запущен логман, если не указать явно. -p { GUID | provider [( flags [ ,flags ... ])] &lt;/SPAN&gt;&lt;/SPAN&gt;Level ] | -pf { FileName } : Specifies the providers (trace data collectors) to use for trace data collection... Use the -pf option to list multiple providers. The -pf option identifies the input file containing the provider names. The provider names are enclosed by quotation marks (""), or with GUIDs enclosed by braces, flag masks, and integers (enable level). The flags are either in hexadecimal (OXFFFF) or (flag, flag) format. &lt;SPAN style="mso-ansi-language: ru" lang=RU&gt;"&lt;/SPAN&gt;MSSQLServer&lt;SPAN style="mso-ansi-language: ru"&gt; &lt;/SPAN&gt;Trace&lt;SPAN style="mso-ansi-language: ru" lang=RU&gt;" - это название &lt;/SPAN&gt;ETW&lt;SPAN style="mso-ansi-language: ru" lang=RU&gt;-провайдера. 6 - id только что созданного темплейта в etwcnf.xml. 0 - запустить. &lt;o:p&gt;&lt;/o:p&gt;&lt;/SPAN&gt;&lt;/FONT&gt;&lt;/FONT&gt;&lt;/P&gt;
&lt;P style="MARGIN: 0in 0in 0pt" class=MsoNormal&gt;&lt;FONT face=Calibri&gt;&lt;FONT size=3&gt;&lt;SPAN style="mso-ansi-language: ru" lang=RU&gt;Если выглянуть из командной строки в Reliability and Performance Monitor, можно заметить, что &lt;/SPAN&gt;SqlDataCollector&lt;SPAN style="mso-ansi-language: ru" lang=RU&gt; в списке сессий (&lt;A href="http://blogs.msdn.com/alexejs/archive/2009/09/04/sql-server-etw-1.aspx" mce_href="http://blogs.msdn.com/alexejs/archive/2009/09/04/sql-server-etw-1.aspx"&gt;предыдущий пост&lt;/A&gt;\Рис.6) перешел из состояния &lt;/SPAN&gt;Stopped&lt;SPAN style="mso-ansi-language: ru" lang=RU&gt; в состояние Running. &lt;o:p&gt;&lt;/o:p&gt;&lt;/SPAN&gt;&lt;/FONT&gt;&lt;/FONT&gt;&lt;/P&gt;
&lt;P style="MARGIN: 0in 0in 0pt" class=MsoNormal&gt;&lt;SPAN style="mso-ansi-language: ru" lang=RU&gt;&lt;FONT face=Calibri&gt;&lt;FONT size=3&gt;Чтобы не открывать SSMS, оттуда же из командной строки инициируем событие 82, чтобы MSSQLSERVER Trace его поймал и заслал в ETW:&lt;o:p&gt;&lt;/o:p&gt;&lt;/FONT&gt;&lt;/FONT&gt;&lt;/SPAN&gt;&lt;/P&gt;
&lt;P style="MARGIN: 0in 0in 0pt" class=MsoNormal&gt;&lt;SPAN style="mso-ansi-language: ru" lang=RU&gt;&lt;o:p&gt;&lt;FONT size=3 face=Calibri&gt;&amp;nbsp;&lt;/FONT&gt;&lt;/o:p&gt;&lt;/SPAN&gt;&lt;/P&gt;
&lt;P style="MARGIN: 0in 0in 0pt" class=MsoNormal&gt;&lt;SPAN style="FONT-FAMILY: 'Courier New'"&gt;&lt;FONT size=3&gt;sqlcmd -S (local) -E -Q "exec sp_trace_generateevent @eventid = 82, @userinfo = N'Пользовательское событие №0', @userdata = 0x12345"&lt;o:p&gt;&lt;/o:p&gt;&lt;/FONT&gt;&lt;/SPAN&gt;&lt;/P&gt;
&lt;P style="MARGIN: 0in 0in 0pt" class=MsoNormal&gt;&lt;SPAN style="mso-ansi-language: ru" lang=RU&gt;&lt;FONT face=Calibri&gt;&lt;FONT size=3&gt;Скрипт 8&lt;o:p&gt;&lt;/o:p&gt;&lt;/FONT&gt;&lt;/FONT&gt;&lt;/SPAN&gt;&lt;/P&gt;
&lt;P style="MARGIN: 0in 0in 0pt" class=MsoNormal&gt;&lt;SPAN style="mso-ansi-language: ru" lang=RU&gt;&lt;o:p&gt;&lt;FONT size=3 face=Calibri&gt;&amp;nbsp;&lt;/FONT&gt;&lt;/o:p&gt;&lt;/SPAN&gt;&lt;/P&gt;
&lt;P style="MARGIN: 0in 0in 0pt" class=MsoNormal&gt;&lt;SPAN style="mso-ansi-language: ru" lang=RU&gt;&lt;FONT face=Calibri&gt;&lt;FONT size=3&gt;Стопим сессию:&lt;o:p&gt;&lt;/o:p&gt;&lt;/FONT&gt;&lt;/FONT&gt;&lt;/SPAN&gt;&lt;/P&gt;
&lt;P style="MARGIN: 0in 0in 0pt" class=MsoNormal&gt;&lt;SPAN style="mso-ansi-language: ru" lang=RU&gt;&lt;o:p&gt;&lt;FONT size=3 face=Calibri&gt;&amp;nbsp;&lt;/FONT&gt;&lt;/o:p&gt;&lt;/SPAN&gt;&lt;/P&gt;
&lt;P style="MARGIN: 0in 0in 0pt" class=MsoNormal&gt;&lt;SPAN style="FONT-FAMILY: 'Courier New'"&gt;&lt;FONT size=3&gt;logman stop SqlDataCollector -ets &lt;o:p&gt;&lt;/o:p&gt;&lt;/FONT&gt;&lt;/SPAN&gt;&lt;/P&gt;
&lt;P style="MARGIN: 0in 0in 0pt" class=MsoNormal&gt;&lt;FONT size=3&gt;&lt;FONT face=Calibri&gt;&lt;SPAN style="mso-ansi-language: ru" lang=RU&gt;Скрипт&lt;/SPAN&gt; 9&lt;/FONT&gt;&lt;/FONT&gt;&lt;/P&gt;
&lt;P style="MARGIN: 0in 0in 0pt" class=MsoNormal&gt;&lt;SPAN style="mso-ansi-language: ru" lang=RU&gt;&lt;o:p&gt;&lt;FONT size=3 face=Calibri&gt;&amp;nbsp;&lt;/FONT&gt;&lt;/o:p&gt;&lt;/SPAN&gt;&lt;/P&gt;
&lt;P style="MARGIN: 0in 0in 0pt" class=MsoNormal&gt;&lt;FONT size=3&gt;&lt;FONT face=Calibri&gt;&lt;SPAN style="mso-ansi-language: ru" lang=RU&gt;Превращаем &lt;/SPAN&gt;c&lt;SPAN style="mso-ansi-language: ru" lang=RU&gt;:\&lt;/SPAN&gt;Temp&lt;SPAN style="mso-ansi-language: ru" lang=RU&gt;\&lt;/SPAN&gt;SqlDataCollector&lt;SPAN style="mso-ansi-language: ru" lang=RU&gt;.&lt;/SPAN&gt;etl&lt;SPAN style="mso-ansi-language: ru" lang=RU&gt; в читабельный формат - см. &lt;A href="http://blogs.msdn.com/alexejs/archive/2009/09/04/sql-server-etw-1.aspx" mce_href="http://blogs.msdn.com/alexejs/archive/2009/09/04/sql-server-etw-1.aspx"&gt;предыдущий пост&lt;/A&gt;\Рис.9.&lt;o:p&gt;&lt;/o:p&gt;&lt;/SPAN&gt;&lt;/FONT&gt;&lt;/FONT&gt;&lt;/P&gt;
&lt;P style="MARGIN: 0in 0in 0pt" class=MsoNormal&gt;&lt;SPAN style="mso-ansi-language: ru" lang=RU&gt;&lt;o:p&gt;&lt;FONT size=3 face=Calibri&gt;&amp;nbsp;&lt;/FONT&gt;&lt;/o:p&gt;&lt;/SPAN&gt;&lt;/P&gt;
&lt;P style="MARGIN: 0in 0in 0pt" class=MsoNormal&gt;&lt;SPAN style="mso-ansi-language: ru" lang=RU&gt;&lt;o:p&gt;&lt;A href="http://blogs.msdn.com/blogfiles/alexejs/WindowsLiveWriter/SQLServerETW.2_2B8/image007_2.png" mce_href="http://blogs.msdn.com/blogfiles/alexejs/WindowsLiveWriter/SQLServerETW.2_2B8/image007_2.png"&gt;&lt;IMG style="BORDER-BOTTOM: 0px; BORDER-LEFT: 0px; DISPLAY: inline; BORDER-TOP: 0px; BORDER-RIGHT: 0px" title=image007 border=0 alt=image007 src="http://blogs.msdn.com/blogfiles/alexejs/WindowsLiveWriter/SQLServerETW.2_2B8/image007_thumb.png" width=651 height=397 mce_src="http://blogs.msdn.com/blogfiles/alexejs/WindowsLiveWriter/SQLServerETW.2_2B8/image007_thumb.png"&gt;&lt;/A&gt; &lt;/o:p&gt;&lt;/SPAN&gt;&lt;/P&gt;
&lt;P style="MARGIN: 0in 0in 0pt" class=MsoNormal&gt;&lt;FONT size=3&gt;&lt;FONT face=Calibri&gt;&lt;SPAN style="mso-no-proof: yes"&gt;&lt;v:shape style="WIDTH: 390.75pt; HEIGHT: 237.75pt; VISIBILITY: visible; mso-wrap-style: square" id=Picture_x0020_61 o:spid="_x0000_i1026" type="#_x0000_t75"&gt;&lt;v:imagedata mce_src="file:///C:\Users\ADMINI~1\AppData\Local\Temp\1\msohtmlclip1\01\clip_image007.png" src="file:///C:\Users\ADMINI~1\AppData\Local\Temp\1\msohtmlclip1\01\clip_image007.png" o:title=""&gt;&lt;/v:imagedata&gt;&lt;/v:shape&gt;&lt;/SPAN&gt;&lt;SPAN style="mso-ansi-language: ru" lang=RU&gt;&lt;o:p&gt;&lt;/o:p&gt;&lt;/SPAN&gt;&lt;/FONT&gt;&lt;/FONT&gt;&lt;/P&gt;
&lt;P style="MARGIN: 0in 0in 0pt" class=MsoNormal&gt;&lt;SPAN style="mso-ansi-language: ru" lang=RU&gt;&lt;FONT size=3&gt;&lt;FONT face=Calibri&gt;Рис.4&lt;/FONT&gt;&lt;/FONT&gt;&lt;/SPAN&gt;&lt;/P&gt;
&lt;P style="MARGIN: 0in 0in 0pt" class=MsoNormal&gt;&lt;SPAN style="mso-ansi-language: ru" lang=RU&gt;&lt;FONT size=3&gt;&lt;FONT face=Calibri&gt;&lt;/FONT&gt;&lt;/FONT&gt;&lt;/SPAN&gt;&amp;nbsp;&lt;/P&gt;
&lt;P style="MARGIN: 0in 0in 0pt" class=MsoNormal&gt;&lt;SPAN style="mso-ansi-language: ru" lang=RU&gt;&lt;FONT size=3&gt;&lt;FONT face=Calibri&gt;&lt;o:p&gt;&lt;A href="http://blogs.msdn.com/blogfiles/alexejs/WindowsLiveWriter/SQLServerETW.2_2B8/image009_2.png" mce_href="http://blogs.msdn.com/blogfiles/alexejs/WindowsLiveWriter/SQLServerETW.2_2B8/image009_2.png"&gt;&lt;IMG style="BORDER-BOTTOM: 0px; BORDER-LEFT: 0px; DISPLAY: inline; BORDER-TOP: 0px; BORDER-RIGHT: 0px" title=image009 border=0 alt=image009 src="http://blogs.msdn.com/blogfiles/alexejs/WindowsLiveWriter/SQLServerETW.2_2B8/image009_thumb.png" width=465 height=661 mce_src="http://blogs.msdn.com/blogfiles/alexejs/WindowsLiveWriter/SQLServerETW.2_2B8/image009_thumb.png"&gt;&lt;/A&gt; &lt;/o:p&gt;&lt;/FONT&gt;&lt;/FONT&gt;&lt;/SPAN&gt;&lt;/P&gt;
&lt;P style="MARGIN: 0in 0in 0pt" class=MsoNormal&gt;&lt;FONT size=3&gt;&lt;FONT face=Calibri&gt;&lt;SPAN style="mso-no-proof: yes"&gt;&lt;v:shape style="WIDTH: 370.5pt; HEIGHT: 529.5pt; VISIBILITY: visible; mso-wrap-style: square" id=Picture_x0020_58 o:spid="_x0000_i1025" type="#_x0000_t75"&gt;&lt;v:imagedata mce_src="file:///C:\Users\ADMINI~1\AppData\Local\Temp\1\msohtmlclip1\01\clip_image009.png" src="file:///C:\Users\ADMINI~1\AppData\Local\Temp\1\msohtmlclip1\01\clip_image009.png" o:title=""&gt;&lt;/v:imagedata&gt;&lt;/v:shape&gt;&lt;/SPAN&gt;&lt;SPAN style="mso-ansi-language: ru" lang=RU&gt;&lt;o:p&gt;&lt;/o:p&gt;&lt;/SPAN&gt;&lt;/FONT&gt;&lt;/FONT&gt;&lt;/P&gt;
&lt;P style="MARGIN: 0in 0in 0pt" class=MsoNormal&gt;&lt;SPAN style="mso-ansi-language: ru" lang=RU&gt;&lt;FONT size=3&gt;&lt;FONT face=Calibri&gt;Рис.5&lt;o:p&gt;&lt;/o:p&gt;&lt;/FONT&gt;&lt;/FONT&gt;&lt;/SPAN&gt;&lt;/P&gt;
&lt;P style="MARGIN: 0in 0in 0pt" class=MsoNormal&gt;&lt;SPAN style="mso-ansi-language: ru" lang=RU&gt;&lt;o:p&gt;&lt;FONT size=3 face=Calibri&gt;&amp;nbsp;&lt;/FONT&gt;&lt;/o:p&gt;&lt;/SPAN&gt;&lt;/P&gt;
&lt;P style="MARGIN: 0in 0in 0pt" class=MsoNormal&gt;&lt;FONT size=3&gt;&lt;FONT face=Calibri&gt;&lt;SPAN style="mso-ansi-language: ru" lang=RU&gt;Мы видим, что, помимо традиционной шапки в виде первого события EventTrace, теперь файл содержит только одно событие, и оно соответствует &lt;/SPAN&gt;SQL&lt;SPAN style="mso-ansi-language: ru"&gt; &lt;/SPAN&gt;Trace&lt;SPAN style="mso-ansi-language: ru" lang=RU&gt;'ному событию №82. Это действительно результат Скрипта 8, в чем можно убедиться по элементам &amp;lt;&lt;/SPAN&gt;EventData&lt;SPAN style="mso-ansi-language: ru" lang=RU&gt;&amp;gt;\&amp;lt;&lt;/SPAN&gt;TextData&lt;SPAN style="mso-ansi-language: ru" lang=RU&gt;&amp;gt; и &amp;lt;&lt;/SPAN&gt;BinaryData&lt;SPAN style="mso-ansi-language: ru" lang=RU&gt;&amp;gt;. &lt;/SPAN&gt;&lt;/FONT&gt;&lt;/FONT&gt;&lt;/P&gt;
&lt;P style="MARGIN: 0in 0in 0pt" class=MsoNormal&gt;&lt;FONT size=3&gt;&lt;FONT face=Calibri&gt;&lt;SPAN style="mso-ansi-language: ru" lang=RU&gt;&lt;/SPAN&gt;&lt;/FONT&gt;&lt;/FONT&gt;&amp;nbsp;&lt;/P&gt;
&lt;P style="MARGIN: 0in 0in 0pt" class=MsoNormal&gt;&lt;FONT size=3&gt;&lt;FONT face=Calibri&gt;&lt;SPAN style="mso-ansi-language: ru" lang=RU&gt;В следующей серии мы напишем своего ETW-провайдера, которого попытаемся поженить с SQL Serverным. Stay tuned.&lt;/SPAN&gt;&lt;/FONT&gt;&lt;/FONT&gt;&lt;/P&gt;&lt;img src="http://blogs.msdn.com/aggbug.aspx?PostID=9891587" width="1" height="1"&gt;</description></item><item><title>SQL Server и ETW. Ч.1</title><link>http://blogs.msdn.com/alexejs/archive/2009/09/04/sql-server-etw-1.aspx</link><pubDate>Fri, 04 Sep 2009 20:17:00 GMT</pubDate><guid isPermaLink="false">91d46819-8472-40ad-a661-2c78acb4018c:9891512</guid><dc:creator>alexejs</dc:creator><slash:comments>0</slash:comments><comments>http://blogs.msdn.com/alexejs/comments/9891512.aspx</comments><wfw:commentRss>http://blogs.msdn.com/alexejs/commentrss.aspx?PostID=9891512</wfw:commentRss><description>&lt;P style="MARGIN: 0in 0in 10pt" class=MsoNormal&gt;&lt;SPAN style="mso-ansi-language: ru" lang=RU&gt;&lt;FONT size=3 face=Calibri&gt;Вначале небольшая вводная на тему ETW, чтобы не получилось, как здесь - &lt;/FONT&gt;&lt;/SPAN&gt;&lt;A href="http://bytes.com/topic/net/answers/405066-what-windows-event-trace-windows-event-tracing" mce_href="http://bytes.com/topic/net/answers/405066-what-windows-event-trace-windows-event-tracing"&gt;&lt;SPAN style="mso-ansi-language: ru" lang=RU&gt;&lt;FONT size=3 face=Calibri&gt;http://bytes.com/topic/net/answers/405066-what-windows-event-trace-windows-event-tracing&lt;/FONT&gt;&lt;/SPAN&gt;&lt;/A&gt;&lt;SPAN style="mso-ansi-language: ru" lang=RU&gt;&lt;FONT face=Calibri&gt;&lt;FONT size=3&gt;.&lt;?xml:namespace prefix = o ns = "urn:schemas-microsoft-com:office:office" /&gt;&lt;o:p&gt;&lt;/o:p&gt;&lt;/FONT&gt;&lt;/FONT&gt;&lt;/SPAN&gt;&lt;/P&gt;
&lt;P style="MARGIN: 0in 0in 10pt" class=MsoNormal&gt;&lt;SPAN style="mso-ansi-language: ru" lang=RU&gt;&lt;FONT size=3 face=Calibri&gt;Классической статьей по ETW служит &lt;/FONT&gt;&lt;/SPAN&gt;&lt;A href="http://msdn.microsoft.com/ru-ru/magazine/cc163437.aspx" mce_href="http://msdn.microsoft.com/ru-ru/magazine/cc163437.aspx"&gt;&lt;SPAN style="mso-ansi-language: ru" lang=RU&gt;&lt;FONT size=3 face=Calibri&gt;http://msdn.microsoft.com/ru-ru/magazine/cc163437.aspx&lt;/FONT&gt;&lt;/SPAN&gt;&lt;/A&gt;&lt;SPAN style="mso-ansi-language: ru" lang=RU&gt;&lt;FONT face=Calibri&gt;&lt;FONT size=3&gt;. &lt;o:p&gt;&lt;/o:p&gt;&lt;/FONT&gt;&lt;/FONT&gt;&lt;/SPAN&gt;&lt;/P&gt;
&lt;P style="MARGIN: 0in 0in 10pt" class=MsoNormal&gt;&lt;FONT face=Calibri&gt;&lt;FONT size=3&gt;Event&lt;SPAN style="mso-ansi-language: ru"&gt; &lt;/SPAN&gt;Tracing&lt;SPAN style="mso-ansi-language: ru"&gt; &lt;/SPAN&gt;for&lt;SPAN style="mso-ansi-language: ru"&gt; &lt;/SPAN&gt;Windows&lt;SPAN style="mso-ansi-language: ru" lang=RU&gt; (&lt;/SPAN&gt;ETW&lt;SPAN style="mso-ansi-language: ru" lang=RU&gt;) является базовым унифицированным механизмом трассировки событий в Windows. По сути, &lt;/SPAN&gt;ETW&lt;SPAN style="mso-ansi-language: ru" lang=RU&gt; - это однонаправленный пакетный ввод/вывод, предназначенный для журналирования. Под журналирование на уровне каждого процессора отводятся буфера, которые скидываются на диск в асинхронном режиме специальным потоком. Эти операции выполняются в режиме ядра, и оттого занимают копейки в сравнении с, допустим, fprintf(). Даже на древних пентиумах &lt;/SPAN&gt;ETW&lt;SPAN style="mso-ansi-language: ru" lang=RU&gt; с темпом 20 тыс. событий в секунду сажала процессор не более, чем на 5%. Механизм реализован на уровне ядра; использовать его, т.е. производить события и потреблять их могут как драйверы ядра, так и пользовательские приложения. Данные о событии могут иметь какую угодно структуру на усмотрение приложения, его производящего, т.е. это просто блок бинарщины. Однако к нему прикрепляется заголовок со служебной и идентифицирующей информацией, которую мы посмотрим ниже на примере Рис.9.&lt;o:p&gt;&lt;/o:p&gt;&lt;/SPAN&gt;&lt;/FONT&gt;&lt;/FONT&gt;&lt;/P&gt;
&lt;P style="MARGIN: 0in 0in 10pt" class=MsoNormal&gt;&lt;SPAN style="mso-ansi-language: ru" lang=RU&gt;&lt;FONT face=Calibri&gt;&lt;FONT size=3&gt;Провайдер событий - это dll или ехе, которая их производит, - потребитель, соответственно, тот, кто потребляет. Список зарегистрированных провайдеров можно посмотреть при помощи утилиты командной строки logman:&lt;o:p&gt;&lt;/o:p&gt;&lt;/FONT&gt;&lt;/FONT&gt;&lt;/SPAN&gt;&lt;/P&gt;
&lt;P style="MARGIN: 0in 0in 10pt" class=MsoNormal&gt;&lt;SPAN style="FONT-FAMILY: 'Courier New'; mso-ansi-language: ru" lang=RU&gt;&lt;FONT size=3&gt;logman -query providers&lt;o:p&gt;&lt;/o:p&gt;&lt;/FONT&gt;&lt;/SPAN&gt;&lt;/P&gt;
&lt;P style="MARGIN: 0in 0in 10pt" class=MsoNormal&gt;&lt;FONT size=3&gt;&lt;SPAN style="mso-no-proof: yes"&gt;&lt;?xml:namespace prefix = v ns = "urn:schemas-microsoft-com:vml" /&gt;&lt;v:shapetype id=_x0000_t75 stroked="f" filled="f" path="m@4@5l@4@11@9@11@9@5xe" o:preferrelative="t" o:spt="75" coordsize="21600,21600"&gt;&lt;v:stroke joinstyle="miter"&gt;&lt;/v:stroke&gt;&lt;v:formulas&gt;&lt;v:f eqn="if lineDrawn pixelLineWidth 0"&gt;&lt;/v:f&gt;&lt;v:f eqn="sum @0 1 0"&gt;&lt;/v:f&gt;&lt;v:f eqn="sum 0 0 @1"&gt;&lt;/v:f&gt;&lt;v:f eqn="prod @2 1 2"&gt;&lt;/v:f&gt;&lt;v:f eqn="prod @3 21600 pixelWidth"&gt;&lt;/v:f&gt;&lt;v:f eqn="prod @3 21600 pixelHeight"&gt;&lt;/v:f&gt;&lt;v:f eqn="sum @0 0 1"&gt;&lt;/v:f&gt;&lt;v:f eqn="prod @6 1 2"&gt;&lt;/v:f&gt;&lt;v:f eqn="prod @7 21600 pixelWidth"&gt;&lt;/v:f&gt;&lt;v:f eqn="sum @8 21600 0"&gt;&lt;/v:f&gt;&lt;v:f eqn="prod @7 21600 pixelHeight"&gt;&lt;/v:f&gt;&lt;v:f eqn="sum @10 21600 0"&gt;&lt;/v:f&gt;&lt;/v:formulas&gt;&lt;v:path o:connecttype="rect" gradientshapeok="t" o:extrusionok="f"&gt;&lt;/v:path&gt;&lt;o:lock aspectratio="t" v:ext="edit"&gt;&lt;/o:lock&gt;&lt;/v:shapetype&gt;&lt;v:shape style="WIDTH: 484.5pt; HEIGHT: 243pt; VISIBILITY: visible; mso-wrap-style: square" id=_x0000_i1038 type="#_x0000_t75"&gt;&lt;v:imagedata o:title="" src="file:///C:\Users\ADMINI~1\AppData\Local\Temp\1\msohtmlclip1\01\clip_image001.png" mce_src="file:///C:\Users\ADMINI~1\AppData\Local\Temp\1\msohtmlclip1\01\clip_image001.png"&gt;&lt;/v:imagedata&gt;&lt;/v:shape&gt;&lt;/SPAN&gt;&lt;SPAN style="mso-ansi-language: ru" lang=RU&gt;&lt;o:p&gt;&lt;/o:p&gt;&lt;/SPAN&gt;&lt;/FONT&gt;&lt;/P&gt;
&lt;P style="MARGIN: 0in 0in 10pt" class=MsoNormal&gt;&lt;FONT face=Calibri&gt;&lt;FONT size=3&gt;&lt;SPAN style="mso-ansi-language: ru" lang=RU&gt;&lt;A href="http://blogs.msdn.com/blogfiles/alexejs/WindowsLiveWriter/SQLServerETW.1_12E56/image001_2.png" mce_href="http://blogs.msdn.com/blogfiles/alexejs/WindowsLiveWriter/SQLServerETW.1_12E56/image001_2.png"&gt;&lt;IMG style="BORDER-BOTTOM: 0px; BORDER-LEFT: 0px; DISPLAY: inline; BORDER-TOP: 0px; BORDER-RIGHT: 0px" title=image001 border=0 alt=image001 src="http://blogs.msdn.com/blogfiles/alexejs/WindowsLiveWriter/SQLServerETW.1_12E56/image001_thumb.png" width=691 height=350 mce_src="http://blogs.msdn.com/blogfiles/alexejs/WindowsLiveWriter/SQLServerETW.1_12E56/image001_thumb.png"&gt;&lt;/A&gt; &lt;/SPAN&gt;&lt;/FONT&gt;&lt;/FONT&gt;&lt;/P&gt;
&lt;P style="MARGIN: 0in 0in 10pt" class=MsoNormal&gt;&lt;FONT face=Calibri&gt;&lt;FONT size=3&gt;&lt;SPAN style="mso-ansi-language: ru" lang=RU&gt;Рис&lt;/SPAN&gt;.1&lt;/FONT&gt;&lt;/FONT&gt;&lt;/P&gt;
&lt;P style="MARGIN: 0in 0in 10pt" class=MsoNormal&gt;&lt;FONT face=Calibri&gt;&lt;FONT size=3&gt;&lt;SPAN style="mso-ansi-language: ru" lang=RU&gt;Либо&lt;/SPAN&gt;&lt;SPAN lang=RU&gt; &lt;/SPAN&gt;&lt;SPAN style="mso-ansi-language: ru" lang=RU&gt;можно&lt;/SPAN&gt;&lt;SPAN lang=RU&gt; &lt;/SPAN&gt;&lt;SPAN style="mso-ansi-language: ru" lang=RU&gt;пойти&lt;/SPAN&gt;&lt;SPAN lang=RU&gt; &lt;/SPAN&gt;&lt;SPAN style="mso-ansi-language: ru" lang=RU&gt;в&lt;/SPAN&gt; Administrative Tools \ Reliability and Performance Monitor (&lt;SPAN style="mso-ansi-language: ru" lang=RU&gt;или&lt;/SPAN&gt;&lt;SPAN lang=RU&gt; &lt;/SPAN&gt;&lt;SPAN style="mso-ansi-language: ru" lang=RU&gt;вызвать&lt;/SPAN&gt;&lt;SPAN lang=RU&gt; &lt;/SPAN&gt;&lt;SPAN style="mso-ansi-language: ru" lang=RU&gt;в&lt;/SPAN&gt;&lt;SPAN lang=RU&gt; &lt;/SPAN&gt;&lt;SPAN style="mso-ansi-language: ru" lang=RU&gt;команде&lt;/SPAN&gt; Run perfmon.msc) &lt;SPAN style="mso-ansi-language: ru" lang=RU&gt;и&lt;/SPAN&gt;&lt;SPAN lang=RU&gt; &lt;/SPAN&gt;&lt;SPAN style="mso-ansi-language: ru" lang=RU&gt;создать&lt;/SPAN&gt;&lt;SPAN lang=RU&gt; &lt;/SPAN&gt;&lt;SPAN style="mso-ansi-language: ru" lang=RU&gt;новый&lt;/SPAN&gt;&lt;SPAN lang=RU&gt; &lt;/SPAN&gt;&lt;SPAN style="mso-ansi-language: ru" lang=RU&gt;пользовательский&lt;/SPAN&gt;&lt;SPAN lang=RU&gt; &lt;/SPAN&gt;Data Collector Set&lt;/FONT&gt;&lt;/FONT&gt;&lt;/P&gt;
&lt;P style="MARGIN: 0in 0in 0pt" class=MsoNormal&gt;&lt;o:p&gt;&lt;FONT size=3 face=Calibri&gt;&amp;nbsp;&lt;A href="http://blogs.msdn.com/blogfiles/alexejs/WindowsLiveWriter/SQLServerETW.1_12E56/image003_2.png" mce_href="http://blogs.msdn.com/blogfiles/alexejs/WindowsLiveWriter/SQLServerETW.1_12E56/image003_2.png"&gt;&lt;IMG style="BORDER-BOTTOM: 0px; BORDER-LEFT: 0px; DISPLAY: inline; BORDER-TOP: 0px; BORDER-RIGHT: 0px" title=image003 border=0 alt=image003 src="http://blogs.msdn.com/blogfiles/alexejs/WindowsLiveWriter/SQLServerETW.1_12E56/image003_thumb.png" width=476 height=306 mce_src="http://blogs.msdn.com/blogfiles/alexejs/WindowsLiveWriter/SQLServerETW.1_12E56/image003_thumb.png"&gt;&lt;/A&gt; &lt;A href="http://blogs.msdn.com/blogfiles/alexejs/WindowsLiveWriter/SQLServerETW.1_12E56/image005_2.png" mce_href="http://blogs.msdn.com/blogfiles/alexejs/WindowsLiveWriter/SQLServerETW.1_12E56/image005_2.png"&gt;&lt;IMG style="BORDER-BOTTOM: 0px; BORDER-LEFT: 0px; DISPLAY: inline; BORDER-TOP: 0px; BORDER-RIGHT: 0px" title=image005 border=0 alt=image005 src="http://blogs.msdn.com/blogfiles/alexejs/WindowsLiveWriter/SQLServerETW.1_12E56/image005_thumb.png" width=396 height=305 mce_src="http://blogs.msdn.com/blogfiles/alexejs/WindowsLiveWriter/SQLServerETW.1_12E56/image005_thumb.png"&gt;&lt;/A&gt; &lt;/FONT&gt;&lt;/o:p&gt;&lt;/P&gt;
&lt;P style="MARGIN: 0in 0in 10pt" class=MsoNormal&gt;&lt;SPAN style="mso-no-proof: yes"&gt;&lt;FONT face=Calibri&gt;&lt;FONT size=3&gt;&lt;v:shape style="WIDTH: 260.25pt; HEIGHT: 166.5pt; VISIBILITY: visible; mso-wrap-style: square" id=_x0000_i1037 type="#_x0000_t75"&gt;&lt;v:imagedata o:title="" src="file:///C:\Users\ADMINI~1\AppData\Local\Temp\1\msohtmlclip1\01\clip_image003.png" mce_src="file:///C:\Users\ADMINI~1\AppData\Local\Temp\1\msohtmlclip1\01\clip_image003.png"&gt;&lt;/v:imagedata&gt;&lt;/v:shape&gt;&lt;v:shape style="WIDTH: 217.5pt; HEIGHT: 165.75pt; VISIBILITY: visible; mso-wrap-style: square" id=Picture_x0020_8 type="#_x0000_t75" o:spid="_x0000_i1036"&gt;&lt;v:imagedata o:title="" src="file:///C:\Users\ADMINI~1\AppData\Local\Temp\1\msohtmlclip1\01\clip_image005.png" mce_src="file:///C:\Users\ADMINI~1\AppData\Local\Temp\1\msohtmlclip1\01\clip_image005.png"&gt;&lt;/v:imagedata&gt;&lt;/v:shape&gt;&lt;/FONT&gt;&lt;/FONT&gt;&lt;/SPAN&gt;&lt;/P&gt;
&lt;P style="MARGIN: 0in 0in 10pt" class=MsoNormal&gt;&lt;SPAN style="mso-ansi-language: ru" lang=RU&gt;&lt;FONT face=Calibri&gt;&lt;FONT size=3&gt;Рис.2&lt;o:p&gt;&lt;/o:p&gt;&lt;/FONT&gt;&lt;/FONT&gt;&lt;/SPAN&gt;&lt;/P&gt;
&lt;P style="MARGIN: 0in 0in 10pt" class=MsoNormal&gt;&lt;SPAN style="mso-ansi-language: ru" lang=RU&gt;&lt;FONT face=Calibri&gt;&lt;FONT size=3&gt;который будет собирать данные из ETW&lt;o:p&gt;&lt;/o:p&gt;&lt;/FONT&gt;&lt;/FONT&gt;&lt;/SPAN&gt;&lt;/P&gt;
&lt;P style="MARGIN: 0in 0in 10pt" class=MsoNormal&gt;&lt;SPAN style="mso-no-proof: yes"&gt;&lt;v:shape style="WIDTH: 261pt; HEIGHT: 198.75pt; VISIBILITY: visible; mso-wrap-style: square" id=Picture_x0020_11 type="#_x0000_t75" o:spid="_x0000_i1035"&gt;&lt;v:imagedata o:title="" src="file:///C:\Users\ADMINI~1\AppData\Local\Temp\1\msohtmlclip1\01\clip_image007.png" mce_src="file:///C:\Users\ADMINI~1\AppData\Local\Temp\1\msohtmlclip1\01\clip_image007.png"&gt;&lt;FONT size=3 face=Calibri&gt;&lt;/FONT&gt;&lt;/v:imagedata&gt;&lt;/v:shape&gt;&lt;/SPAN&gt;&lt;/P&gt;
&lt;P style="MARGIN: 0in 0in 10pt" class=MsoNormal&gt;&lt;SPAN style="mso-ansi-language: ru" lang=RU&gt;&lt;FONT face=Calibri&gt;&lt;FONT size=3&gt;&lt;A href="http://blogs.msdn.com/blogfiles/alexejs/WindowsLiveWriter/SQLServerETW.1_12E56/image007_2.png" mce_href="http://blogs.msdn.com/blogfiles/alexejs/WindowsLiveWriter/SQLServerETW.1_12E56/image007_2.png"&gt;&lt;IMG style="BORDER-BOTTOM: 0px; BORDER-LEFT: 0px; DISPLAY: inline; BORDER-TOP: 0px; BORDER-RIGHT: 0px" title=image007 border=0 alt=image007 src="http://blogs.msdn.com/blogfiles/alexejs/WindowsLiveWriter/SQLServerETW.1_12E56/image007_thumb.png" width=395 height=304 mce_src="http://blogs.msdn.com/blogfiles/alexejs/WindowsLiveWriter/SQLServerETW.1_12E56/image007_thumb.png"&gt;&lt;/A&gt; &lt;/FONT&gt;&lt;/FONT&gt;&lt;/SPAN&gt;&lt;/P&gt;
&lt;P style="MARGIN: 0in 0in 10pt" class=MsoNormal&gt;&lt;SPAN style="mso-ansi-language: ru" lang=RU&gt;&lt;FONT face=Calibri&gt;&lt;FONT size=3&gt;Рис.3&lt;o:p&gt;&lt;/o:p&gt;&lt;/FONT&gt;&lt;/FONT&gt;&lt;/SPAN&gt;&lt;/P&gt;
&lt;P style="MARGIN: 0in 0in 10pt" class=MsoNormal&gt;&lt;SPAN style="mso-ansi-language: ru" lang=RU&gt;&lt;FONT face=Calibri&gt;&lt;FONT size=3&gt;следующим шагом будет предложено выбрать ETW-провайдера из списка доступных:&lt;/FONT&gt;&lt;/FONT&gt;&lt;/SPAN&gt;&lt;/P&gt;
&lt;P style="MARGIN: 0in 0in 10pt" class=MsoNormal&gt;&lt;SPAN style="mso-ansi-language: ru" lang=RU&gt;&lt;FONT face=Calibri&gt;&lt;FONT size=3&gt;&lt;o:p&gt;&lt;A href="http://blogs.msdn.com/blogfiles/alexejs/WindowsLiveWriter/SQLServerETW.1_12E56/image009_2.png" mce_href="http://blogs.msdn.com/blogfiles/alexejs/WindowsLiveWriter/SQLServerETW.1_12E56/image009_2.png"&gt;&lt;IMG style="BORDER-BOTTOM: 0px; BORDER-LEFT: 0px; DISPLAY: inline; BORDER-TOP: 0px; BORDER-RIGHT: 0px" title=image009 border=0 alt=image009 src="http://blogs.msdn.com/blogfiles/alexejs/WindowsLiveWriter/SQLServerETW.1_12E56/image009_thumb.png" width=393 height=302 mce_src="http://blogs.msdn.com/blogfiles/alexejs/WindowsLiveWriter/SQLServerETW.1_12E56/image009_thumb.png"&gt;&lt;/A&gt; &lt;A href="http://blogs.msdn.com/blogfiles/alexejs/WindowsLiveWriter/SQLServerETW.1_12E56/image011_2.png" mce_href="http://blogs.msdn.com/blogfiles/alexejs/WindowsLiveWriter/SQLServerETW.1_12E56/image011_2.png"&gt;&lt;IMG style="BORDER-BOTTOM: 0px; BORDER-LEFT: 0px; DISPLAY: inline; BORDER-TOP: 0px; BORDER-RIGHT: 0px" title=image011 border=0 alt=image011 src="http://blogs.msdn.com/blogfiles/alexejs/WindowsLiveWriter/SQLServerETW.1_12E56/image011_thumb.png" width=307 height=302 mce_src="http://blogs.msdn.com/blogfiles/alexejs/WindowsLiveWriter/SQLServerETW.1_12E56/image011_thumb.png"&gt;&lt;/A&gt; &lt;/o:p&gt;&lt;/FONT&gt;&lt;/FONT&gt;&lt;/SPAN&gt;&lt;/P&gt;
&lt;P style="MARGIN: 0in 0in 10pt" class=MsoNormal&gt;&lt;FONT face=Calibri&gt;&lt;FONT size=3&gt;&lt;SPAN style="mso-no-proof: yes"&gt;&lt;v:shape style="WIDTH: 265.5pt; HEIGHT: 202.5pt; VISIBILITY: visible; mso-wrap-style: square" id=Picture_x0020_10 type="#_x0000_t75" o:spid="_x0000_i1034"&gt;&lt;v:imagedata o:title="" src="file:///C:\Users\ADMINI~1\AppData\Local\Temp\1\msohtmlclip1\01\clip_image009.png" mce_src="file:///C:\Users\ADMINI~1\AppData\Local\Temp\1\msohtmlclip1\01\clip_image009.png"&gt;&lt;/v:imagedata&gt;&lt;/v:shape&gt;&lt;v:shape style="WIDTH: 206.25pt; HEIGHT: 203.25pt; VISIBILITY: visible; mso-wrap-style: square" id=Picture_x0020_7 type="#_x0000_t75" o:spid="_x0000_i1033"&gt;&lt;v:imagedata o:title="" src="file:///C:\Users\ADMINI~1\AppData\Local\Temp\1\msohtmlclip1\01\clip_image011.png" mce_src="file:///C:\Users\ADMINI~1\AppData\Local\Temp\1\msohtmlclip1\01\clip_image011.png"&gt;&lt;/v:imagedata&gt;&lt;/v:shape&gt;&lt;/SPAN&gt;&lt;SPAN style="mso-ansi-language: ru" lang=RU&gt;&lt;o:p&gt;&lt;/o:p&gt;&lt;/SPAN&gt;&lt;/FONT&gt;&lt;/FONT&gt;&lt;/P&gt;
&lt;P style="MARGIN: 0in 0in 10pt" class=MsoNormal&gt;&lt;SPAN style="mso-ansi-language: ru" lang=RU&gt;&lt;FONT face=Calibri&gt;&lt;FONT size=3&gt;Рис.4&lt;o:p&gt;&lt;/o:p&gt;&lt;/FONT&gt;&lt;/FONT&gt;&lt;/SPAN&gt;&lt;/P&gt;
&lt;P style="MARGIN: 0in 0in 10pt" class=MsoNormal&gt;&lt;SPAN style="mso-ansi-language: ru" lang=RU&gt;&lt;FONT size=3 face=Calibri&gt;Справа высветился тот же список, что и на Рис.1. В списке провайдеров к SQL Server имеют отношение MSSQLSERVER Trace (в случае именованного экземпляра вместо MSSQLSERVER будет стоять имя инстанса - см. пост "&lt;/FONT&gt;&lt;A href="http://blogs.msdn.com/alexejs/archive/2009/06/25/9803387.aspx" mce_href="http://blogs.msdn.com/alexejs/archive/2009/06/25/9803387.aspx"&gt;&lt;FONT color=#0000ff size=3 face=Calibri&gt;Именованый экземпляр по умолчанию&lt;/FONT&gt;&lt;/A&gt;&lt;FONT size=3 face=Calibri&gt;"), RsFx0102 Kernel Log (драйвер &lt;/FONT&gt;&lt;/SPAN&gt;&lt;FONT face=Calibri&gt;&lt;FONT size=3&gt;FileStream&lt;SPAN style="mso-ansi-language: ru" lang=RU&gt;), XEvent Package 0 (расширенные события) и др. В данном посте нас будет интересовать первый товарищ. Он просто тупо шлет в &lt;/SPAN&gt;ETW&lt;SPAN style="mso-ansi-language: ru" lang=RU&gt; все, что происходит в &lt;/SPAN&gt;SQL&lt;SPAN style="mso-ansi-language: ru"&gt; &lt;/SPAN&gt;Trace&lt;SPAN style="mso-ansi-language: ru" lang=RU&gt;. &lt;o:p&gt;&lt;/o:p&gt;&lt;/SPAN&gt;&lt;/FONT&gt;&lt;/FONT&gt;&lt;/P&gt;
&lt;P style="MARGIN: 0in 0in 10pt" class=MsoNormal&gt;&lt;FONT face=Calibri&gt;&lt;FONT size=3&gt;&lt;SPAN style="mso-ansi-language: ru" lang=RU&gt;Помимо провайдера и потребителя, есть еще контроллер, который управляет этим процессом. Контроллер обращается к ядру с просьбой начать трейс-сессию, создается хэндл (через &lt;/SPAN&gt;callback&lt;SPAN style="mso-ansi-language: ru" lang=RU&gt; в пользовательском режиме или прерывание в ядерном), контроллер идет к провайдеру и вручает ему этот хэндл. Это называется, он его заенейблил. Чтобы посмотреть активные трейс-сессии, можно написать собственное приложение, а можно это сделать из Reliability and Performance Monitor, выбрав слева &lt;/SPAN&gt;Data&lt;SPAN style="mso-ansi-language: ru"&gt; &lt;/SPAN&gt;Collector&lt;SPAN style="mso-ansi-language: ru"&gt; &lt;/SPAN&gt;Sets&lt;SPAN style="mso-ansi-language: ru" lang=RU&gt; \ &lt;/SPAN&gt;Event&lt;SPAN style="mso-ansi-language: ru"&gt; &lt;/SPAN&gt;Trace&lt;SPAN style="mso-ansi-language: ru"&gt; &lt;/SPAN&gt;Sessions&lt;SPAN style="mso-ansi-language: ru" lang=RU&gt;. Можно оттуда же запустить новую сессию. Кликнем&lt;/SPAN&gt;&lt;SPAN lang=RU&gt; &lt;/SPAN&gt;&lt;SPAN style="mso-ansi-language: ru" lang=RU&gt;правой&lt;/SPAN&gt;&lt;SPAN lang=RU&gt; &lt;/SPAN&gt;&lt;SPAN style="mso-ansi-language: ru" lang=RU&gt;кнопкой&lt;/SPAN&gt;&lt;SPAN lang=RU&gt; &lt;/SPAN&gt;&lt;SPAN style="mso-ansi-language: ru" lang=RU&gt;в&lt;/SPAN&gt;&lt;SPAN lang=RU&gt; &lt;/SPAN&gt;Event Trace Sessions &lt;SPAN style="mso-ansi-language: ru" lang=RU&gt;и&lt;/SPAN&gt;&lt;SPAN lang=RU&gt; &lt;/SPAN&gt;&lt;SPAN style="mso-ansi-language: ru" lang=RU&gt;выберем&lt;/SPAN&gt;&lt;SPAN lang=RU&gt; &lt;/SPAN&gt;New -&amp;gt; Data Collector Set. &lt;SPAN style="mso-ansi-language: ru" lang=RU&gt;Откроется диалог создания группы сборщиков податей Рис.2-4. Скажем ей, чтобы результаты своей жизнедеятельности она сохраняла в c:\&lt;/SPAN&gt;Temp&lt;SPAN style="mso-ansi-language: ru" lang=RU&gt; и чтобы стартовала без проволочек:&lt;o:p&gt;&lt;/o:p&gt;&lt;/SPAN&gt;&lt;/FONT&gt;&lt;/FONT&gt;&lt;/P&gt;
&lt;P style="MARGIN: 0in 0in 10pt" class=MsoNormal&gt;&lt;FONT face=Calibri&gt;&lt;FONT size=3&gt;&lt;SPAN style="mso-no-proof: yes"&gt;&lt;v:shape style="WIDTH: 226.5pt; HEIGHT: 173.25pt; VISIBILITY: visible; mso-wrap-style: square" id=Picture_x0020_16 type="#_x0000_t75" o:spid="_x0000_i1032"&gt;&lt;v:imagedata o:title="" src="file:///C:\Users\ADMINI~1\AppData\Local\Temp\1\msohtmlclip1\01\clip_image013.png" mce_src="file:///C:\Users\ADMINI~1\AppData\Local\Temp\1\msohtmlclip1\01\clip_image013.png"&gt;&lt;/v:imagedata&gt;&lt;/v:shape&gt;&lt;v:shape style="WIDTH: 226.5pt; HEIGHT: 173.25pt; VISIBILITY: visible; mso-wrap-style: square" id=Picture_x0020_19 type="#_x0000_t75" o:spid="_x0000_i1031"&gt;&lt;v:imagedata o:title="" src="file:///C:\Users\ADMINI~1\AppData\Local\Temp\1\msohtmlclip1\01\clip_image015.png" mce_src="file:///C:\Users\ADMINI~1\AppData\Local\Temp\1\msohtmlclip1\01\clip_image015.png"&gt;&lt;/v:imagedata&gt;&lt;/v:shape&gt;&lt;/SPAN&gt;&lt;SPAN style="mso-ansi-language: ru" lang=RU&gt;&lt;o:p&gt;&lt;/o:p&gt;&lt;/SPAN&gt;&lt;/FONT&gt;&lt;/FONT&gt;&lt;/P&gt;
&lt;P style="MARGIN: 0in 0in 10pt" class=MsoNormal&gt;&lt;SPAN style="mso-ansi-language: ru" lang=RU&gt;&lt;o:p&gt;&lt;FONT size=3 face=Calibri&gt;&lt;A href="http://blogs.msdn.com/blogfiles/alexejs/WindowsLiveWriter/SQLServerETW.1_12E56/image013_2.png" mce_href="http://blogs.msdn.com/blogfiles/alexejs/WindowsLiveWriter/SQLServerETW.1_12E56/image013_2.png"&gt;&lt;IMG style="BORDER-BOTTOM: 0px; BORDER-LEFT: 0px; DISPLAY: inline; BORDER-TOP: 0px; BORDER-RIGHT: 0px" title=image013 border=0 alt=image013 src="http://blogs.msdn.com/blogfiles/alexejs/WindowsLiveWriter/SQLServerETW.1_12E56/image013_thumb.png" width=423 height=326 mce_src="http://blogs.msdn.com/blogfiles/alexejs/WindowsLiveWriter/SQLServerETW.1_12E56/image013_thumb.png"&gt;&lt;/A&gt;&amp;nbsp; &lt;A href="http://blogs.msdn.com/blogfiles/alexejs/WindowsLiveWriter/SQLServerETW.1_12E56/image015_2.png" mce_href="http://blogs.msdn.com/blogfiles/alexejs/WindowsLiveWriter/SQLServerETW.1_12E56/image015_2.png"&gt;&lt;IMG style="BORDER-BOTTOM: 0px; BORDER-LEFT: 0px; DISPLAY: inline; BORDER-TOP: 0px; BORDER-RIGHT: 0px" title=image015 border=0 alt=image015 src="http://blogs.msdn.com/blogfiles/alexejs/WindowsLiveWriter/SQLServerETW.1_12E56/image015_thumb.png" width=423 height=326 mce_src="http://blogs.msdn.com/blogfiles/alexejs/WindowsLiveWriter/SQLServerETW.1_12E56/image015_thumb.png"&gt;&lt;/A&gt; &lt;/FONT&gt;&lt;/o:p&gt;&lt;/SPAN&gt;&lt;/P&gt;
&lt;P style="MARGIN: 0in 0in 10pt" class=MsoNormal&gt;&lt;SPAN style="mso-ansi-language: ru" lang=RU&gt;&lt;FONT face=Calibri&gt;&lt;FONT size=3&gt;Рис.5&lt;o:p&gt;&lt;/o:p&gt;&lt;/FONT&gt;&lt;/FONT&gt;&lt;/SPAN&gt;&lt;/P&gt;
&lt;P style="MARGIN: 0in 0in 10pt" class=MsoNormal&gt;&lt;SPAN style="mso-ansi-language: ru" lang=RU&gt;&lt;FONT face=Calibri&gt;&lt;FONT size=3&gt;У нас появилась новая сессия:&lt;/FONT&gt;&lt;/FONT&gt;&lt;/SPAN&gt;&lt;/P&gt;
&lt;P style="MARGIN: 0in 0in 10pt" class=MsoNormal&gt;&lt;SPAN style="mso-ansi-language: ru" lang=RU&gt;&lt;FONT face=Calibri&gt;&lt;FONT size=3&gt;&lt;o:p&gt;&lt;A href="http://blogs.msdn.com/blogfiles/alexejs/WindowsLiveWriter/SQLServerETW.1_12E56/image017_2.png" mce_href="http://blogs.msdn.com/blogfiles/alexejs/WindowsLiveWriter/SQLServerETW.1_12E56/image017_2.png"&gt;&lt;IMG style="BORDER-BOTTOM: 0px; BORDER-LEFT: 0px; DISPLAY: inline; BORDER-TOP: 0px; BORDER-RIGHT: 0px" title=image017 border=0 alt=image017 src="http://blogs.msdn.com/blogfiles/alexejs/WindowsLiveWriter/SQLServerETW.1_12E56/image017_thumb.png" width=420 height=291 mce_src="http://blogs.msdn.com/blogfiles/alexejs/WindowsLiveWriter/SQLServerETW.1_12E56/image017_thumb.png"&gt;&lt;/A&gt; &lt;/o:p&gt;&lt;/FONT&gt;&lt;/FONT&gt;&lt;/SPAN&gt;&lt;/P&gt;
&lt;P style="MARGIN: 0in 0in 10pt" class=MsoNormal&gt;&lt;FONT face=Calibri&gt;&lt;FONT size=3&gt;&lt;SPAN style="mso-no-proof: yes"&gt;&lt;v:shape style="WIDTH: 392.25pt; HEIGHT: 271.5pt; VISIBILITY: visible; mso-wrap-style: square" id=Picture_x0020_25 type="#_x0000_t75" o:spid="_x0000_i1030"&gt;&lt;v:imagedata o:title="" src="file:///C:\Users\ADMINI~1\AppData\Local\Temp\1\msohtmlclip1\01\clip_image017.png" mce_src="file:///C:\Users\ADMINI~1\AppData\Local\Temp\1\msohtmlclip1\01\clip_image017.png"&gt;&lt;/v:imagedata&gt;&lt;/v:shape&gt;&lt;/SPAN&gt;&lt;SPAN style="mso-ansi-language: ru" lang=RU&gt;&lt;o:p&gt;&lt;/o:p&gt;&lt;/SPAN&gt;&lt;/FONT&gt;&lt;/FONT&gt;&lt;/P&gt;
&lt;P style="MARGIN: 0in 0in 10pt" class=MsoNormal&gt;&lt;SPAN style="mso-ansi-language: ru" lang=RU&gt;&lt;FONT face=Calibri&gt;&lt;FONT size=3&gt;Рис.6&lt;o:p&gt;&lt;/o:p&gt;&lt;/FONT&gt;&lt;/FONT&gt;&lt;/SPAN&gt;&lt;/P&gt;
&lt;P style="MARGIN: 0in 0in 10pt" class=MsoNormal&gt;&lt;SPAN style="mso-ansi-language: ru" lang=RU&gt;&lt;FONT face=Calibri&gt;&lt;FONT size=3&gt;Сразу по открытии сессии провайдер начинает слать события в этот хэндл, а ядро их принимает и рассовывает по буферам. Если буфера заполнились или таймаут проэкспайрился, буфера флушатся в файл .etl, который читает потребитель. Директория для файла задавалась на Рис.5, а имя оговаривается в параметрах трейс-сессии. Там же указываются количество буферов и таймаут. Кликнем два раза по сессии SqlDataCollector:&lt;o:p&gt;&lt;/o:p&gt;&lt;/FONT&gt;&lt;/FONT&gt;&lt;/SPAN&gt;&lt;/P&gt;
&lt;P style="MARGIN: 0in 0in 10pt" class=MsoNormal&gt;&lt;SPAN style="mso-no-proof: yes"&gt;&lt;v:shape style="WIDTH: 234.75pt; HEIGHT: 270pt; VISIBILITY: visible; mso-wrap-style: square" id=Picture_x0020_32 type="#_x0000_t75" o:spid="_x0000_i1029"&gt;&lt;v:imagedata o:title="" src="file:///C:\Users\ADMINI~1\AppData\Local\Temp\1\msohtmlclip1\01\clip_image019.png" mce_src="file:///C:\Users\ADMINI~1\AppData\Local\Temp\1\msohtmlclip1\01\clip_image019.png"&gt;&lt;/v:imagedata&gt;&lt;/v:shape&gt;&lt;FONT face=Calibri&gt;&lt;FONT size=3&gt;&lt;SPAN style="mso-spacerun: yes"&gt;&lt;A href="http://blogs.msdn.com/blogfiles/alexejs/WindowsLiveWriter/SQLServerETW.1_12E56/image019_2.png" mce_href="http://blogs.msdn.com/blogfiles/alexejs/WindowsLiveWriter/SQLServerETW.1_12E56/image019_2.png"&gt;&lt;IMG style="BORDER-BOTTOM: 0px; BORDER-LEFT: 0px; DISPLAY: inline; BORDER-TOP: 0px; BORDER-RIGHT: 0px" title=image019 border=0 alt=image019 src="http://blogs.msdn.com/blogfiles/alexejs/WindowsLiveWriter/SQLServerETW.1_12E56/image019_thumb.png" width=318 height=366 mce_src="http://blogs.msdn.com/blogfiles/alexejs/WindowsLiveWriter/SQLServerETW.1_12E56/image019_thumb.png"&gt;&lt;/A&gt;&amp;nbsp; &lt;/SPAN&gt;&lt;v:shape style="WIDTH: 234.75pt; HEIGHT: 270pt; VISIBILITY: visible; mso-wrap-style: square" id=Picture_x0020_28 type="#_x0000_t75" o:spid="_x0000_i1028"&gt;&lt;A href="http://blogs.msdn.com/blogfiles/alexejs/WindowsLiveWriter/SQLServerETW.1_12E56/image021_2.png" mce_href="http://blogs.msdn.com/blogfiles/alexejs/WindowsLiveWriter/SQLServerETW.1_12E56/image021_2.png"&gt;&lt;IMG style="BORDER-BOTTOM: 0px; BORDER-LEFT: 0px; DISPLAY: inline; BORDER-TOP: 0px; BORDER-RIGHT: 0px" title=image021 border=0 alt=image021 src="http://blogs.msdn.com/blogfiles/alexejs/WindowsLiveWriter/SQLServerETW.1_12E56/image021_thumb.png" width=318 height=366 mce_src="http://blogs.msdn.com/blogfiles/alexejs/WindowsLiveWriter/SQLServerETW.1_12E56/image021_thumb.png"&gt;&lt;/A&gt; &lt;v:imagedata o:title="" src="file:///C:\Users\ADMINI~1\AppData\Local\Temp\1\msohtmlclip1\01\clip_image021.png" mce_src="file:///C:\Users\ADMINI~1\AppData\Local\Temp\1\msohtmlclip1\01\clip_image021.png"&gt;&lt;/v:imagedata&gt;&lt;/v:shape&gt;&lt;/FONT&gt;&lt;/FONT&gt;&lt;/SPAN&gt;&lt;SPAN style="mso-ansi-language: ru" lang=RU&gt;&lt;o:p&gt;&lt;/o:p&gt;&lt;/SPAN&gt;&lt;/P&gt;
&lt;P style="MARGIN: 0in 0in 10pt" class=MsoNormal&gt;&lt;SPAN style="mso-ansi-language: ru" lang=RU&gt;&lt;FONT face=Calibri&gt;&lt;FONT size=3&gt;Рис.7&lt;o:p&gt;&lt;/o:p&gt;&lt;/FONT&gt;&lt;/FONT&gt;&lt;/SPAN&gt;&lt;/P&gt;
&lt;P style="MARGIN: 0in 0in 10pt" class=MsoNormal&gt;&lt;SPAN style="mso-ansi-language: ru" lang=RU&gt;&lt;FONT face=Calibri&gt;&lt;FONT size=3&gt;В принципе, потребителю возможно напрямую цепануться к хэндлу и получать события в реальном времени. &lt;o:p&gt;&lt;/o:p&gt;&lt;/FONT&gt;&lt;/FONT&gt;&lt;/SPAN&gt;&lt;/P&gt;
&lt;P style="MARGIN: 0in 0in 10pt" class=MsoNormal&gt;&lt;SPAN style="mso-ansi-language: ru" lang=RU&gt;&lt;FONT size=3 face=Calibri&gt;Ну ладно, давайте смотреть, что она насобирала. Остановим сессию SqlDataCollector, выбрав Stop из ее контекстного меню или &lt;SPAN style="LINE-HEIGHT: 115%; FONT-FAMILY: 'Calibri','sans-serif'; FONT-SIZE: 11pt; mso-ansi-language: RU; mso-ascii-theme-font: minor-latin; mso-fareast-font-family: Calibri; mso-fareast-theme-font: minor-latin; mso-hansi-theme-font: minor-latin; mso-bidi-font-family: 'Times New Roman'; mso-bidi-theme-font: minor-bidi; mso-fareast-language: EN-US; mso-bidi-language: AR-SA" lang=RU&gt;кликнув на&lt;/SPAN&gt; черный квадрат Малевича на Рис.6. Когда контроллер заканчивает сессию, провайдер извещается и прекращает производить события. Файл C:\Temp\SqlDataCollector.etl имеет неудобоваримый формат для чтения. Лучше превратить его во что-нибудь осмысленное, например, csv:&lt;/FONT&gt;&lt;/SPAN&gt;&lt;/P&gt;
&lt;P style="MARGIN: 0in 0in 10pt" class=MsoNormal&gt;&lt;SPAN style="FONT-FAMILY: 'Courier New'"&gt;&lt;FONT size=3&gt;tracerpt -l C:\Temp\SqlDataCollector.etl -of CSV -o C:\Temp\SqlDataCollector.csv&lt;/FONT&gt;&lt;/SPAN&gt;&lt;/P&gt;
&lt;P style="MARGIN: 0in 0in 10pt" class=MsoNormal&gt;&lt;SPAN style="FONT-FAMILY: 'Courier New'"&gt;&lt;FONT size=3&gt;&lt;o:p&gt;&lt;A href="http://blogs.msdn.com/blogfiles/alexejs/WindowsLiveWriter/SQLServerETW.1_12E56/image023_2.png" mce_href="http://blogs.msdn.com/blogfiles/alexejs/WindowsLiveWriter/SQLServerETW.1_12E56/image023_2.png"&gt;&lt;IMG style="BORDER-BOTTOM: 0px; BORDER-LEFT: 0px; DISPLAY: inline; BORDER-TOP: 0px; BORDER-RIGHT: 0px" title=image023 border=0 alt=image023 src="http://blogs.msdn.com/blogfiles/alexejs/WindowsLiveWriter/SQLServerETW.1_12E56/image023_thumb.png" width=494 height=206 mce_src="http://blogs.msdn.com/blogfiles/alexejs/WindowsLiveWriter/SQLServerETW.1_12E56/image023_thumb.png"&gt;&lt;/A&gt;&amp;nbsp;&lt;/o:p&gt;&lt;/FONT&gt;&lt;/SPAN&gt;&lt;/P&gt;
&lt;P style="MARGIN: 0in 0in 10pt" class=MsoNormal&gt;&lt;SPAN style="FONT-FAMILY: 'Courier New'"&gt;&lt;FONT size=3&gt;&lt;o:p&gt;&lt;A href="http://blogs.msdn.com/blogfiles/alexejs/WindowsLiveWriter/SQLServerETW.1_12E56/image025_2.png" mce_href="http://blogs.msdn.com/blogfiles/alexejs/WindowsLiveWriter/SQLServerETW.1_12E56/image025_2.png"&gt;&lt;IMG style="BORDER-BOTTOM: 0px; BORDER-LEFT: 0px; DISPLAY: inline; BORDER-TOP: 0px; BORDER-RIGHT: 0px" title=image025 border=0 alt=image025 src="http://blogs.msdn.com/blogfiles/alexejs/WindowsLiveWriter/SQLServerETW.1_12E56/image025_thumb.png" width=972 height=343 mce_src="http://blogs.msdn.com/blogfiles/alexejs/WindowsLiveWriter/SQLServerETW.1_12E56/image025_thumb.png"&gt;&lt;/A&gt; &lt;/o:p&gt;&lt;/FONT&gt;&lt;/SPAN&gt;&lt;/P&gt;
&lt;P style="MARGIN: 0in 0in 10pt" class=MsoNormal&gt;&lt;SPAN style="mso-no-proof: yes"&gt;&lt;v:shape style="WIDTH: 335.25pt; HEIGHT: 138.75pt; VISIBILITY: visible; mso-wrap-style: square" id=Picture_x0020_35 type="#_x0000_t75" o:spid="_x0000_i1027"&gt;&lt;v:imagedata o:title="" src="file:///C:\Users\ADMINI~1\AppData\Local\Temp\1\msohtmlclip1\01\clip_image023.png" mce_src="file:///C:\Users\ADMINI~1\AppData\Local\Temp\1\msohtmlclip1\01\clip_image023.png"&gt;&lt;FONT size=3&gt;&lt;/FONT&gt;&lt;/v:imagedata&gt;&lt;/v:shape&gt;&lt;/SPAN&gt;&lt;/P&gt;
&lt;P style="MARGIN: 0in 0in 10pt" class=MsoNormal&gt;&lt;SPAN style="mso-no-proof: yes"&gt;&lt;v:shape style="WIDTH: 484.5pt; HEIGHT: 170.25pt; VISIBILITY: visible; mso-wrap-style: square" id=Picture_x0020_38 type="#_x0000_t75" o:spid="_x0000_i1026"&gt;&lt;v:imagedata o:title="" src="file:///C:\Users\ADMINI~1\AppData\Local\Temp\1\msohtmlclip1\01\clip_image025.png" mce_src="file:///C:\Users\ADMINI~1\AppData\Local\Temp\1\msohtmlclip1\01\clip_image025.png"&gt;&lt;FONT size=3&gt;&lt;/FONT&gt;&lt;/v:imagedata&gt;&lt;/v:shape&gt;&lt;/SPAN&gt;&lt;/P&gt;
&lt;P style="MARGIN: 0in 0in 10pt" class=MsoNormal&gt;&lt;SPAN style="mso-ansi-language: ru" lang=RU&gt;&lt;FONT face=Calibri&gt;&lt;FONT size=3&gt;Рис.8&lt;o:p&gt;&lt;/o:p&gt;&lt;/FONT&gt;&lt;/FONT&gt;&lt;/SPAN&gt;&lt;/P&gt;
&lt;P style="MARGIN: 0in 0in 10pt" class=MsoNormal&gt;&lt;SPAN style="mso-ansi-language: ru" lang=RU&gt;&lt;FONT face=Calibri&gt;&lt;FONT size=3&gt;или что-нибудь еще:&lt;o:p&gt;&lt;/o:p&gt;&lt;/FONT&gt;&lt;/FONT&gt;&lt;/SPAN&gt;&lt;/P&gt;
&lt;P style="MARGIN: 0in 0in 10pt" class=MsoNormal&gt;&lt;SPAN style="FONT-FAMILY: 'Courier New'"&gt;&lt;FONT size=3&gt;tracerpt C:\Temp\SqlDataCollector.etl -lr -o C:\Temp\SqlDataCollector.xml&lt;/FONT&gt;&lt;/SPAN&gt;&lt;/P&gt;
&lt;P style="MARGIN: 0in 0in 10pt" class=MsoNormal&gt;&lt;SPAN style="FONT-FAMILY: 'Courier New'"&gt;&lt;FONT size=3&gt;&lt;o:p&gt;&lt;A href="http://blogs.msdn.com/blogfiles/alexejs/WindowsLiveWriter/SQLServerETW.1_12E56/image027_2.png" mce_href="http://blogs.msdn.com/blogfiles/alexejs/WindowsLiveWriter/SQLServerETW.1_12E56/image027_2.png"&gt;&lt;IMG style="BORDER-BOTTOM: 0px; BORDER-LEFT: 0px; DISPLAY: inline; BORDER-TOP: 0px; BORDER-RIGHT: 0px" title=image027 border=0 alt=image027 src="http://blogs.msdn.com/blogfiles/alexejs/WindowsLiveWriter/SQLServerETW.1_12E56/image027_thumb.png" width=690 height=929 mce_src="http://blogs.msdn.com/blogfiles/alexejs/WindowsLiveWriter/SQLServerETW.1_12E56/image027_thumb.png"&gt;&lt;/A&gt; &lt;/o:p&gt;&lt;/FONT&gt;&lt;/SPAN&gt;&lt;/P&gt;
&lt;P style="MARGIN: 0in 0in 10pt" class=MsoNormal&gt;&lt;FONT size=3&gt;&lt;SPAN style="mso-no-proof: yes"&gt;&lt;v:shape style="WIDTH: 484.5pt; HEIGHT: 652.5pt; VISIBILITY: visible; mso-wrap-style: square" id=Picture_x0020_41 type="#_x0000_t75" o:spid="_x0000_i1025"&gt;&lt;v:imagedata o:title="" src="file:///C:\Users\ADMINI~1\AppData\Local\Temp\1\msohtmlclip1\01\clip_image027.png" mce_src="file:///C:\Users\ADMINI~1\AppData\Local\Temp\1\msohtmlclip1\01\clip_image027.png"&gt;&lt;/v:imagedata&gt;&lt;/v:shape&gt;&lt;/SPAN&gt;&lt;SPAN style="mso-ansi-language: ru" lang=RU&gt;&lt;o:p&gt;&lt;/o:p&gt;&lt;/SPAN&gt;&lt;/FONT&gt;&lt;/P&gt;
&lt;P style="MARGIN: 0in 0in 10pt" class=MsoNormal&gt;&lt;SPAN style="mso-ansi-language: ru" lang=RU&gt;&lt;FONT size=3&gt;&lt;FONT face=Calibri&gt;Рис.9&lt;/FONT&gt;&lt;/FONT&gt;&lt;/SPAN&gt;&lt;/P&gt;
&lt;P style="MARGIN: 0in 0in 10pt" class=MsoNormal&gt;&lt;FONT size=3&gt;&lt;FONT face=Calibri&gt;&lt;SPAN style="mso-ansi-language: ru" lang=RU&gt;В элементе &amp;lt;S&lt;/SPAN&gt;ystem&lt;SPAN style="mso-ansi-language: ru" lang=RU&gt;&amp;gt; находится стандартный заголовок сообщения, структура которого одинакова что для провайдера MSSQLSERVER Trace, что для какого-нибудь еще. Level характеризует строгость и может принимать предопределенные значения 1 - критическое, 2 - ошибка, 3 - предупреждение, 4 - информационное и 5 - подробное. Также &lt;/SPAN&gt;ETW&lt;SPAN style="mso-ansi-language: ru" lang=RU&gt;-провайдер может определить свои собственные значения до 255. &lt;/SPAN&gt;Task&lt;SPAN style="mso-ansi-language: ru"&gt; &lt;SPAN lang=RU&gt;и &lt;/SPAN&gt;&lt;/SPAN&gt;Opcode&lt;SPAN style="mso-ansi-language: ru"&gt; &lt;SPAN lang=RU&gt;- категоризация на уровне приложение/метод. Имена туда писать не получится, т.к. под &lt;/SPAN&gt;&lt;/SPAN&gt;Task&lt;SPAN style="mso-ansi-language: ru"&gt; &lt;SPAN lang=RU&gt;выделено два байта, под &lt;/SPAN&gt;&lt;/SPAN&gt;Opcode&lt;SPAN style="mso-ansi-language: ru" lang=RU&gt; - 1. Придется кодировать. Кодировка является усмотрением &lt;SPAN style="mso-spacerun: yes"&gt;&amp;nbsp;&lt;/SPAN&gt;&lt;/SPAN&gt;ETW&lt;SPAN style="mso-ansi-language: ru" lang=RU&gt;-провайдера. Предопределенными считаются опкоды 1 - старт и 2 - стоп. Keywords позволяет дальше категоризировать события. &lt;SPAN style="mso-spacerun: yes"&gt;&amp;nbsp;&lt;/SPAN&gt;Это 56 бит, что может, например, соответствовать маске из 56 категорий событий. В маске взводятся те биты, в какие соответствующие категории попадает событие. Опять-таки категоризация является прерогативой конкретного провайдера. TimeCreated - временная отметка момента происхождения события. Channel используется, в основном, если трасса предназначается для просмотра в Event Viewer; это Application, System и пр., что виднеется в дереве слева под Event Viewer. В элементе &amp;lt;&lt;/SPAN&gt;EventData&amp;gt;/&amp;lt;Data&lt;SPAN style="mso-ansi-language: ru" lang=RU&gt;&amp;gt; передается полезная нагрузка. Ее структура варьируется в зависимости от провайдера и типа сообщения. В данном случае в ней передается информация о событии SQL Trace. Каждый элемент &amp;lt;DataName&amp;gt; есть, по сути, колонка в профайлере. Само название профайлерного события присутствует в элементе &amp;lt;RenderingInfo&amp;gt;&lt;/SPAN&gt;/&lt;SPAN style="mso-ansi-language: ru" lang=RU&gt;&amp;lt;&lt;/SPAN&gt;EventName&lt;SPAN style="mso-ansi-language: ru" lang=RU&gt;&amp;gt;.&lt;o:p&gt;&lt;/o:p&gt;&lt;/SPAN&gt;&lt;/FONT&gt;&lt;/FONT&gt;&lt;/P&gt;
&lt;P style="MARGIN: 0in 0in 10pt" class=MsoNormal&gt;&lt;FONT size=3&gt;&lt;FONT face=Calibri&gt;&lt;SPAN style="mso-ansi-language: ru" lang=RU&gt;ETW существует в Windows, наверное, с версии 2000. Начиная с Висты, поддерживается мультиплексирование, т.е. отношение "многие-ко-многим" между провайдерами и сессиями. Например, этот вывод (Рис.9) можно замикшировать с результатами еще каких-нибудь &lt;/SPAN&gt;ETW&lt;SPAN style="mso-ansi-language: ru" lang=RU&gt;-провайдеров и получить согласованную по времени целостную картину мира в одном флаконе.&lt;o:p&gt;&lt;/o:p&gt;&lt;/SPAN&gt;&lt;/FONT&gt;&lt;/FONT&gt;&lt;/P&gt;&lt;img src="http://blogs.msdn.com/aggbug.aspx?PostID=9891512" width="1" height="1"&gt;</description></item><item><title>Давайте поправим DRI на parent-child</title><link>http://blogs.msdn.com/alexejs/archive/2009/08/31/dri-parent-child.aspx</link><pubDate>Mon, 31 Aug 2009 12:53:00 GMT</pubDate><guid isPermaLink="false">91d46819-8472-40ad-a661-2c78acb4018c:9889294</guid><dc:creator>alexejs</dc:creator><slash:comments>0</slash:comments><comments>http://blogs.msdn.com/alexejs/comments/9889294.aspx</comments><wfw:commentRss>http://blogs.msdn.com/alexejs/commentrss.aspx?PostID=9889294</wfw:commentRss><description>&lt;P style="MARGIN: 0in 0in 10pt" class=MsoNormal&gt;&lt;SPAN style="mso-ansi-language: RU" lang=RU&gt;&lt;FONT size=3&gt;&lt;FONT face=Calibri&gt;Уважаемые коллеги. &lt;?xml:namespace prefix = o ns = "urn:schemas-microsoft-com:office:office" /&gt;&lt;o:p&gt;&lt;/o:p&gt;&lt;/FONT&gt;&lt;/FONT&gt;&lt;/SPAN&gt;&lt;/P&gt;
&lt;P style="MARGIN: 0in 0in 10pt" class=MsoNormal&gt;&lt;SPAN style="mso-ansi-language: RU" lang=RU&gt;&lt;FONT size=3&gt;&lt;FONT face=Calibri&gt;Активный участник нашего SQL Serverного сообщества Александр Григорьевич Бондарь зафайлил на коннекте пожелание исправить поведение декларативной ссылочной целостности в случае, когда таблица связана сама на себя.&lt;o:p&gt;&lt;/o:p&gt;&lt;/FONT&gt;&lt;/FONT&gt;&lt;/SPAN&gt;&lt;/P&gt;
&lt;P style="MARGIN: 0in 0in 10pt" class=MsoNormal&gt;&lt;SPAN style="mso-ansi-language: RU" lang=RU&gt;&lt;FONT size=3 face=Calibri&gt;Скрипт воспроизведения приводится на &lt;/FONT&gt;&lt;A href="https://connect.microsoft.com/SQLServer/feedback/ViewFeedback.aspx?FeedbackID=470632&amp;amp;wa=wsignin1.0"&gt;&lt;FONT size=3 face=Calibri&gt;https://connect.microsoft.com/SQLServer/feedback/ViewFeedback.aspx?FeedbackID=470632&amp;amp;wa=wsignin1.0&lt;/FONT&gt;&lt;/A&gt;&lt;FONT size=3&gt;&lt;FONT face=Calibri&gt;, он не бог весть, какой хитрый, тем не менее я прокомментирую, что называется, на пальцах.&lt;o:p&gt;&lt;/o:p&gt;&lt;/FONT&gt;&lt;/FONT&gt;&lt;/SPAN&gt;&lt;/P&gt;
&lt;P style="MARGIN: 0in 0in 10pt" class=MsoNormal&gt;&lt;FONT size=3&gt;&lt;FONT face=Calibri&gt;&lt;SPAN style="mso-ansi-language: RU" lang=RU&gt;Когда две таблицы связаны отношением первичный-внешний ключ и мы хотим, например, грохнуть какой-нибудь РК из родительской таблицы, возможны, как известно, три поведения: &lt;SPAN style="mso-spacerun: yes"&gt;&amp;nbsp;&lt;/SPAN&gt;NO ACTION - не пущать, если в дочерней таблице есть записи, ссылающиеся на эту родительскую, CASCADE - удалить ссылающиеся дочерние записи из таблицы внешнего ключа (и далее по каскаду, если у нее, в свою очередь, есть дочерние таблицы), SET NULL/SET DEFAULT - поставить в дочерних записях поле внешнего ключа в &lt;/SPAN&gt;NULL&lt;SPAN style="mso-ansi-language: RU" lang=RU&gt; или значение по умолчанию, елико сие возможно. Аналогично для обновления. &lt;o:p&gt;&lt;/o:p&gt;&lt;/SPAN&gt;&lt;/FONT&gt;&lt;/FONT&gt;&lt;/P&gt;
&lt;P style="MARGIN: 0in 0in 10pt" class=MsoNormal&gt;&lt;FONT size=3&gt;&lt;FONT face=Calibri&gt;&lt;SPAN style="mso-ansi-language: RU" lang=RU&gt;Все хорошо за исключением случая, когда РК-FK отношение определено на одной таблице. Типичный пример - реализация иерархии, как, допустим, делается в измерении parent-child. Здесь она предлагает ставить только NO ACTION, т.к. боится зацикливания. Какое зацикливание? Что плохого, если, допустим,&amp;nbsp;при удалении родительской записи ставить NULL у нее непосредственных детей, что будет означать, что они осиротели? Я считаю, нам надо поддержать Александра Григорьевича и проголосовать за то, чтобы эту фичу поправили. Никого не собираюсь с пеной у рта агитировать, но если вы считаете так же, просто обращаю внимание, что риквест имеет место быть и можно зайти по вышеприведенной ссылке и кликнуть на правую звездочку, чтобы поднять его рейтинг. Также можно кликнуть рядом на &lt;/SPAN&gt;Validation&lt;SPAN style="mso-ansi-language: RU" lang=RU&gt;: &lt;/SPAN&gt;View&lt;SPAN style="mso-ansi-language: RU"&gt; &lt;/SPAN&gt;or&lt;SPAN style="mso-ansi-language: RU"&gt; &lt;/SPAN&gt;Add&lt;SPAN style="mso-ansi-language: RU" lang=RU&gt; и отметить &lt;/SPAN&gt;Yes&lt;SPAN style="mso-ansi-language: RU" lang=RU&gt;, &lt;/SPAN&gt;I&lt;SPAN style="mso-ansi-language: RU"&gt; &lt;/SPAN&gt;am&lt;SPAN style="mso-ansi-language: RU"&gt; &lt;/SPAN&gt;able&lt;SPAN style="mso-ansi-language: RU"&gt; &lt;/SPAN&gt;to&lt;SPAN style="mso-ansi-language: RU"&gt; &lt;/SPAN&gt;validate&lt;SPAN style="mso-ansi-language: RU"&gt; &lt;/SPAN&gt;that&lt;SPAN style="mso-ansi-language: RU"&gt; &lt;/SPAN&gt;this&lt;SPAN style="mso-ansi-language: RU"&gt; &lt;/SPAN&gt;issue&lt;SPAN style="mso-ansi-language: RU"&gt; &lt;/SPAN&gt;occurs&lt;SPAN style="mso-ansi-language: RU" lang=RU&gt;, потому что действительно такое поведение наблюдается в том числе в 2008-м; скрипт там имеется, можете проверить. &lt;SPAN style="mso-spacerun: yes"&gt;&amp;nbsp;&lt;/SPAN&gt;&lt;o:p&gt;&lt;/o:p&gt;&lt;/SPAN&gt;&lt;/FONT&gt;&lt;/FONT&gt;&lt;/P&gt;
&lt;P style="MARGIN: 0in 0in 10pt" class=MsoNormal&gt;&lt;FONT size=3&gt;&lt;FONT face=Calibri&gt;&lt;SPAN style="mso-ansi-language: RU" lang=RU&gt;Сделаем &lt;/SPAN&gt;SQL Server лучше. &lt;SPAN style="mso-ansi-language: RU" lang=RU&gt;&lt;o:p&gt;&lt;/o:p&gt;&lt;/SPAN&gt;&lt;/FONT&gt;&lt;/FONT&gt;&lt;/P&gt;&lt;img src="http://blogs.msdn.com/aggbug.aspx?PostID=9889294" width="1" height="1"&gt;</description></item><item><title>SMO. CaptureSQL</title><link>http://blogs.msdn.com/alexejs/archive/2009/08/31/smo-capturesql.aspx</link><pubDate>Mon, 31 Aug 2009 09:19:00 GMT</pubDate><guid isPermaLink="false">91d46819-8472-40ad-a661-2c78acb4018c:9889245</guid><dc:creator>alexejs</dc:creator><slash:comments>0</slash:comments><comments>http://blogs.msdn.com/alexejs/comments/9889245.aspx</comments><wfw:commentRss>http://blogs.msdn.com/alexejs/commentrss.aspx?PostID=9889245</wfw:commentRss><description>&lt;P style="LINE-HEIGHT: normal; MARGIN: 0in 0in 0pt; mso-layout-grid-align: none" class=MsoNormal&gt;&lt;SPAN style="mso-ansi-language: en-us"&gt;&lt;?xml:namespace prefix = o ns = "urn:schemas-microsoft-com:office:office" /&gt;&lt;o:p&gt;&lt;FONT size=3 face=Calibri&gt;&lt;/FONT&gt;&lt;/o:p&gt;&lt;/SPAN&gt;&lt;/P&gt;&lt;SPAN lang=RU&gt;&lt;FONT face=Calibri&gt;
&lt;P style="MARGIN: 0in 2.55pt 0pt 0in" class=MsoNormal&gt;&lt;SPAN lang=RU&gt;&lt;FONT size=3&gt;Коль скоро &lt;/FONT&gt;&lt;A href="http://blogs.msdn.com/alexejs/archive/2009/08/26/ps1.aspx" mce_href="http://blogs.msdn.com/alexejs/archive/2009/08/26/ps1.aspx"&gt;&lt;FONT size=3&gt;речь зашла о о скриптовании в SMO&lt;/FONT&gt;&lt;/A&gt;&lt;FONT size=3&gt;, стоит отметить еще одну возможность на эту тему под названием CaptureSQL.&lt;/FONT&gt;&lt;/SPAN&gt;&lt;/P&gt;&lt;/FONT&gt;&lt;/SPAN&gt;
&lt;P style="MARGIN: 0in 2.55pt 0pt 0in" class=MsoNormal&gt;&lt;SPAN lang=RU&gt;&lt;o:p&gt;&lt;FONT size=3 face=Calibri&gt;&amp;nbsp;&lt;/FONT&gt;&lt;/o:p&gt;&lt;/SPAN&gt;&lt;/P&gt;
&lt;P style="MARGIN: 0in 2.55pt 0pt 0in" class=MsoNormal&gt;&lt;SPAN lang=RU&gt;&lt;FONT size=3 face=Calibri&gt;Однажды я нарвался на ошибку при создании в SMO CLRной табличной функции. Это приблизительно функция Dir из поста "&lt;/FONT&gt;&lt;A href="http://blogs.msdn.com/alexejs/archive/2009/06/28/o.aspx" mce_href="http://blogs.msdn.com/alexejs/archive/2009/06/28/o.aspx"&gt;&lt;FONT color=#0000ff size=3 face=Calibri&gt;Как перелOжить файловую папку в базу&lt;/FONT&gt;&lt;/A&gt;&lt;FONT size=3 face=Calibri&gt;"\Скрипт 6. &lt;/FONT&gt;&lt;/SPAN&gt;&lt;/P&gt;
&lt;P style="MARGIN: 0in 2.55pt 0pt 0in" class=MsoNormal&gt;&lt;SPAN lang=RU&gt;&lt;o:p&gt;&lt;FONT size=3 face=Calibri&gt;&amp;nbsp;&lt;/FONT&gt;&lt;/o:p&gt;&lt;/SPAN&gt;&lt;/P&gt;
&lt;P style="MARGIN: 0in 2.55pt 0pt 0in" class=MsoNormal&gt;&lt;SPAN style="mso-ansi-language: en-us; mso-no-proof: yes"&gt;&lt;FONT size=3&gt;&lt;FONT face=Calibri&gt;&lt;?xml:namespace prefix = v ns = "urn:schemas-microsoft-com:vml" /&gt;&lt;v:shapetype id=_x0000_t75 stroked="f" filled="f" path="m@4@5l@4@11@9@11@9@5xe" o:preferrelative="t" o:spt="75" coordsize="21600,21600"&gt;&lt;v:stroke joinstyle="miter"&gt;&lt;/v:stroke&gt;&lt;v:formulas&gt;&lt;v:f eqn="if lineDrawn pixelLineWidth 0"&gt;&lt;/v:f&gt;&lt;v:f eqn="sum @0 1 0"&gt;&lt;/v:f&gt;&lt;v:f eqn="sum 0 0 @1"&gt;&lt;/v:f&gt;&lt;v:f eqn="prod @2 1 2"&gt;&lt;/v:f&gt;&lt;v:f eqn="prod @3 21600 pixelWidth"&gt;&lt;/v:f&gt;&lt;v:f eqn="prod @3 21600 pixelHeight"&gt;&lt;/v:f&gt;&lt;v:f eqn="sum @0 0 1"&gt;&lt;/v:f&gt;&lt;v:f eqn="prod @6 1 2"&gt;&lt;/v:f&gt;&lt;v:f eqn="prod @7 21600 pixelWidth"&gt;&lt;/v:f&gt;&lt;v:f eqn="sum @8 21600 0"&gt;&lt;/v:f&gt;&lt;v:f eqn="prod @7 21600 pixelHeight"&gt;&lt;/v:f&gt;&lt;v:f eqn="sum @10 21600 0"&gt;&lt;/v:f&gt;&lt;/v:formulas&gt;&lt;v:path o:connecttype="rect" gradientshapeok="t" o:extrusionok="f"&gt;&lt;/v:path&gt;&lt;o:lock aspectratio="t" v:ext="edit"&gt;&lt;/o:lock&gt;&lt;/v:shapetype&gt;&lt;v:shape style="WIDTH: 468pt; HEIGHT: 283.5pt; VISIBILITY: visible; mso-wrap-style: square" id=Picture_x0020_2 type="#_x0000_t75" o:spid="_x0000_i1029"&gt;&lt;v:imagedata mce_src="file:///C:\Users\alexejs\AppData\Local\Temp\1\msohtmlclip1\01\clip_image001.png" o:title="" src="file:///C:\Users\alexejs\AppData\Local\Temp\1\msohtmlclip1\01\clip_image001.png"&gt;&lt;/v:imagedata&gt;&lt;/v:shape&gt;&lt;/FONT&gt;&lt;/FONT&gt;&lt;/SPAN&gt;&lt;/P&gt;
&lt;P style="MARGIN: 0in 2.55pt 0pt 0in" class=MsoNormal&gt;&lt;SPAN lang=RU&gt;&lt;FONT size=3 face=Calibri&gt;&lt;A href="http://blogs.msdn.com/blogfiles/alexejs/WindowsLiveWriter/SMO.CaptureSQL_92EB/image001_2.png" mce_href="http://blogs.msdn.com/blogfiles/alexejs/WindowsLiveWriter/SMO.CaptureSQL_92EB/image001_2.png"&gt;&lt;IMG style="BORDER-BOTTOM: 0px; BORDER-LEFT: 0px; DISPLAY: inline; BORDER-TOP: 0px; BORDER-RIGHT: 0px" title=image001 border=0 alt=image001 src="http://blogs.msdn.com/blogfiles/alexejs/WindowsLiveWriter/SMO.CaptureSQL_92EB/image001_thumb.png" width=1063 height=648 mce_src="http://blogs.msdn.com/blogfiles/alexejs/WindowsLiveWriter/SMO.CaptureSQL_92EB/image001_thumb.png"&gt;&lt;/A&gt; &lt;/FONT&gt;&lt;/SPAN&gt;&lt;/P&gt;
&lt;P style="MARGIN: 0in 2.55pt 0pt 0in" class=MsoNormal&gt;&lt;SPAN lang=RU&gt;&lt;FONT size=3 face=Calibri&gt;Рис.1&lt;/FONT&gt;&lt;/SPAN&gt;&lt;/P&gt;
&lt;P style="MARGIN: 0in 2.55pt 0pt 0in" class=MsoNormal&gt;&lt;SPAN lang=RU&gt;&lt;/SPAN&gt;&amp;nbsp;&lt;/P&gt;
&lt;P style="MARGIN: 0in 2.55pt 0pt 0in" class=MsoNormal&gt;&lt;FONT size=3&gt;&lt;FONT face=Calibri&gt;&lt;SPAN lang=RU&gt;Обычно Inner Exception вносит ясность, информативно сообщая об истинных причинах недовольства. В данном случае UDF просит установить ей свойство TableVariableName. Я, помнится, еще удивился. Табличная&lt;/SPAN&gt;&lt;SPAN style="mso-ansi-language: en-us" lang=RU&gt; &lt;/SPAN&gt;&lt;SPAN lang=RU&gt;переменная&lt;/SPAN&gt;&lt;SPAN style="mso-ansi-language: en-us" lang=RU&gt; &lt;/SPAN&gt;&lt;SPAN lang=RU&gt;имеет&lt;/SPAN&gt;&lt;SPAN style="mso-ansi-language: en-us" lang=RU&gt; &lt;/SPAN&gt;&lt;SPAN lang=RU&gt;смысл&lt;/SPAN&gt;&lt;SPAN style="mso-ansi-language: en-us" lang=RU&gt; &lt;/SPAN&gt;&lt;SPAN lang=RU&gt;для&lt;/SPAN&gt;&lt;SPAN style="mso-ansi-language: en-us"&gt; T-SQL&lt;/SPAN&gt;&lt;SPAN lang=RU&gt;ной&lt;/SPAN&gt;&lt;SPAN style="mso-ansi-language: en-us" lang=RU&gt; &lt;/SPAN&gt;&lt;SPAN lang=RU&gt;табличной&lt;/SPAN&gt;&lt;SPAN style="mso-ansi-language: en-us" lang=RU&gt; &lt;/SPAN&gt;&lt;SPAN lang=RU&gt;функции&lt;/SPAN&gt;&lt;SPAN style="mso-ansi-language: en-us"&gt;:&lt;o:p&gt;&lt;/o:p&gt;&lt;/SPAN&gt;&lt;/FONT&gt;&lt;/FONT&gt;&lt;/P&gt;
&lt;P style="MARGIN: 0in 2.55pt 0pt 0in" class=MsoNormal&gt;&lt;SPAN style="mso-ansi-language: en-us"&gt;&lt;o:p&gt;&lt;FONT size=3 face=Calibri&gt;&amp;nbsp;&lt;/FONT&gt;&lt;/o:p&gt;&lt;/SPAN&gt;&lt;/P&gt;
&lt;P style="MARGIN: 0in 2.55pt 0pt 0in" class=MsoNormal&gt;&lt;SPAN style="LINE-HEIGHT: 115%; FONT-FAMILY: 'Courier New'; COLOR: blue; FONT-SIZE: 10pt; mso-ansi-language: en-us; mso-no-proof: yes"&gt;create&lt;/SPAN&gt;&lt;SPAN style="LINE-HEIGHT: 115%; FONT-FAMILY: 'Courier New'; FONT-SIZE: 10pt; mso-ansi-language: en-us; mso-no-proof: yes"&gt; &lt;SPAN style="COLOR: blue"&gt;function&lt;/SPAN&gt; tvf&lt;SPAN style="COLOR: gray"&gt;()&lt;/SPAN&gt; &lt;SPAN style="COLOR: blue"&gt;returns&lt;/SPAN&gt; @t &lt;SPAN style="COLOR: blue"&gt;table &lt;/SPAN&gt;&lt;SPAN style="COLOR: gray"&gt;(&lt;/SPAN&gt;fld &lt;SPAN style="COLOR: blue"&gt;int&lt;/SPAN&gt;&lt;SPAN style="COLOR: gray"&gt;)&lt;/SPAN&gt; &lt;SPAN style="COLOR: blue"&gt;as&lt;/SPAN&gt; &lt;SPAN style="COLOR: blue"&gt;begin&lt;/SPAN&gt; &lt;SPAN style="COLOR: blue"&gt;insert&lt;/SPAN&gt; @t &lt;SPAN style="COLOR: blue"&gt;values &lt;/SPAN&gt;&lt;SPAN style="COLOR: gray"&gt;(&lt;/SPAN&gt;1&lt;SPAN style="COLOR: gray"&gt;),&lt;/SPAN&gt;&lt;SPAN style="COLOR: blue"&gt; &lt;/SPAN&gt;&lt;SPAN style="COLOR: gray"&gt;(&lt;/SPAN&gt;2&lt;SPAN style="COLOR: gray"&gt;),&lt;/SPAN&gt;&lt;SPAN style="COLOR: blue"&gt; &lt;/SPAN&gt;&lt;SPAN style="COLOR: gray"&gt;(&lt;/SPAN&gt;3&lt;SPAN style="COLOR: gray"&gt;)&lt;/SPAN&gt; &lt;SPAN style="COLOR: blue"&gt;return&lt;/SPAN&gt; &lt;SPAN style="COLOR: blue"&gt;end&lt;/SPAN&gt;&lt;/SPAN&gt;&lt;SPAN style="mso-ansi-language: en-us"&gt;&lt;FONT face=Calibri&gt;&lt;FONT size=3&gt; &lt;o:p&gt;&lt;/o:p&gt;&lt;/FONT&gt;&lt;/FONT&gt;&lt;/SPAN&gt;&lt;/P&gt;
&lt;P style="MARGIN: 0in 2.55pt 0pt 0in" class=MsoNormal&gt;&lt;SPAN style="mso-ansi-language: en-us"&gt;&lt;o:p&gt;&lt;FONT size=3 face=Calibri&gt;&amp;nbsp;&lt;/FONT&gt;&lt;/o:p&gt;&lt;/SPAN&gt;&lt;/P&gt;
&lt;P style="MARGIN: 0in 2.55pt 0pt 0in" class=MsoNormal&gt;&lt;FONT size=3&gt;&lt;FONT face=Calibri&gt;&lt;SPAN lang=RU&gt;Здесь&lt;/SPAN&gt;&lt;SPAN style="mso-ansi-language: en-us" lang=RU&gt; &lt;/SPAN&gt;&lt;SPAN lang=RU&gt;мы&lt;/SPAN&gt;&lt;SPAN style="mso-ansi-language: en-us" lang=RU&gt; &lt;/SPAN&gt;&lt;SPAN lang=RU&gt;явно&lt;/SPAN&gt;&lt;SPAN style="mso-ansi-language: en-us" lang=RU&gt; &lt;/SPAN&gt;&lt;SPAN lang=RU&gt;указываем&lt;/SPAN&gt;&lt;SPAN style="mso-ansi-language: en-us"&gt;, &lt;/SPAN&gt;&lt;SPAN lang=RU&gt;что&lt;/SPAN&gt;&lt;SPAN style="mso-ansi-language: en-us" lang=RU&gt; &lt;/SPAN&gt;&lt;SPAN lang=RU&gt;функция&lt;/SPAN&gt;&lt;SPAN style="mso-ansi-language: en-us" lang=RU&gt; &lt;/SPAN&gt;&lt;SPAN lang=RU&gt;будет&lt;/SPAN&gt;&lt;SPAN style="mso-ansi-language: en-us"&gt; CLR&lt;/SPAN&gt;&lt;SPAN lang=RU&gt;ной&lt;/SPAN&gt;&lt;SPAN style="mso-ansi-language: en-us"&gt;: &lt;/SPAN&gt;&lt;/FONT&gt;&lt;SPAN style="FONT-FAMILY: 'Courier New'; mso-ansi-language: en-us; mso-no-proof: yes"&gt;f.ImplementationType = Microsoft.SqlServer.Management.Smo.&lt;SPAN style="COLOR: #2b91af"&gt;ImplementationType&lt;/SPAN&gt;.SqlClr;&lt;/SPAN&gt;&lt;FONT face=Calibri&gt;&lt;SPAN style="mso-ansi-language: en-us"&gt; &lt;/SPAN&gt;&lt;SPAN lang=RU&gt;а&lt;/SPAN&gt;&lt;SPAN style="mso-ansi-language: en-us" lang=RU&gt; &lt;/SPAN&gt;&lt;SPAN style="mso-ansi-language: en-us"&gt;CLR&lt;/SPAN&gt;&lt;SPAN lang=RU&gt;ной&lt;/SPAN&gt;&lt;SPAN style="mso-ansi-language: en-us" lang=RU&gt; &lt;/SPAN&gt;&lt;SPAN lang=RU&gt;она&lt;/SPAN&gt;&lt;SPAN style="mso-ansi-language: en-us"&gt;, &lt;/SPAN&gt;&lt;SPAN lang=RU&gt;вроде&lt;/SPAN&gt;&lt;SPAN style="mso-ansi-language: en-us" lang=RU&gt; &lt;/SPAN&gt;&lt;SPAN lang=RU&gt;как&lt;/SPAN&gt;&lt;SPAN style="mso-ansi-language: en-us"&gt;, &lt;/SPAN&gt;&lt;SPAN lang=RU&gt;без&lt;/SPAN&gt;&lt;SPAN style="mso-ansi-language: en-us" lang=RU&gt; &lt;/SPAN&gt;&lt;SPAN lang=RU&gt;надобности&lt;/SPAN&gt;&lt;SPAN style="mso-ansi-language: en-us"&gt;. &lt;/SPAN&gt;&lt;SPAN lang=RU&gt;Ну ладно, раз просит, ей виднее. Недолго думая, забабахал ей строчку&lt;/SPAN&gt;&lt;/FONT&gt;&lt;/FONT&gt;&lt;/P&gt;
&lt;P style="MARGIN: 0in 2.55pt 0pt 0in" class=MsoNormal&gt;&lt;SPAN lang=RU&gt;&lt;o:p&gt;&lt;FONT size=3 face=Calibri&gt;&amp;nbsp;&lt;/FONT&gt;&lt;/o:p&gt;&lt;/SPAN&gt;&lt;/P&gt;
&lt;P style="MARGIN: 0in 2.55pt 0pt 0in" class=MsoNormal&gt;&lt;FONT size=3&gt;&lt;SPAN style="FONT-FAMILY: 'Courier New'; mso-ansi-language: en-us; mso-no-proof: yes"&gt;f&lt;/SPAN&gt;&lt;SPAN style="FONT-FAMILY: 'Courier New'; mso-no-proof: yes" lang=RU&gt;.&lt;/SPAN&gt;&lt;SPAN style="FONT-FAMILY: 'Courier New'; mso-ansi-language: en-us; mso-no-proof: yes"&gt;TableVariableName&lt;/SPAN&gt;&lt;SPAN style="FONT-FAMILY: 'Courier New'; mso-no-proof: yes" lang=RU&gt; = &lt;SPAN style="COLOR: #a31515"&gt;"@&lt;/SPAN&gt;&lt;/SPAN&gt;&lt;SPAN style="FONT-FAMILY: 'Courier New'; COLOR: #a31515; mso-ansi-language: en-us; mso-no-proof: yes"&gt;t&lt;/SPAN&gt;&lt;SPAN style="FONT-FAMILY: 'Courier New'; COLOR: #a31515; mso-no-proof: yes" lang=RU&gt;"&lt;/SPAN&gt;&lt;SPAN style="FONT-FAMILY: 'Courier New'; mso-no-proof: yes" lang=RU&gt;;&lt;o:p&gt;&lt;/o:p&gt;&lt;/SPAN&gt;&lt;/FONT&gt;&lt;/P&gt;
&lt;P style="MARGIN: 0in 2.55pt 0pt 0in" class=MsoNormal&gt;&lt;SPAN lang=RU&gt;&lt;FONT size=3 face=Calibri&gt;Скрипт 1&lt;/FONT&gt;&lt;/SPAN&gt;&lt;/P&gt;
&lt;P style="MARGIN: 0in 2.55pt 0pt 0in" class=MsoNormal&gt;&lt;SPAN style="FONT-FAMILY: 'Courier New'; mso-no-proof: yes" lang=RU&gt;&lt;o:p&gt;&lt;FONT size=3&gt;&amp;nbsp;&lt;/FONT&gt;&lt;/o:p&gt;&lt;/SPAN&gt;&lt;/P&gt;
&lt;P style="MARGIN: 0in 2.55pt 0pt 0in" class=MsoNormal&gt;&lt;SPAN lang=RU&gt;&lt;FONT size=3 face=Calibri&gt;На, подавись ты. Она и подавилась:&lt;/FONT&gt;&lt;/SPAN&gt;&lt;/P&gt;
&lt;P style="MARGIN: 0in 2.55pt 0pt 0in" class=MsoNormal&gt;&lt;SPAN lang=RU&gt;&lt;o:p&gt;&lt;FONT size=3 face=Calibri&gt;&amp;nbsp;&lt;/FONT&gt;&lt;/o:p&gt;&lt;/SPAN&gt;&lt;/P&gt;
&lt;P style="MARGIN: 0in 2.55pt 0pt 0in" class=MsoNormal&gt;&lt;SPAN lang=RU&gt;&lt;o:p&gt;&lt;A href="http://blogs.msdn.com/blogfiles/alexejs/WindowsLiveWriter/SMO.CaptureSQL_92EB/image003_2.png" mce_href="http://blogs.msdn.com/blogfiles/alexejs/WindowsLiveWriter/SMO.CaptureSQL_92EB/image003_2.png"&gt;&lt;IMG style="BORDER-BOTTOM: 0px; BORDER-LEFT: 0px; DISPLAY: inline; BORDER-TOP: 0px; BORDER-RIGHT: 0px" title=image003 border=0 alt=image003 src="http://blogs.msdn.com/blogfiles/alexejs/WindowsLiveWriter/SMO.CaptureSQL_92EB/image003_thumb.png" width=1059 height=641 mce_src="http://blogs.msdn.com/blogfiles/alexejs/WindowsLiveWriter/SMO.CaptureSQL_92EB/image003_thumb.png"&gt;&lt;/A&gt; &lt;/o:p&gt;&lt;/SPAN&gt;&lt;/P&gt;
&lt;P style="MARGIN: 0in 2.55pt 0pt 0in" class=MsoNormal&gt;&lt;SPAN style="mso-ansi-language: en-us; mso-no-proof: yes"&gt;&lt;v:shape style="WIDTH: 467.25pt; HEIGHT: 282.75pt; VISIBILITY: visible; mso-wrap-style: square" id=Picture_x0020_3 type="#_x0000_t75" o:spid="_x0000_i1028"&gt;&lt;v:imagedata mce_src="file:///C:\Users\alexejs\AppData\Local\Temp\1\msohtmlclip1\01\clip_image002.png" o:title="" src="file:///C:\Users\alexejs\AppData\Local\Temp\1\msohtmlclip1\01\clip_image002.png"&gt;&lt;FONT size=3 face=Calibri&gt;&lt;/FONT&gt;&lt;/v:imagedata&gt;&lt;/v:shape&gt;&lt;/SPAN&gt;&lt;/P&gt;
&lt;P style="MARGIN: 0in 2.55pt 0pt 0in" class=MsoNormal&gt;&lt;SPAN lang=RU&gt;&lt;FONT size=3 face=Calibri&gt;Рис.2&lt;/FONT&gt;&lt;/SPAN&gt;&lt;/P&gt;
&lt;P style="MARGIN: 0in 2.55pt 0pt 0in" class=MsoNormal&gt;&lt;SPAN lang=RU&gt;&lt;o:p&gt;&lt;FONT size=3 face=Calibri&gt;&amp;nbsp;&lt;/FONT&gt;&lt;/o:p&gt;&lt;/SPAN&gt;&lt;/P&gt;
&lt;P style="MARGIN: 0in 2.55pt 0pt 0in" class=MsoNormal&gt;&lt;FONT size=3&gt;&lt;FONT face=Calibri&gt;&lt;SPAN lang=RU&gt;Причем, пребывая в состоянии подавленности, она перестала выдавать осмысленные сообщения об ошибках даже в Inner Exception. Наиболее&lt;/SPAN&gt;&lt;SPAN style="mso-ansi-language: en-us" lang=RU&gt; &lt;/SPAN&gt;&lt;SPAN lang=RU&gt;разумные&lt;/SPAN&gt;&lt;SPAN style="mso-ansi-language: en-us" lang=RU&gt; &lt;/SPAN&gt;&lt;SPAN lang=RU&gt;вещи&lt;/SPAN&gt;&lt;SPAN style="mso-ansi-language: en-us"&gt; - &lt;/SPAN&gt;&lt;SPAN lang=RU&gt;это&lt;/SPAN&gt;&lt;SPAN style="mso-ansi-language: en-us"&gt; An exception occurred while executing a Transact-SQL statement or batch &lt;/SPAN&gt;&lt;SPAN lang=RU&gt;и&lt;/SPAN&gt;&lt;SPAN style="mso-ansi-language: en-us"&gt; Incorrect syntax near the keyword 'EXTERNAL'. &lt;/SPAN&gt;&lt;SPAN lang=RU&gt;Хотелось бы понять, что именно в синтаксисе ей не по нутру. &lt;/SPAN&gt;&lt;/FONT&gt;&lt;/FONT&gt;&lt;/P&gt;
&lt;P style="MARGIN: 0in 2.55pt 0pt 0in" class=MsoNormal&gt;&lt;SPAN lang=RU&gt;&lt;o:p&gt;&lt;FONT size=3 face=Calibri&gt;&amp;nbsp;&lt;/FONT&gt;&lt;/o:p&gt;&lt;/SPAN&gt;&lt;/P&gt;
&lt;P style="MARGIN: 0in 2.55pt 0pt 0in" class=MsoNormal&gt;&lt;SPAN lang=RU&gt;&lt;FONT size=3 face=Calibri&gt;Читатели, которые рискнули потратить время, пролистав пост "&lt;/FONT&gt;&lt;A href="http://blogs.msdn.com/alexejs/archive/2009/07/25/1-2.aspx" mce_href="http://blogs.msdn.com/alexejs/archive/2009/07/25/1-2.aspx"&gt;&lt;FONT color=#0000ff size=3 face=Calibri&gt;Программно сгенерить трассу профайлера. Ч. 1, 2&lt;/FONT&gt;&lt;/A&gt;&lt;FONT size=3 face=Calibri&gt;", естественно, воспользуются для этой цели профайлером. Событие &lt;/FONT&gt;&lt;/SPAN&gt;&lt;FONT size=3&gt;&lt;FONT face=Calibri&gt;&lt;SPAN style="mso-ansi-language: en-us"&gt;User&lt;/SPAN&gt; &lt;SPAN style="mso-ansi-language: en-us"&gt;Error&lt;/SPAN&gt; &lt;SPAN style="mso-ansi-language: en-us"&gt;Message&lt;/SPAN&gt; &lt;SPAN lang=RU&gt;выводит, по сути, закладку &lt;/SPAN&gt;&lt;SPAN style="mso-ansi-language: en-us"&gt;Messages&lt;/SPAN&gt;&lt;SPAN lang=RU&gt; в &lt;/SPAN&gt;&lt;SPAN style="mso-ansi-language: en-us"&gt;SSMS&lt;/SPAN&gt;&lt;SPAN lang=RU&gt;. Событие Exception показывает стандартную информацию о номере и строгости ошибки. Событие SQL:BatchStarting содержит вызвавший ее T-SQLный скрипт:&lt;/SPAN&gt;&lt;/FONT&gt;&lt;/FONT&gt;&lt;/P&gt;
&lt;P style="MARGIN: 0in 2.55pt 0pt 0in" class=MsoNormal&gt;&lt;SPAN lang=RU&gt;&lt;o:p&gt;&lt;FONT size=3 face=Calibri&gt;&amp;nbsp;&lt;/FONT&gt;&lt;/o:p&gt;&lt;/SPAN&gt;&lt;/P&gt;
&lt;P style="MARGIN: 0in 2.55pt 0pt 0in" class=MsoNormal&gt;&lt;SPAN lang=RU&gt;&lt;o:p&gt;&lt;A href="http://blogs.msdn.com/blogfiles/alexejs/WindowsLiveWriter/SMO.CaptureSQL_92EB/image005_2.png" mce_href="http://blogs.msdn.com/blogfiles/alexejs/WindowsLiveWriter/SMO.CaptureSQL_92EB/image005_2.png"&gt;&lt;IMG style="BORDER-BOTTOM: 0px; BORDER-LEFT: 0px; DISPLAY: inline; BORDER-TOP: 0px; BORDER-RIGHT: 0px" title=image005 border=0 alt=image005 src="http://blogs.msdn.com/blogfiles/alexejs/WindowsLiveWriter/SMO.CaptureSQL_92EB/image005_thumb.png" width=1069 height=510 mce_src="http://blogs.msdn.com/blogfiles/alexejs/WindowsLiveWriter/SMO.CaptureSQL_92EB/image005_thumb.png"&gt;&lt;/A&gt; &lt;/o:p&gt;&lt;/SPAN&gt;&lt;/P&gt;
&lt;P style="MARGIN: 0in 2.55pt 0pt 0in" class=MsoNormal&gt;&lt;SPAN style="mso-ansi-language: en-us; mso-no-proof: yes"&gt;&lt;v:shape style="WIDTH: 468pt; HEIGHT: 223.5pt; VISIBILITY: visible; mso-wrap-style: square" id=Picture_x0020_4 type="#_x0000_t75" o:spid="_x0000_i1027"&gt;&lt;v:imagedata mce_src="file:///C:\Users\alexejs\AppData\Local\Temp\1\msohtmlclip1\01\clip_image003.png" o:title="" src="file:///C:\Users\alexejs\AppData\Local\Temp\1\msohtmlclip1\01\clip_image003.png"&gt;&lt;FONT size=3 face=Calibri&gt;&lt;/FONT&gt;&lt;/v:imagedata&gt;&lt;/v:shape&gt;&lt;/SPAN&gt;&lt;/P&gt;
&lt;P style="MARGIN: 0in 2.55pt 0pt 0in" class=MsoNormal&gt;&lt;SPAN lang=RU&gt;&lt;FONT size=3 face=Calibri&gt;Рис.3&lt;/FONT&gt;&lt;/SPAN&gt;&lt;/P&gt;
&lt;P style="MARGIN: 0in 2.55pt 0pt 0in" class=MsoNormal&gt;&lt;SPAN lang=RU&gt;&lt;o:p&gt;&lt;FONT size=3 face=Calibri&gt;&amp;nbsp;&lt;/FONT&gt;&lt;/o:p&gt;&lt;/SPAN&gt;&lt;/P&gt;
&lt;P style="MARGIN: 0in 2.55pt 0pt 0in" class=MsoNormal&gt;&lt;FONT size=3&gt;&lt;FONT face=Calibri&gt;&lt;SPAN lang=RU&gt;Однако существует увидеть образовавшийся в результате SQLный скрипт средствами SMO, не выходя за пределы &lt;/SPAN&gt;&lt;SPAN style="mso-ansi-language: en-us"&gt;Visual&lt;/SPAN&gt; &lt;SPAN style="mso-ansi-language: en-us"&gt;Studio&lt;/SPAN&gt;&lt;SPAN lang=RU&gt;. Для этого в код на Рис.2 достаточно добавить две строчки: в начале&lt;/SPAN&gt;&lt;/FONT&gt;&lt;/FONT&gt;&lt;/P&gt;
&lt;P style="MARGIN: 0in 2.55pt 0pt 0in" class=MsoNormal&gt;&lt;SPAN lang=RU&gt;&lt;o:p&gt;&lt;FONT size=3 face=Calibri&gt;&amp;nbsp;&lt;/FONT&gt;&lt;/o:p&gt;&lt;/SPAN&gt;&lt;/P&gt;
&lt;P style="MARGIN: 0in 2.55pt 0pt 0in" class=MsoNormal&gt;&lt;SPAN style="LINE-HEIGHT: 115%; FONT-FAMILY: 'Courier New'; FONT-SIZE: 10pt; mso-ansi-language: en-us; mso-no-proof: yes"&gt;srv.ConnectionContext.SqlExecutionModes = Microsoft.SqlServer.Management.Common.&lt;SPAN style="COLOR: #2b91af"&gt;SqlExecutionModes&lt;/SPAN&gt;.CaptureSql;&lt;o:p&gt;&lt;/o:p&gt;&lt;/SPAN&gt;&lt;/P&gt;
&lt;P style="MARGIN: 0in 2.55pt 0pt 0in" class=MsoNormal&gt;&lt;SPAN lang=RU&gt;&lt;FONT size=3 face=Calibri&gt;Скрипт 2&lt;/FONT&gt;&lt;/SPAN&gt;&lt;/P&gt;
&lt;P style="MARGIN: 0in 2.55pt 0pt 0in" class=MsoNormal&gt;&lt;FONT size=3&gt;&lt;FONT face=Calibri&gt;&lt;SPAN lang=RU&gt;которая означает, что все SQL-команды, которые &lt;/SPAN&gt;&lt;SPAN style="mso-ansi-language: en-us"&gt;SMO&lt;/SPAN&gt;&lt;SPAN lang=RU&gt; будет генерить в результате наших над ним измывательств, он не будет отправлять на сервер, а будет собирать их у себя в виде коллекции строк, которые затем можно посмотреть:&lt;/SPAN&gt;&lt;/FONT&gt;&lt;/FONT&gt;&lt;/P&gt;
&lt;P style="MARGIN: 0in 2.55pt 0pt 0in" class=MsoNormal&gt;&lt;SPAN lang=RU&gt;&lt;o:p&gt;&lt;FONT size=3 face=Calibri&gt;&amp;nbsp;&lt;/FONT&gt;&lt;/o:p&gt;&lt;/SPAN&gt;&lt;/P&gt;
&lt;P style="LINE-HEIGHT: normal; MARGIN: 0in 0in 0pt; mso-layout-grid-align: none" class=MsoNormal&gt;&lt;SPAN style="FONT-FAMILY: 'Courier New'; COLOR: blue; FONT-SIZE: 10pt; mso-ansi-language: en-us; mso-no-proof: yes; mso-bidi-font-size: 11.0pt"&gt;foreach&lt;/SPAN&gt;&lt;SPAN style="FONT-FAMILY: 'Courier New'; FONT-SIZE: 10pt; mso-ansi-language: en-us; mso-no-proof: yes; mso-bidi-font-size: 11.0pt"&gt; (&lt;SPAN style="COLOR: blue"&gt;string&lt;/SPAN&gt; s &lt;SPAN style="COLOR: blue"&gt;in&lt;/SPAN&gt; srv.ConnectionContext.CapturedSql.Text) &lt;SPAN style="COLOR: #2b91af"&gt;Debug&lt;/SPAN&gt;.WriteLine(s);&lt;o:p&gt;&lt;/o:p&gt;&lt;/SPAN&gt;&lt;/P&gt;
&lt;P style="MARGIN: 0in 2.55pt 0pt 0in" class=MsoNormal&gt;&lt;SPAN lang=RU&gt;&lt;FONT size=3 face=Calibri&gt;Скрипт 3&lt;/FONT&gt;&lt;/SPAN&gt;&lt;/P&gt;
&lt;P style="MARGIN: 0in 2.55pt 0pt 0in" class=MsoNormal&gt;&lt;SPAN lang=RU&gt;&lt;o:p&gt;&lt;FONT size=3 face=Calibri&gt;&amp;nbsp;&lt;/FONT&gt;&lt;/o:p&gt;&lt;/SPAN&gt;&lt;/P&gt;
&lt;P style="MARGIN: 0in 2.55pt 0pt 0in" class=MsoNormal&gt;&lt;SPAN lang=RU&gt;&lt;o:p&gt;&lt;A href="http://blogs.msdn.com/blogfiles/alexejs/WindowsLiveWriter/SMO.CaptureSQL_92EB/image007_2.png" mce_href="http://blogs.msdn.com/blogfiles/alexejs/WindowsLiveWriter/SMO.CaptureSQL_92EB/image007_2.png"&gt;&lt;IMG style="BORDER-BOTTOM: 0px; BORDER-LEFT: 0px; DISPLAY: inline; BORDER-TOP: 0px; BORDER-RIGHT: 0px" title=image007 border=0 alt=image007 src="http://blogs.msdn.com/blogfiles/alexejs/WindowsLiveWriter/SMO.CaptureSQL_92EB/image007_thumb.png" width=1065 height=566 mce_src="http://blogs.msdn.com/blogfiles/alexejs/WindowsLiveWriter/SMO.CaptureSQL_92EB/image007_thumb.png"&gt;&lt;/A&gt; &lt;/o:p&gt;&lt;/SPAN&gt;&lt;/P&gt;
&lt;P style="MARGIN: 0in 2.55pt 0pt 0in" class=MsoNormal&gt;&lt;SPAN style="mso-ansi-language: en-us; mso-no-proof: yes"&gt;&lt;v:shape style="WIDTH: 467.25pt; HEIGHT: 247.5pt; VISIBILITY: visible; mso-wrap-style: square" id=Picture_x0020_5 type="#_x0000_t75" o:spid="_x0000_i1026"&gt;&lt;v:imagedata mce_src="file:///C:\Users\alexejs\AppData\Local\Temp\1\msohtmlclip1\01\clip_image004.png" o:title="" src="file:///C:\Users\alexejs\AppData\Local\Temp\1\msohtmlclip1\01\clip_image004.png"&gt;&lt;FONT size=3 face=Calibri&gt;&lt;/FONT&gt;&lt;/v:imagedata&gt;&lt;/v:shape&gt;&lt;/SPAN&gt;&lt;/P&gt;
&lt;P style="MARGIN: 0in 2.55pt 0pt 0in" class=MsoNormal&gt;&lt;SPAN lang=RU&gt;&lt;FONT size=3 face=Calibri&gt;Рис.4&lt;/FONT&gt;&lt;/SPAN&gt;&lt;/P&gt;
&lt;P style="MARGIN: 0in 2.55pt 0pt 0in" class=MsoNormal&gt;&lt;SPAN lang=RU&gt;&lt;o:p&gt;&lt;FONT size=3 face=Calibri&gt;&amp;nbsp;&lt;/FONT&gt;&lt;/o:p&gt;&lt;/SPAN&gt;&lt;/P&gt;
&lt;P style="MARGIN: 0in 2.55pt 0pt 0in" class=MsoNormal&gt;&lt;SPAN lang=RU&gt;&lt;FONT size=3 face=Calibri&gt;В случае длинного SQL-скрипта его можно перенести в SSMS и там пройти построчно дебаггером. В данном случае очевидно, что ошибка синтаксиса происходит из-за пресловутой табличной переменной @t, которую все-таки не надо было указывать в случае CLRной функции. Стоит заменить в Скрипте 1 "@t" на пустую строку, все начинает прекрасно работать:&lt;/FONT&gt;&lt;/SPAN&gt;&lt;/P&gt;
&lt;P style="MARGIN: 0in 2.55pt 0pt 0in" class=MsoNormal&gt;&lt;SPAN lang=RU&gt;&lt;o:p&gt;&lt;FONT size=3 face=Calibri&gt;&amp;nbsp;&lt;/FONT&gt;&lt;/o:p&gt;&lt;/SPAN&gt;&lt;/P&gt;
&lt;P style="LINE-HEIGHT: normal; MARGIN: 0in 0in 0pt; mso-layout-grid-align: none" class=MsoNormal&gt;&lt;SPAN style="FONT-FAMILY: 'Courier New'; COLOR: blue; FONT-SIZE: 10pt; mso-ansi-language: en-us; mso-no-proof: yes"&gt;using&lt;/SPAN&gt;&lt;SPAN style="FONT-FAMILY: 'Courier New'; FONT-SIZE: 10pt; mso-ansi-language: en-us; mso-no-proof: yes"&gt; System;&lt;o:p&gt;&lt;/o:p&gt;&lt;/SPAN&gt;&lt;/P&gt;
&lt;P style="LINE-HEIGHT: normal; MARGIN: 0in 0in 0pt; mso-layout-grid-align: none" class=MsoNormal&gt;&lt;SPAN style="FONT-FAMILY: 'Courier New'; COLOR: blue; FONT-SIZE: 10pt; mso-ansi-language: en-us; mso-no-proof: yes"&gt;using&lt;/SPAN&gt;&lt;SPAN style="FONT-FAMILY: 'Courier New'; FONT-SIZE: 10pt; mso-ansi-language: en-us; mso-no-proof: yes"&gt; System.Collections;&lt;o:p&gt;&lt;/o:p&gt;&lt;/SPAN&gt;&lt;/P&gt;
&lt;P style="LINE-HEIGHT: normal; MARGIN: 0in 0in 0pt; mso-layout-grid-align: none" class=MsoNormal&gt;&lt;SPAN style="FONT-FAMILY: 'Courier New'; COLOR: blue; FONT-SIZE: 10pt; mso-ansi-language: en-us; mso-no-proof: yes"&gt;using&lt;/SPAN&gt;&lt;SPAN style="FONT-FAMILY: 'Courier New'; FONT-SIZE: 10pt; mso-ansi-language: en-us; mso-no-proof: yes"&gt; System.Diagnostics;&lt;o:p&gt;&lt;/o:p&gt;&lt;/SPAN&gt;&lt;/P&gt;
&lt;P style="LINE-HEIGHT: normal; MARGIN: 0in 0in 0pt; mso-layout-grid-align: none" class=MsoNormal&gt;&lt;SPAN style="FONT-FAMILY: 'Courier New'; COLOR: blue; FONT-SIZE: 10pt; mso-ansi-language: en-us; mso-no-proof: yes"&gt;using&lt;/SPAN&gt;&lt;SPAN style="FONT-FAMILY: 'Courier New'; FONT-SIZE: 10pt; mso-ansi-language: en-us; mso-no-proof: yes"&gt; SMO = Microsoft.SqlServer.Management.Smo; &lt;SPAN style="COLOR: green"&gt;//C:\Program Files\Microsoft SQL Server\100\SDK\Assemblies\Microsoft.SqlServer.Smo.dll&lt;o:p&gt;&lt;/o:p&gt;&lt;/SPAN&gt;&lt;/SPAN&gt;&lt;/P&gt;
&lt;P style="LINE-HEIGHT: normal; MARGIN: 0in 0in 0pt; mso-layout-grid-align: none" class=MsoNormal&gt;&lt;SPAN style="FONT-FAMILY: 'Courier New'; COLOR: green; FONT-SIZE: 10pt; mso-ansi-language: en-us; mso-no-proof: yes"&gt;//Также требует references на &lt;o:p&gt;&lt;/o:p&gt;&lt;/SPAN&gt;&lt;/P&gt;
&lt;P style="LINE-HEIGHT: normal; MARGIN: 0in 0in 0pt; mso-layout-grid-align: none" class=MsoNormal&gt;&lt;SPAN style="FONT-FAMILY: 'Courier New'; COLOR: green; FONT-SIZE: 10pt; mso-ansi-language: en-us; mso-no-proof: yes"&gt;//C:\Program Files\Microsoft SQL Server\100\SDK\Assemblies\Microsoft.SqlServer.ConnectionInfo.dll&lt;o:p&gt;&lt;/o:p&gt;&lt;/SPAN&gt;&lt;/P&gt;
&lt;P style="LINE-HEIGHT: normal; MARGIN: 0in 0in 0pt; mso-layout-grid-align: none" class=MsoNormal&gt;&lt;SPAN style="FONT-FAMILY: 'Courier New'; COLOR: green; FONT-SIZE: 10pt; mso-ansi-language: en-us; mso-no-proof: yes"&gt;//C:\Program Files\Microsoft SQL Server\100\SDK\Assemblies\Microsoft.SqlServer.Management.Sdk.Sfc.dll&lt;o:p&gt;&lt;/o:p&gt;&lt;/SPAN&gt;&lt;/P&gt;
&lt;P style="LINE-HEIGHT: normal; MARGIN: 0in 0in 0pt; mso-layout-grid-align: none" class=MsoNormal&gt;&lt;SPAN style="FONT-FAMILY: 'Courier New'; COLOR: blue; FONT-SIZE: 10pt; mso-ansi-language: en-us; mso-no-proof: yes"&gt;using&lt;/SPAN&gt;&lt;SPAN style="FONT-FAMILY: 'Courier New'; FONT-SIZE: 10pt; mso-ansi-language: en-us; mso-no-proof: yes"&gt; System.IO;&lt;o:p&gt;&lt;/o:p&gt;&lt;/SPAN&gt;&lt;/P&gt;
&lt;P style="LINE-HEIGHT: normal; MARGIN: 0in 0in 0pt; mso-layout-grid-align: none" class=MsoNormal&gt;&lt;SPAN style="FONT-FAMILY: 'Courier New'; COLOR: blue; FONT-SIZE: 10pt; mso-ansi-language: en-us; mso-no-proof: yes"&gt;using&lt;/SPAN&gt;&lt;SPAN style="FONT-FAMILY: 'Courier New'; FONT-SIZE: 10pt; mso-ansi-language: en-us; mso-no-proof: yes"&gt; System.Data;&lt;o:p&gt;&lt;/o:p&gt;&lt;/SPAN&gt;&lt;/P&gt;
&lt;P style="LINE-HEIGHT: normal; MARGIN: 0in 0in 0pt; mso-layout-grid-align: none" class=MsoNormal&gt;&lt;SPAN style="FONT-FAMILY: 'Courier New'; FONT-SIZE: 10pt; mso-ansi-language: en-us; mso-no-proof: yes"&gt;&lt;o:p&gt;&amp;nbsp;&lt;/o:p&gt;&lt;/SPAN&gt;&lt;/P&gt;
&lt;P style="LINE-HEIGHT: normal; MARGIN: 0in 0in 0pt; mso-layout-grid-align: none" class=MsoNormal&gt;&lt;SPAN style="FONT-FAMILY: 'Courier New'; FONT-SIZE: 10pt; mso-ansi-language: en-us; mso-no-proof: yes"&gt;&lt;o:p&gt;&amp;nbsp;&lt;/o:p&gt;&lt;/SPAN&gt;&lt;/P&gt;
&lt;P style="LINE-HEIGHT: normal; MARGIN: 0in 0in 0pt; mso-layout-grid-align: none" class=MsoNormal&gt;&lt;SPAN style="FONT-FAMILY: 'Courier New'; COLOR: blue; FONT-SIZE: 10pt; mso-ansi-language: en-us; mso-no-proof: yes"&gt;class&lt;/SPAN&gt;&lt;SPAN style="FONT-FAMILY: 'Courier New'; FONT-SIZE: 10pt; mso-ansi-language: en-us; mso-no-proof: yes"&gt; &lt;SPAN style="COLOR: #2b91af"&gt;Program&lt;o:p&gt;&lt;/o:p&gt;&lt;/SPAN&gt;&lt;/SPAN&gt;&lt;/P&gt;
&lt;P style="LINE-HEIGHT: normal; MARGIN: 0in 0in 0pt; mso-layout-grid-align: none" class=MsoNormal&gt;&lt;SPAN style="FONT-FAMILY: 'Courier New'; FONT-SIZE: 10pt; mso-ansi-language: en-us; mso-no-proof: yes"&gt;{&lt;SPAN style="mso-spacerun: yes"&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp; &lt;/SPAN&gt;&lt;o:p&gt;&lt;/o:p&gt;&lt;/SPAN&gt;&lt;/P&gt;
&lt;P style="LINE-HEIGHT: normal; MARGIN: 0in 0in 0pt; mso-layout-grid-align: none" class=MsoNormal&gt;&lt;SPAN style="FONT-FAMILY: 'Courier New'; FONT-SIZE: 10pt; mso-ansi-language: en-us; mso-no-proof: yes"&gt;&lt;o:p&gt;&amp;nbsp;&lt;/o:p&gt;&lt;/SPAN&gt;&lt;/P&gt;
&lt;P style="LINE-HEIGHT: normal; MARGIN: 0in 0in 0pt; mso-layout-grid-align: none" class=MsoNormal&gt;&lt;SPAN style="FONT-FAMILY: 'Courier New'; FONT-SIZE: 10pt; mso-ansi-language: en-us; mso-no-proof: yes"&gt;&lt;SPAN style="mso-spacerun: yes"&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp; &lt;/SPAN&gt;&lt;SPAN style="COLOR: blue"&gt;static&lt;/SPAN&gt; &lt;SPAN style="COLOR: blue"&gt;void&lt;/SPAN&gt; Main(&lt;SPAN style="COLOR: blue"&gt;string&lt;/SPAN&gt;[] args)&lt;o:p&gt;&lt;/o:p&gt;&lt;/SPAN&gt;&lt;/P&gt;
&lt;P style="LINE-HEIGHT: normal; MARGIN: 0in 0in 0pt; mso-layout-grid-align: none" class=MsoNormal&gt;&lt;SPAN style="FONT-FAMILY: 'Courier New'; FONT-SIZE: 10pt; mso-ansi-language: en-us; mso-no-proof: yes"&gt;&lt;SPAN style="mso-spacerun: yes"&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp; &lt;/SPAN&gt;{&lt;o:p&gt;&lt;/o:p&gt;&lt;/SPAN&gt;&lt;/P&gt;
&lt;P style="LINE-HEIGHT: normal; MARGIN: 0in 0in 0pt; mso-layout-grid-align: none" class=MsoNormal&gt;&lt;SPAN style="FONT-FAMILY: 'Courier New'; FONT-SIZE: 10pt; mso-ansi-language: en-us; mso-no-proof: yes"&gt;&lt;SPAN style="mso-spacerun: yes"&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp; &lt;/SPAN&gt;CreateFunctionDir();&lt;o:p&gt;&lt;/o:p&gt;&lt;/SPAN&gt;&lt;/P&gt;
&lt;P style="LINE-HEIGHT: normal; MARGIN: 0in 0in 0pt; mso-layout-grid-align: none" class=MsoNormal&gt;&lt;SPAN style="FONT-FAMILY: 'Courier New'; FONT-SIZE: 10pt; mso-ansi-language: en-us; mso-no-proof: yes"&gt;&lt;SPAN style="mso-spacerun: yes"&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp; &lt;/SPAN&gt;}&lt;o:p&gt;&lt;/o:p&gt;&lt;/SPAN&gt;&lt;/P&gt;
&lt;P style="LINE-HEIGHT: normal; MARGIN: 0in 0in 0pt; mso-layout-grid-align: none" class=MsoNormal&gt;&lt;SPAN style="FONT-FAMILY: 'Courier New'; FONT-SIZE: 10pt; mso-ansi-language: en-us; mso-no-proof: yes"&gt;&lt;o:p&gt;&amp;nbsp;&lt;/o:p&gt;&lt;/SPAN&gt;&lt;/P&gt;
&lt;P style="LINE-HEIGHT: normal; MARGIN: 0in 0in 0pt; mso-layout-grid-align: none" class=MsoNormal&gt;&lt;SPAN style="FONT-FAMILY: 'Courier New'; FONT-SIZE: 10pt; mso-ansi-language: en-us; mso-no-proof: yes"&gt;&lt;SPAN style="mso-spacerun: yes"&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp; &lt;/SPAN&gt;&lt;SPAN style="COLOR: blue"&gt;public&lt;/SPAN&gt; &lt;SPAN style="COLOR: blue"&gt;static&lt;/SPAN&gt; &lt;SPAN style="COLOR: blue"&gt;void&lt;/SPAN&gt; CreateFunctionDir()&lt;o:p&gt;&lt;/o:p&gt;&lt;/SPAN&gt;&lt;/P&gt;
&lt;P style="LINE-HEIGHT: normal; MARGIN: 0in 0in 0pt; mso-layout-grid-align: none" class=MsoNormal&gt;&lt;SPAN style="FONT-FAMILY: 'Courier New'; FONT-SIZE: 10pt; mso-ansi-language: en-us; mso-no-proof: yes"&gt;&lt;SPAN style="mso-spacerun: yes"&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp; &lt;/SPAN&gt;{&lt;o:p&gt;&lt;/o:p&gt;&lt;/SPAN&gt;&lt;/P&gt;
&lt;P style="LINE-HEIGHT: normal; MARGIN: 0in 0in 0pt; mso-layout-grid-align: none" class=MsoNormal&gt;&lt;SPAN style="FONT-FAMILY: 'Courier New'; FONT-SIZE: 10pt; mso-ansi-language: en-us; mso-no-proof: yes"&gt;&lt;SPAN style="mso-spacerun: yes"&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp; &lt;/SPAN&gt;SMO.&lt;SPAN style="COLOR: #2b91af"&gt;Server&lt;/SPAN&gt; srv = &lt;SPAN style="COLOR: blue"&gt;new&lt;/SPAN&gt; Microsoft.SqlServer.Management.Smo.&lt;SPAN style="COLOR: #2b91af"&gt;Server&lt;/SPAN&gt;();&lt;o:p&gt;&lt;/o:p&gt;&lt;/SPAN&gt;&lt;/P&gt;
&lt;P style="LINE-HEIGHT: normal; MARGIN: 0in 0in 0pt; mso-layout-grid-align: none" class=MsoNormal&gt;&lt;SPAN style="FONT-FAMILY: 'Courier New'; FONT-SIZE: 10pt; mso-ansi-language: en-us; mso-no-proof: yes"&gt;&lt;SPAN style="mso-spacerun: yes"&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp; &lt;/SPAN&gt;srv.ConnectionContext.SqlExecutionModes = Microsoft.SqlServer.Management.Common.&lt;SPAN style="COLOR: #2b91af"&gt;SqlExecutionModes&lt;/SPAN&gt;.ExecuteAndCaptureSql;&lt;o:p&gt;&lt;/o:p&gt;&lt;/SPAN&gt;&lt;/P&gt;
&lt;P style="LINE-HEIGHT: normal; MARGIN: 0in 0in 0pt; mso-layout-grid-align: none" class=MsoNormal&gt;&lt;SPAN style="FONT-FAMILY: 'Courier New'; FONT-SIZE: 10pt; mso-ansi-language: en-us; mso-no-proof: yes"&gt;&lt;o:p&gt;&amp;nbsp;&lt;/o:p&gt;&lt;/SPAN&gt;&lt;/P&gt;
&lt;P style="LINE-HEIGHT: normal; MARGIN: 0in 0in 0pt; mso-layout-grid-align: none" class=MsoNormal&gt;&lt;SPAN style="FONT-FAMILY: 'Courier New'; FONT-SIZE: 10pt; mso-ansi-language: en-us; mso-no-proof: yes"&gt;&lt;SPAN style="mso-spacerun: yes"&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp; &lt;/SPAN&gt;SMO.&lt;SPAN style="COLOR: #2b91af"&gt;Database&lt;/SPAN&gt; db = srv.Databases[&lt;SPAN style="COLOR: #a31515"&gt;"TestFS"&lt;/SPAN&gt;];&lt;o:p&gt;&lt;/o:p&gt;&lt;/SPAN&gt;&lt;/P&gt;
&lt;P style="LINE-HEIGHT: normal; MARGIN: 0in 0in 0pt; mso-layout-grid-align: none" class=MsoNormal&gt;&lt;SPAN style="FONT-FAMILY: 'Courier New'; FONT-SIZE: 10pt; mso-ansi-language: en-us; mso-no-proof: yes"&gt;&lt;SPAN style="mso-spacerun: yes"&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp; &lt;/SPAN&gt;SMO.&lt;SPAN style="COLOR: #2b91af"&gt;SqlAssembly&lt;/SPAN&gt; asm = db.Assemblies[&lt;SPAN style="COLOR: #a31515"&gt;"MyAssembly"&lt;/SPAN&gt;];&lt;o:p&gt;&lt;/o:p&gt;&lt;/SPAN&gt;&lt;/P&gt;
&lt;P style="LINE-HEIGHT: normal; MARGIN: 0in 0in 0pt; mso-layout-grid-align: none" class=MsoNormal&gt;&lt;SPAN style="FONT-FAMILY: 'Courier New'; FONT-SIZE: 10pt; mso-ansi-language: en-us; mso-no-proof: yes"&gt;&lt;o:p&gt;&amp;nbsp;&lt;/o:p&gt;&lt;/SPAN&gt;&lt;/P&gt;
&lt;P style="LINE-HEIGHT: normal; MARGIN: 0in 0in 0pt; mso-layout-grid-align: none" class=MsoNormal&gt;&lt;SPAN style="FONT-FAMILY: 'Courier New'; FONT-SIZE: 10pt; mso-ansi-language: en-us; mso-no-proof: yes"&gt;&lt;SPAN style="mso-spacerun: yes"&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp; &lt;/SPAN&gt;SMO.&lt;SPAN style="COLOR: #2b91af"&gt;UserDefinedFunction&lt;/SPAN&gt; f = &lt;SPAN style="COLOR: blue"&gt;new&lt;/SPAN&gt; Microsoft.SqlServer.Management.Smo.&lt;SPAN style="COLOR: #2b91af"&gt;UserDefinedFunction&lt;/SPAN&gt;();&lt;o:p&gt;&lt;/o:p&gt;&lt;/SPAN&gt;&lt;/P&gt;
&lt;P style="LINE-HEIGHT: normal; MARGIN: 0in 0in 0pt; mso-layout-grid-align: none" class=MsoNormal&gt;&lt;SPAN style="FONT-FAMILY: 'Courier New'; FONT-SIZE: 10pt; mso-ansi-language: en-us; mso-no-proof: yes"&gt;&lt;SPAN style="mso-spacerun: yes"&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp; &lt;/SPAN&gt;f.Parent = db; f.Name = &lt;SPAN style="COLOR: #a31515"&gt;"Dir"&lt;/SPAN&gt;;&lt;o:p&gt;&lt;/o:p&gt;&lt;/SPAN&gt;&lt;/P&gt;
&lt;P style="LINE-HEIGHT: normal; MARGIN: 0in 0in 0pt; mso-layout-grid-align: none" class=MsoNormal&gt;&lt;SPAN style="FONT-FAMILY: 'Courier New'; FONT-SIZE: 10pt; mso-ansi-language: en-us; mso-no-proof: yes"&gt;&lt;SPAN style="mso-spacerun: yes"&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp; &lt;/SPAN&gt;f.TextMode = &lt;SPAN style="COLOR: blue"&gt;false&lt;/SPAN&gt;;&lt;o:p&gt;&lt;/o:p&gt;&lt;/SPAN&gt;&lt;/P&gt;
&lt;P style="LINE-HEIGHT: normal; MARGIN: 0in 0in 0pt; mso-layout-grid-align: none" class=MsoNormal&gt;&lt;SPAN style="FONT-FAMILY: 'Courier New'; FONT-SIZE: 10pt; mso-ansi-language: en-us; mso-no-proof: yes"&gt;&lt;SPAN style="mso-spacerun: yes"&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp; &lt;/SPAN&gt;f.ImplementationType = Microsoft.SqlServer.Management.Smo.&lt;SPAN style="COLOR: #2b91af"&gt;ImplementationType&lt;/SPAN&gt;.SqlClr;&lt;o:p&gt;&lt;/o:p&gt;&lt;/SPAN&gt;&lt;/P&gt;
&lt;P style="LINE-HEIGHT: normal; MARGIN: 0in 0in 0pt; mso-layout-grid-align: none" class=MsoNormal&gt;&lt;SPAN style="FONT-FAMILY: 'Courier New'; FONT-SIZE: 10pt; mso-ansi-language: en-us; mso-no-proof: yes"&gt;&lt;SPAN style="mso-spacerun: yes"&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp; &lt;/SPAN&gt;f.AssemblyName = asm.Name;&lt;o:p&gt;&lt;/o:p&gt;&lt;/SPAN&gt;&lt;/P&gt;
&lt;P style="LINE-HEIGHT: normal; MARGIN: 0in 0in 0pt; mso-layout-grid-align: none" class=MsoNormal&gt;&lt;SPAN style="FONT-FAMILY: 'Courier New'; FONT-SIZE: 10pt; mso-ansi-language: en-us; mso-no-proof: yes"&gt;&lt;SPAN style="mso-spacerun: yes"&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp; &lt;/SPAN&gt;f.ClassName = &lt;SPAN style="COLOR: #a31515"&gt;"FileSystem"&lt;/SPAN&gt;;&lt;o:p&gt;&lt;/o:p&gt;&lt;/SPAN&gt;&lt;/P&gt;
&lt;P style="LINE-HEIGHT: normal; MARGIN: 0in 0in 0pt; mso-layout-grid-align: none" class=MsoNormal&gt;&lt;SPAN style="FONT-FAMILY: 'Courier New'; FONT-SIZE: 10pt; mso-ansi-language: en-us; mso-no-proof: yes"&gt;&lt;SPAN style="mso-spacerun: yes"&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp; &lt;/SPAN&gt;&lt;SPAN style="mso-spacerun: yes"&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp; &lt;/SPAN&gt;f.MethodName = &lt;SPAN style="COLOR: #a31515"&gt;"Dir_InitMethod"&lt;/SPAN&gt;;&lt;o:p&gt;&lt;/o:p&gt;&lt;/SPAN&gt;&lt;/P&gt;
&lt;P style="LINE-HEIGHT: normal; MARGIN: 0in 0in 0pt; mso-layout-grid-align: none" class=MsoNormal&gt;&lt;SPAN style="FONT-FAMILY: 'Courier New'; FONT-SIZE: 10pt; mso-ansi-language: en-us; mso-no-proof: yes"&gt;&lt;SPAN style="mso-spacerun: yes"&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp; &lt;/SPAN&gt;SMO.&lt;SPAN style="COLOR: #2b91af"&gt;UserDefinedFunctionParameter&lt;/SPAN&gt; p1 = &lt;SPAN style="COLOR: blue"&gt;new&lt;/SPAN&gt; Microsoft.SqlServer.Management.Smo.&lt;SPAN style="COLOR: #2b91af"&gt;UserDefinedFunctionParameter&lt;/SPAN&gt;(f, &lt;SPAN style="COLOR: #a31515"&gt;"@folder"&lt;/SPAN&gt;, SMO.&lt;SPAN style="COLOR: #2b91af"&gt;DataType&lt;/SPAN&gt;.NVarChar(266));&lt;o:p&gt;&lt;/o:p&gt;&lt;/SPAN&gt;&lt;/P&gt;
&lt;P style="LINE-HEIGHT: normal; MARGIN: 0in 0in 0pt; mso-layout-grid-align: none" class=MsoNormal&gt;&lt;SPAN style="FONT-FAMILY: 'Courier New'; FONT-SIZE: 10pt; mso-ansi-language: en-us; mso-no-proof: yes"&gt;&lt;SPAN style="mso-spacerun: yes"&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp; &lt;/SPAN&gt;f.Parameters.Add(p1);&lt;o:p&gt;&lt;/o:p&gt;&lt;/SPAN&gt;&lt;/P&gt;
&lt;P style="LINE-HEIGHT: normal; MARGIN: 0in 0in 0pt; mso-layout-grid-align: none" class=MsoNormal&gt;&lt;SPAN style="FONT-FAMILY: 'Courier New'; FONT-SIZE: 10pt; mso-ansi-language: en-us; mso-no-proof: yes"&gt;&lt;SPAN style="mso-spacerun: yes"&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp; &lt;/SPAN&gt;p1 = &lt;SPAN style="COLOR: blue"&gt;new&lt;/SPAN&gt; Microsoft.SqlServer.Management.Smo.&lt;SPAN style="COLOR: #2b91af"&gt;UserDefinedFunctionParameter&lt;/SPAN&gt;(f, &lt;SPAN style="COLOR: #a31515"&gt;"@shallowTraversal"&lt;/SPAN&gt;, SMO.&lt;SPAN style="COLOR: #2b91af"&gt;DataType&lt;/SPAN&gt;.Bit);&lt;o:p&gt;&lt;/o:p&gt;&lt;/SPAN&gt;&lt;/P&gt;
&lt;P style="LINE-HEIGHT: normal; MARGIN: 0in 0in 0pt; mso-layout-grid-align: none" class=MsoNormal&gt;&lt;SPAN style="FONT-FAMILY: 'Courier New'; FONT-SIZE: 10pt; mso-ansi-language: en-us; mso-no-proof: yes"&gt;&lt;SPAN style="mso-spacerun: yes"&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp; &lt;/SPAN&gt;f.Parameters.Add(p1);&lt;o:p&gt;&lt;/o:p&gt;&lt;/SPAN&gt;&lt;/P&gt;
&lt;P style="LINE-HEIGHT: normal; MARGIN: 0in 0in 0pt; mso-layout-grid-align: none" class=MsoNormal&gt;&lt;SPAN style="FONT-FAMILY: 'Courier New'; FONT-SIZE: 10pt; mso-ansi-language: en-us; mso-no-proof: yes"&gt;&lt;SPAN style="mso-spacerun: yes"&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp; &lt;/SPAN&gt;f.FunctionType = Microsoft.SqlServer.Management.Smo.&lt;SPAN style="COLOR: #2b91af"&gt;UserDefinedFunctionType&lt;/SPAN&gt;.Table;&lt;o:p&gt;&lt;/o:p&gt;&lt;/SPAN&gt;&lt;/P&gt;
&lt;P style="LINE-HEIGHT: normal; MARGIN: 0in 0in 0pt; mso-layout-grid-align: none" class=MsoNormal&gt;&lt;SPAN style="FONT-FAMILY: 'Courier New'; FONT-SIZE: 10pt; mso-ansi-language: en-us; mso-no-proof: yes"&gt;&lt;SPAN style="mso-spacerun: yes"&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp; &lt;/SPAN&gt;SMO.&lt;SPAN style="COLOR: #2b91af"&gt;Column&lt;/SPAN&gt; c = &lt;SPAN style="COLOR: blue"&gt;new&lt;/SPAN&gt; Microsoft.SqlServer.Management.Smo.&lt;SPAN style="COLOR: #2b91af"&gt;Column&lt;/SPAN&gt;(f, &lt;SPAN style="COLOR: #a31515"&gt;"ID"&lt;/SPAN&gt;, SMO.&lt;SPAN style="COLOR: #2b91af"&gt;DataType&lt;/SPAN&gt;.HierarchyId);&lt;o:p&gt;&lt;/o:p&gt;&lt;/SPAN&gt;&lt;/P&gt;
&lt;P style="LINE-HEIGHT: normal; MARGIN: 0in 0in 0pt; mso-layout-grid-align: none" class=MsoNormal&gt;&lt;SPAN style="FONT-FAMILY: 'Courier New'; FONT-SIZE: 10pt; mso-ansi-language: en-us; mso-no-proof: yes"&gt;&lt;SPAN style="mso-spacerun: yes"&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp; &lt;/SPAN&gt;f.Columns.Add(c);&lt;o:p&gt;&lt;/o:p&gt;&lt;/SPAN&gt;&lt;/P&gt;
&lt;P style="LINE-HEIGHT: normal; MARGIN: 0in 0in 0pt; mso-layout-grid-align: none" class=MsoNormal&gt;&lt;SPAN style="FONT-FAMILY: 'Courier New'; FONT-SIZE: 10pt; mso-ansi-language: en-us; mso-no-proof: yes"&gt;&lt;SPAN style="mso-spacerun: yes"&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp; &lt;/SPAN&gt;c = &lt;SPAN style="COLOR: blue"&gt;new&lt;/SPAN&gt; Microsoft.SqlServer.Management.Smo.&lt;SPAN style="COLOR: #2b91af"&gt;Column&lt;/SPAN&gt;(f, &lt;SPAN style="COLOR: #a31515"&gt;"FullName"&lt;/SPAN&gt;, SMO.&lt;SPAN style="COLOR: #2b91af"&gt;DataType&lt;/SPAN&gt;.NVarChar(266));&lt;o:p&gt;&lt;/o:p&gt;&lt;/SPAN&gt;&lt;/P&gt;
&lt;P style="LINE-HEIGHT: normal; MARGIN: 0in 0in 0pt; mso-layout-grid-align: none" class=MsoNormal&gt;&lt;SPAN style="FONT-FAMILY: 'Courier New'; FONT-SIZE: 10pt; mso-ansi-language: en-us; mso-no-proof: yes"&gt;&lt;SPAN style="mso-spacerun: yes"&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp; &lt;/SPAN&gt;f.Columns.Add(c);&lt;o:p&gt;&lt;/o:p&gt;&lt;/SPAN&gt;&lt;/P&gt;
&lt;P style="LINE-HEIGHT: normal; MARGIN: 0in 0in 0pt; mso-layout-grid-align: none" class=MsoNormal&gt;&lt;SPAN style="FONT-FAMILY: 'Courier New'; FONT-SIZE: 10pt; mso-ansi-language: en-us; mso-no-proof: yes"&gt;&lt;SPAN style="mso-spacerun: yes"&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp; &lt;/SPAN&gt;c = &lt;SPAN style="COLOR: blue"&gt;new&lt;/SPAN&gt; Microsoft.SqlServer.Management.Smo.&lt;SPAN style="COLOR: #2b91af"&gt;Column&lt;/SPAN&gt;(f, &lt;SPAN style="COLOR: #a31515"&gt;"DateCreated"&lt;/SPAN&gt;, SMO.&lt;SPAN style="COLOR: #2b91af"&gt;DataType&lt;/SPAN&gt;.DateTime2(3));&lt;o:p&gt;&lt;/o:p&gt;&lt;/SPAN&gt;&lt;/P&gt;
&lt;P style="LINE-HEIGHT: normal; MARGIN: 0in 0in 0pt; mso-layout-grid-align: none" class=MsoNormal&gt;&lt;SPAN style="FONT-FAMILY: 'Courier New'; FONT-SIZE: 10pt; mso-ansi-language: en-us; mso-no-proof: yes"&gt;&lt;SPAN style="mso-spacerun: yes"&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp; &lt;/SPAN&gt;f.Columns.Add(c);&lt;o:p&gt;&lt;/o:p&gt;&lt;/SPAN&gt;&lt;/P&gt;
&lt;P style="LINE-HEIGHT: normal; MARGIN: 0in 0in 0pt; mso-layout-grid-align: none" class=MsoNormal&gt;&lt;SPAN style="FONT-FAMILY: 'Courier New'; FONT-SIZE: 10pt; mso-ansi-language: en-us; mso-no-proof: yes"&gt;&lt;SPAN style="mso-spacerun: yes"&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp; &lt;/SPAN&gt;c = &lt;SPAN style="COLOR: blue"&gt;new&lt;/SPAN&gt; Microsoft.SqlServer.Management.Smo.&lt;SPAN style="COLOR: #2b91af"&gt;Column&lt;/SPAN&gt;(f, &lt;SPAN style="COLOR: #a31515"&gt;"DateModified"&lt;/SPAN&gt;, SMO.&lt;SPAN style="COLOR: #2b91af"&gt;DataType&lt;/SPAN&gt;.DateTime2(3));&lt;o:p&gt;&lt;/o:p&gt;&lt;/SPAN&gt;&lt;/P&gt;
&lt;P style="LINE-HEIGHT: normal; MARGIN: 0in 0in 0pt; mso-layout-grid-align: none" class=MsoNormal&gt;&lt;SPAN style="FONT-FAMILY: 'Courier New'; FONT-SIZE: 10pt; mso-ansi-language: en-us; mso-no-proof: yes"&gt;&lt;SPAN style="mso-spacerun: yes"&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp; &lt;/SPAN&gt;f.Columns.Add(c);&lt;o:p&gt;&lt;/o:p&gt;&lt;/SPAN&gt;&lt;/P&gt;
&lt;P style="LINE-HEIGHT: normal; MARGIN: 0in 0in 0pt; mso-layout-grid-align: none" class=MsoNormal&gt;&lt;SPAN style="FONT-FAMILY: 'Courier New'; FONT-SIZE: 10pt; mso-ansi-language: en-us; mso-no-proof: yes"&gt;&lt;SPAN style="mso-spacerun: yes"&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp; &lt;/SPAN&gt;c = &lt;SPAN style="COLOR: blue"&gt;new&lt;/SPAN&gt; Microsoft.SqlServer.Management.Smo.&lt;SPAN style="COLOR: #2b91af"&gt;Column&lt;/SPAN&gt;(f, &lt;SPAN style="COLOR: #a31515"&gt;"LastAccessed"&lt;/SPAN&gt;, SMO.&lt;SPAN style="COLOR: #2b91af"&gt;DataType&lt;/SPAN&gt;.DateTime2(3));&lt;o:p&gt;&lt;/o:p&gt;&lt;/SPAN&gt;&lt;/P&gt;
&lt;P style="LINE-HEIGHT: normal; MARGIN: 0in 0in 0pt; mso-layout-grid-align: none" class=MsoNormal&gt;&lt;SPAN style="FONT-FAMILY: 'Courier New'; FONT-SIZE: 10pt; mso-ansi-language: en-us; mso-no-proof: yes"&gt;&lt;SPAN style="mso-spacerun: yes"&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp; &lt;/SPAN&gt;f.Columns.Add(c);&lt;o:p&gt;&lt;/o:p&gt;&lt;/SPAN&gt;&lt;/P&gt;
&lt;P style="LINE-HEIGHT: normal; MARGIN: 0in 0in 0pt; mso-layout-grid-align: none" class=MsoNormal&gt;&lt;SPAN style="FONT-FAMILY: 'Courier New'; FONT-SIZE: 10pt; mso-ansi-language: en-us; mso-no-proof: yes"&gt;&lt;SPAN style="mso-spacerun: yes"&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp; &lt;/SPAN&gt;c = &lt;SPAN style="COLOR: blue"&gt;new&lt;/SPAN&gt; Microsoft.SqlServer.Management.Smo.&lt;SPAN style="COLOR: #2b91af"&gt;Column&lt;/SPAN&gt;(f, &lt;SPAN style="COLOR: #a31515"&gt;"Properties"&lt;/SPAN&gt;, SMO.&lt;SPAN style="COLOR: #2b91af"&gt;DataType&lt;/SPAN&gt;.Xml(&lt;SPAN style="COLOR: #a31515"&gt;""&lt;/SPAN&gt;));&lt;o:p&gt;&lt;/o:p&gt;&lt;/SPAN&gt;&lt;/P&gt;
&lt;P style="LINE-HEIGHT: normal; MARGIN: 0in 0in 0pt; mso-layout-grid-align: none" class=MsoNormal&gt;&lt;SPAN style="FONT-FAMILY: 'Courier New'; FONT-SIZE: 10pt; mso-ansi-language: en-us; mso-no-proof: yes"&gt;&lt;SPAN style="mso-spacerun: yes"&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp; &lt;/SPAN&gt;f.Columns.Add(c);&lt;o:p&gt;&lt;/o:p&gt;&lt;/SPAN&gt;&lt;/P&gt;
&lt;P style="LINE-HEIGHT: normal; MARGIN: 0in 0in 0pt; mso-layout-grid-align: none" class=MsoNormal&gt;&lt;SPAN style="FONT-FAMILY: 'Courier New'; FONT-SIZE: 10pt; mso-ansi-language: en-us; mso-no-proof: yes"&gt;&lt;SPAN style="mso-spacerun: yes"&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp; &lt;/SPAN&gt;c = &lt;SPAN style="COLOR: blue"&gt;new&lt;/SPAN&gt; Microsoft.SqlServer.Management.Smo.&lt;SPAN style="COLOR: #2b91af"&gt;Column&lt;/SPAN&gt;(f, &lt;SPAN style="COLOR: #a31515"&gt;"Size"&lt;/SPAN&gt;, SMO.&lt;SPAN style="COLOR: #2b91af"&gt;DataType&lt;/SPAN&gt;.BigInt);&lt;o:p&gt;&lt;/o:p&gt;&lt;/SPAN&gt;&lt;/P&gt;
&lt;P style="LINE-HEIGHT: normal; MARGIN: 0in 0in 0pt; mso-layout-grid-align: none" class=MsoNormal&gt;&lt;SPAN style="FONT-FAMILY: 'Courier New'; FONT-SIZE: 10pt; mso-ansi-language: en-us; mso-no-proof: yes"&gt;&lt;SPAN style="mso-spacerun: yes"&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp; &lt;/SPAN&gt;f.Columns.Add(c);&lt;o:p&gt;&lt;/o:p&gt;&lt;/SPAN&gt;&lt;/P&gt;
&lt;P style="LINE-HEIGHT: normal; MARGIN: 0in 0in 0pt; mso-layout-grid-align: none" class=MsoNormal&gt;&lt;SPAN style="FONT-FAMILY: 'Courier New'; FONT-SIZE: 10pt; mso-ansi-language: en-us; mso-no-proof: yes"&gt;&lt;SPAN style="mso-spacerun: yes"&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp; &lt;/SPAN&gt;c = &lt;SPAN style="COLOR: blue"&gt;new&lt;/SPAN&gt; Microsoft.SqlServer.Management.Smo.&lt;SPAN style="COLOR: #2b91af"&gt;Column&lt;/SPAN&gt;(f, &lt;SPAN style="COLOR: #a31515"&gt;"IsDir"&lt;/SPAN&gt;, SMO.&lt;SPAN style="COLOR: #2b91af"&gt;DataType&lt;/SPAN&gt;.Bit);&lt;o:p&gt;&lt;/o:p&gt;&lt;/SPAN&gt;&lt;/P&gt;
&lt;P style="LINE-HEIGHT: normal; MARGIN: 0in 0in 0pt; mso-layout-grid-align: none" class=MsoNormal&gt;&lt;SPAN style="FONT-FAMILY: 'Courier New'; FONT-SIZE: 10pt; mso-ansi-language: en-us; mso-no-proof: yes"&gt;&lt;SPAN style="mso-spacerun: yes"&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp; &lt;/SPAN&gt;f.Columns.Add(c);&lt;o:p&gt;&lt;/o:p&gt;&lt;/SPAN&gt;&lt;/P&gt;
&lt;P style="LINE-HEIGHT: normal; MARGIN: 0in 0in 0pt; mso-layout-grid-align: none" class=MsoNormal&gt;&lt;SPAN style="FONT-FAMILY: 'Courier New'; FONT-SIZE: 10pt; mso-ansi-language: en-us; mso-no-proof: yes"&gt;&lt;SPAN style="mso-spacerun: yes"&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp; &lt;/SPAN&gt;f.TableVariableName = &lt;SPAN style="COLOR: #a31515"&gt;""&lt;/SPAN&gt;;&lt;o:p&gt;&lt;/o:p&gt;&lt;/SPAN&gt;&lt;/P&gt;
&lt;P style="LINE-HEIGHT: normal; MARGIN: 0in 0in 0pt; mso-layout-grid-align: none" class=MsoNormal&gt;&lt;SPAN style="FONT-FAMILY: 'Courier New'; FONT-SIZE: 10pt; mso-ansi-language: en-us; mso-no-proof: yes"&gt;&lt;SPAN style="mso-spacerun: yes"&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp; &lt;/SPAN&gt;f.Create();&lt;o:p&gt;&lt;/o:p&gt;&lt;/SPAN&gt;&lt;/P&gt;
&lt;P style="LINE-HEIGHT: normal; MARGIN: 0in 0in 0pt; mso-layout-grid-align: none" class=MsoNormal&gt;&lt;SPAN style="FONT-FAMILY: 'Courier New'; FONT-SIZE: 10pt; mso-ansi-language: en-us; mso-no-proof: yes"&gt;&lt;o:p&gt;&amp;nbsp;&lt;/o:p&gt;&lt;/SPAN&gt;&lt;/P&gt;
&lt;P style="LINE-HEIGHT: normal; MARGIN: 0in 0in 0pt; mso-layout-grid-align: none" class=MsoNormal&gt;&lt;SPAN style="FONT-FAMILY: 'Courier New'; FONT-SIZE: 10pt; mso-ansi-language: en-us; mso-no-proof: yes"&gt;&lt;SPAN style="mso-spacerun: yes"&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp; &lt;/SPAN&gt;&lt;SPAN style="mso-spacerun: yes"&gt;&amp;nbsp;&amp;nbsp; &lt;/SPAN&gt;&lt;SPAN style="COLOR: blue"&gt;foreach&lt;/SPAN&gt; (&lt;SPAN style="COLOR: blue"&gt;string&lt;/SPAN&gt; s &lt;SPAN style="COLOR: blue"&gt;in&lt;/SPAN&gt; srv.ConnectionContext.CapturedSql.Text) &lt;SPAN style="COLOR: #2b91af"&gt;Debug&lt;/SPAN&gt;.WriteLine(s);&lt;o:p&gt;&lt;/o:p&gt;&lt;/SPAN&gt;&lt;/P&gt;
&lt;P style="LINE-HEIGHT: normal; MARGIN: 0in 0in 0pt; mso-layout-grid-align: none" class=MsoNormal&gt;&lt;SPAN style="FONT-FAMILY: 'Courier New'; FONT-SIZE: 10pt; mso-ansi-language: en-us; mso-no-proof: yes"&gt;&lt;SPAN style="mso-spacerun: yes"&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp; &lt;/SPAN&gt;&lt;/SPAN&gt;&lt;SPAN style="FONT-FAMILY: 'Courier New'; FONT-SIZE: 10pt; mso-no-proof: yes" lang=RU&gt;}&lt;o:p&gt;&lt;/o:p&gt;&lt;/SPAN&gt;&lt;/P&gt;
&lt;P style="LINE-HEIGHT: normal; MARGIN: 0in 0in 0pt; mso-layout-grid-align: none" class=MsoNormal&gt;&lt;SPAN style="FONT-FAMILY: 'Courier New'; FONT-SIZE: 10pt; mso-no-proof: yes" lang=RU&gt;}&lt;o:p&gt;&lt;/o:p&gt;&lt;/SPAN&gt;&lt;/P&gt;
&lt;P style="MARGIN: 0in 2.55pt 0pt 0in" class=MsoNormal&gt;&lt;SPAN lang=RU&gt;&lt;FONT size=3&gt;&lt;FONT face=Calibri&gt;Скрипт 4&lt;SPAN style="mso-spacerun: yes"&gt;&amp;nbsp;&amp;nbsp; &lt;/SPAN&gt;&lt;/FONT&gt;&lt;/FONT&gt;&lt;/SPAN&gt;&lt;/P&gt;
&lt;P style="MARGIN: 0in 2.55pt 0pt 0in" class=MsoNormal&gt;&lt;SPAN lang=RU&gt;&lt;o:p&gt;&lt;FONT size=3 face=Calibri&gt;&amp;nbsp;&lt;/FONT&gt;&lt;/o:p&gt;&lt;/SPAN&gt;&lt;/P&gt;
&lt;P style="MARGIN: 0in 2.55pt 0pt 0in" class=MsoNormal&gt;&lt;FONT size=3&gt;&lt;FONT face=Calibri&gt;&lt;SPAN lang=RU&gt;Это была краткая иллюстрация возможности SMO по захвату SQL. Я пытался измыслить практические сценарии ее использования и не преуспел. Профайлер, как мы видели, позволяет делать все то же самое, плюс он обладает более широким спектром возможностей, т.к. не ограничен одной текущей сессией и T-SQLными событиями. Можно представить ситуацию, когда на предприятии нет выделенного DBA, и администратору приходится отвечать за все: за сервера баз данных, за почтовые сервера, за AD и т.д. Он использует PowerShell как универсальный рабочий инструмент автоматизации своих действий, из которого обращается к каждому из серверов в соответствии с его объектной моделью или &lt;/SPAN&gt;&lt;SPAN style="mso-ansi-language: en-us"&gt;WMI&lt;/SPAN&gt;&lt;SPAN lang=RU&gt; и иными административными интерфейсами. Например, SMO в случае SQL Server. Даже если предположить, что ему вдруг понадобилось превратить SMOшный скрипт в SQL, почему не использовать профайлер для перехвата действий, которые вызывает SMO на стороне сервера? Права ALTER TRACE у него по-любому должны иметься. Может быть, отталкиваться от обратной ситуации, когда разработчик не обладает сколь-либо серьезными административными привилегиями на SQL Server, и ему требуется проконтролировать, как в действительности отзовется код, написанный им с помощью SMO, на стороне сервера. С другой стороны, SMO, скорее, административный интерфейс, нежели доступ к данным общего назначения, так что разработчик будет, вероятно, использовать ADO.NET. Словом, если уважаемые читатели располагают убедительным &lt;SPAN style="mso-spacerun: yes"&gt;&amp;nbsp;&lt;/SPAN&gt;примером, когда профайлер неприменим, а CaptureSQL выручает, давайте обсудим в комментариях. &lt;/SPAN&gt;&lt;/FONT&gt;&lt;/FONT&gt;&lt;/P&gt;
&lt;P style="MARGIN: 0in 2.55pt 0pt 0in" class=MsoNormal&gt;&lt;FONT size=3&gt;&lt;FONT face=Calibri&gt;&lt;SPAN lang=RU&gt;В &lt;/SPAN&gt;&lt;SPAN style="mso-ansi-language: en-us"&gt;SMO&lt;/SPAN&gt;&lt;SPAN lang=RU&gt; имеется возможность скриптования, полезность которой очевидна. Она реализована в классе Microsoft.SqlServer.Management.Smo.Scripter, бегло рассмотренном в &lt;A href="http://blogs.msdn.com/alexejs/archive/2009/08/24/9882457.aspx" mce_href="http://blogs.msdn.com/alexejs/archive/2009/08/24/9882457.aspx"&gt;предыдущем посте&lt;/A&gt;. Речь идет не о захвате того, что происходит на лету, что позволяет делать и профайлер, а об автоматизации кнопки &lt;/SPAN&gt;&lt;SPAN style="mso-ansi-language: en-us"&gt;Generate&lt;/SPAN&gt; &lt;SPAN style="mso-ansi-language: en-us"&gt;SQL&lt;/SPAN&gt; &lt;SPAN style="mso-ansi-language: en-us"&gt;Script&lt;/SPAN&gt;&lt;SPAN lang=RU&gt;, т.е. генерации скриптов ранее созданных объектов. Совершенно замечательной возможностью скриптера является построение дерева зависимостей между объектами. Выполнение этой операции вручную довольно затруднительно. &lt;/SPAN&gt;&lt;/FONT&gt;&lt;/FONT&gt;&lt;/P&gt;
&lt;P style="MARGIN: 0in 2.55pt 0pt 0in" class=MsoNormal&gt;&lt;FONT size=3&gt;&lt;FONT face=Calibri&gt;&lt;SPAN style="mso-ansi-language: en-us"&gt;S&lt;/SPAN&gt;&lt;SPAN lang=RU&gt;ys.sql_expression_dependencies (она же sql_dependencies, она же sysdepends, а также sp_depends, которая лазит по последней) не является исчерпывающим справочником отношений между объектами, т.к. отслеживает весьма ограниченное число типов зависимостей - см. &lt;/SPAN&gt;&lt;SPAN style="mso-ansi-language: en-us"&gt;BOL&lt;/SPAN&gt;&lt;SPAN lang=RU&gt;, &lt;A href="http://msdn.microsoft.com/ru-ru/library/ms345449.aspx" mce_href="http://msdn.microsoft.com/ru-ru/library/ms345449.aspx"&gt;&lt;FONT color=#0000ff&gt;&lt;SPAN style="mso-ansi-language: en-us" lang=EN-US&gt;http&lt;/SPAN&gt;://&lt;SPAN style="mso-ansi-language: en-us" lang=EN-US&gt;msdn&lt;/SPAN&gt;.&lt;SPAN style="mso-ansi-language: en-us" lang=EN-US&gt;microsoft&lt;/SPAN&gt;.&lt;SPAN style="mso-ansi-language: en-us" lang=EN-US&gt;com&lt;/SPAN&gt;/&lt;SPAN style="mso-ansi-language: en-us" lang=EN-US&gt;ru&lt;/SPAN&gt;-&lt;SPAN style="mso-ansi-language: en-us" lang=EN-US&gt;ru&lt;/SPAN&gt;/&lt;SPAN style="mso-ansi-language: en-us" lang=EN-US&gt;library&lt;/SPAN&gt;/&lt;SPAN style="mso-ansi-language: en-us" lang=EN-US&gt;ms&lt;/SPAN&gt;345449.&lt;SPAN style="mso-ansi-language: en-us" lang=EN-US&gt;aspx&lt;/SPAN&gt;&lt;/FONT&gt;&lt;/A&gt;. Кстати, статья примечательна по двум причинам. Во-первых, творческий подход переводчика, переведшего вьюшку как просмотр. Действительно, традиционный перевод как представление уже прискучил. Единственно, ему нужно было определиться и остановиться на каком-нибудь одном варианте, а не терзаться творческими муками в пределах одной статьи. Во-вторых, DMV не отслеживает важных в данном примере зависимостей foreign key и принадлежностей CLRных модулей сборкам:&lt;/SPAN&gt;&lt;/FONT&gt;&lt;/FONT&gt;&lt;/P&gt;
&lt;P style="MARGIN: 0in 2.55pt 0pt 0in" class=MsoNormal&gt;&lt;SPAN lang=RU&gt;&lt;o:p&gt;&lt;FONT size=3 face=Calibri&gt;&amp;nbsp;&lt;/FONT&gt;&lt;/o:p&gt;&lt;/SPAN&gt;&lt;/P&gt;
&lt;P style="LINE-HEIGHT: normal; MARGIN: 0in 0in 0pt; mso-layout-grid-align: none" class=MsoNormal&gt;&lt;SPAN style="FONT-FAMILY: 'Courier New'; COLOR: blue; FONT-SIZE: 10pt; mso-ansi-language: en-us; mso-no-proof: yes"&gt;select&lt;/SPAN&gt;&lt;SPAN style="FONT-FAMILY: 'Courier New'; FONT-SIZE: 10pt; mso-ansi-language: en-us; mso-no-proof: yes"&gt; &lt;SPAN style="COLOR: fuchsia"&gt;object_name&lt;/SPAN&gt;&lt;SPAN style="COLOR: gray"&gt;(&lt;/SPAN&gt;referencing_id&lt;SPAN style="COLOR: gray"&gt;),&lt;/SPAN&gt; referencing_class_desc&lt;SPAN style="COLOR: gray"&gt;,&lt;/SPAN&gt; c1&lt;SPAN style="COLOR: gray"&gt;.&lt;/SPAN&gt;name&lt;SPAN style="COLOR: gray"&gt;,&lt;/SPAN&gt; referenced_entity_name&lt;SPAN style="COLOR: gray"&gt;,&lt;/SPAN&gt; c2&lt;SPAN style="COLOR: gray"&gt;.&lt;/SPAN&gt;name &lt;SPAN style="COLOR: blue"&gt;from&lt;/SPAN&gt; &lt;SPAN style="COLOR: green"&gt;sys&lt;/SPAN&gt;&lt;SPAN style="COLOR: gray"&gt;.&lt;/SPAN&gt;&lt;SPAN style="COLOR: green"&gt;sql_expression_dependencies&lt;/SPAN&gt; d&lt;o:p&gt;&lt;/o:p&gt;&lt;/SPAN&gt;&lt;/P&gt;
&lt;P style="LINE-HEIGHT: normal; MARGIN: 0in 0in 0pt; mso-layout-grid-align: none" class=MsoNormal&gt;&lt;SPAN style="FONT-FAMILY: 'Courier New'; COLOR: gray; FONT-SIZE: 10pt; mso-ansi-language: en-us; mso-no-proof: yes"&gt;left&lt;/SPAN&gt;&lt;SPAN style="FONT-FAMILY: 'Courier New'; FONT-SIZE: 10pt; mso-ansi-language: en-us; mso-no-proof: yes"&gt; &lt;SPAN style="COLOR: gray"&gt;join&lt;/SPAN&gt; &lt;SPAN style="COLOR: green"&gt;sys&lt;/SPAN&gt;&lt;SPAN style="COLOR: gray"&gt;.&lt;/SPAN&gt;&lt;SPAN style="COLOR: green"&gt;columns&lt;/SPAN&gt; c1 &lt;SPAN style="COLOR: blue"&gt;on&lt;/SPAN&gt; d&lt;SPAN style="COLOR: gray"&gt;.&lt;/SPAN&gt;referencing_id &lt;SPAN style="COLOR: gray"&gt;=&lt;/SPAN&gt; c1&lt;SPAN style="COLOR: gray"&gt;.&lt;/SPAN&gt;&lt;SPAN style="COLOR: fuchsia"&gt;object_id&lt;/SPAN&gt; &lt;SPAN style="COLOR: gray"&gt;and&lt;/SPAN&gt; d&lt;SPAN style="COLOR: gray"&gt;.&lt;/SPAN&gt;referencing_minor_id &lt;SPAN style="COLOR: gray"&gt;=&lt;/SPAN&gt; c1&lt;SPAN style="COLOR: gray"&gt;.&lt;/SPAN&gt;column_id&lt;o:p&gt;&lt;/o:p&gt;&lt;/SPAN&gt;&lt;/P&gt;
&lt;P style="LINE-HEIGHT: normal; MARGIN: 0in 0in 0pt; mso-layout-grid-align: none" class=MsoNormal&gt;&lt;SPAN style="FONT-FAMILY: 'Courier New'; COLOR: gray; FONT-SIZE: 10pt; mso-ansi-language: en-us; mso-no-proof: yes"&gt;left&lt;/SPAN&gt;&lt;SPAN style="FONT-FAMILY: 'Courier New'; FONT-SIZE: 10pt; mso-ansi-language: en-us; mso-no-proof: yes"&gt; &lt;SPAN style="COLOR: gray"&gt;join&lt;/SPAN&gt; &lt;SPAN style="COLOR: green"&gt;sys&lt;/SPAN&gt;&lt;SPAN style="COLOR: gray"&gt;.&lt;/SPAN&gt;&lt;SPAN style="COLOR: green"&gt;columns&lt;/SPAN&gt; c2 &lt;SPAN style="COLOR: blue"&gt;on&lt;/SPAN&gt; d&lt;SPAN style="COLOR: gray"&gt;.&lt;/SPAN&gt;referenced_id &lt;SPAN style="COLOR: gray"&gt;=&lt;/SPAN&gt; c2&lt;SPAN style="COLOR: gray"&gt;.&lt;/SPAN&gt;&lt;SPAN style="COLOR: fuchsia"&gt;object_id&lt;/SPAN&gt; &lt;SPAN style="COLOR: gray"&gt;and&lt;/SPAN&gt; d&lt;SPAN style="COLOR: gray"&gt;.&lt;/SPAN&gt;referenced_minor_id &lt;SPAN style="COLOR: gray"&gt;=&lt;/SPAN&gt; c2&lt;SPAN style="COLOR: gray"&gt;.&lt;/SPAN&gt;column_id&lt;o:p&gt;&lt;/o:p&gt;&lt;/SPAN&gt;&lt;/P&gt;
&lt;P style="MARGIN: 0in 2.55pt 0pt 0in" class=MsoNormal&gt;&lt;SPAN style="mso-ansi-language: en-us"&gt;&lt;o:p&gt;&lt;FONT size=3 face=Calibri&gt;&amp;nbsp;&lt;/FONT&gt;&lt;/o:p&gt;&lt;/SPAN&gt;&lt;/P&gt;
&lt;TABLE style="BORDER-BOTTOM: medium none; BORDER-LEFT: medium none; BORDER-COLLAPSE: collapse; BORDER-TOP: medium none; BORDER-RIGHT: medium none; mso-border-alt: solid black .5pt; mso-border-themecolor: text1; mso-yfti-tbllook: 1184; mso-padding-alt: 0in 5.4pt 0in 5.4pt" class=MsoTableGrid border=1 cellSpacing=0 cellPadding=0 class="MsoTableGrid"&gt;
&lt;TBODY&gt;
&lt;TR style="HEIGHT: 15pt; mso-yfti-irow: 0; mso-yfti-firstrow: yes"&gt;
&lt;TD style="BORDER-BOTTOM: black 1pt solid; BORDER-LEFT: black 1pt solid; PADDING-BOTTOM: 0in; BACKGROUND-COLOR: transparent; PADDING-LEFT: 5.4pt; WIDTH: 72.9pt; PADDING-RIGHT: 5.4pt; HEIGHT: 15pt; BORDER-TOP: black 1pt solid; BORDER-RIGHT: black 1pt solid; PADDING-TOP: 0in; mso-border-alt: solid black .5pt; mso-border-themecolor: text1" vAlign=top width=97 noWrap&gt;
&lt;P style="LINE-HEIGHT: normal; MARGIN: 0in 2.55pt 0pt 0in" class=MsoNormal&gt;&lt;B style="mso-bidi-font-weight: normal"&gt;&lt;SPAN lang=RU&gt;&lt;FONT size=3&gt;&lt;FONT face=Calibri&gt;(No column name)&lt;o:p&gt;&lt;/o:p&gt;&lt;/FONT&gt;&lt;/FONT&gt;&lt;/SPAN&gt;&lt;/B&gt;&lt;/P&gt;&lt;/TD&gt;
&lt;TD style="BORDER-BOTTOM: black 1pt solid; PADDING-BOTTOM: 0in; BACKGROUND-COLOR: transparent; PADDING-LEFT: 5.4pt; WIDTH: 92.05pt; PADDING-RIGHT: 5.4pt; HEIGHT: 15pt; BORDER-LEFT-COLOR: #d4d0c8; BORDER-TOP: black 1pt solid; BORDER-RIGHT: black 1pt solid; PADDING-TOP: 0in; mso-border-alt: solid black .5pt; mso-border-themecolor: text1; mso-border-left-alt: solid black .5pt; mso-border-left-themecolor: text1" vAlign=top width=123 noWrap&gt;
&lt;P style="LINE-HEIGHT: normal; MARGIN: 0in 2.55pt 0pt 0in" class=MsoNormal&gt;&lt;B style="mso-bidi-font-weight: normal"&gt;&lt;SPAN lang=RU&gt;&lt;FONT size=3&gt;&lt;FONT face=Calibri&gt;referencing_class_desc&lt;o:p&gt;&lt;/o:p&gt;&lt;/FONT&gt;&lt;/FONT&gt;&lt;/SPAN&gt;&lt;/B&gt;&lt;/P&gt;&lt;/TD&gt;
&lt;TD style="BORDER-BOTTOM: black 1pt solid; PADDING-BOTTOM: 0in; BACKGROUND-COLOR: transparent; PADDING-LEFT: 5.4pt; WIDTH: 48pt; PADDING-RIGHT: 5.4pt; HEIGHT: 15pt; BORDER-LEFT-COLOR: #d4d0c8; BORDER-TOP: black 1pt solid; BORDER-RIGHT: black 1pt solid; PADDING-TOP: 0in; mso-border-alt: solid black .5pt; mso-border-themecolor: text1; mso-border-left-alt: solid black .5pt; mso-border-left-themecolor: text1" vAlign=top width=64 noWrap&gt;
&lt;P style="LINE-HEIGHT: normal; MARGIN: 0in 2.55pt 0pt 0in" class=MsoNormal&gt;&lt;B style="mso-bidi-font-weight: normal"&gt;&lt;SPAN lang=RU&gt;&lt;FONT size=3&gt;&lt;FONT face=Calibri&gt;name&lt;o:p&gt;&lt;/o:p&gt;&lt;/FONT&gt;&lt;/FONT&gt;&lt;/SPAN&gt;&lt;/B&gt;&lt;/P&gt;&lt;/TD&gt;
&lt;TD style="BORDER-BOTTOM: black 1pt solid; PADDING-BOTTOM: 0in; BACKGROUND-COLOR: transparent; PADDING-LEFT: 5.4pt; WIDTH: 124.9pt; PADDING-RIGHT: 5.4pt; HEIGHT: 15pt; BORDER-LEFT-COLOR: #d4d0c8; BORDER-TOP: black 1pt solid; BORDER-RIGHT: black 1pt solid; PADDING-TOP: 0in; mso-border-alt: solid black .5pt; mso-border-themecolor: text1; mso-border-left-alt: solid black .5pt; mso-border-left-themecolor: text1" vAlign=top width=167 noWrap&gt;
&lt;P style="LINE-HEIGHT: normal; MARGIN: 0in 2.55pt 0pt 0in" class=MsoNormal&gt;&lt;B style="mso-bidi-font-weight: normal"&gt;&lt;SPAN lang=RU&gt;&lt;FONT size=3&gt;&lt;FONT face=Calibri&gt;referenced_entity_name&lt;o:p&gt;&lt;/o:p&gt;&lt;/FONT&gt;&lt;/FONT&gt;&lt;/SPAN&gt;&lt;/B&gt;&lt;/P&gt;&lt;/TD&gt;
&lt;TD style="BORDER-BOTTOM: black 1pt solid; PADDING-BOTTOM: 0in; BACKGROUND-COLOR: transparent; PADDING-LEFT: 5.4pt; WIDTH: 55.9pt; PADDING-RIGHT: 5.4pt; HEIGHT: 15pt; BORDER-LEFT-COLOR: #d4d0c8; BORDER-TOP: black 1pt solid; BORDER-RIGHT: black 1pt solid; PADDING-TOP: 0in; mso-border-alt: solid black .5pt; mso-border-themecolor: text1; mso-border-left-alt: solid black .5pt; mso-border-left-themecolor: text1" vAlign=top width=75 noWrap&gt;
&lt;P style="LINE-HEIGHT: normal; MARGIN: 0in 2.55pt 0pt 0in" class=MsoNormal&gt;&lt;B style="mso-bidi-font-weight: normal"&gt;&lt;SPAN lang=RU&gt;&lt;FONT size=3&gt;&lt;FONT face=Calibri&gt;name&lt;o:p&gt;&lt;/o:p&gt;&lt;/FONT&gt;&lt;/FONT&gt;&lt;/SPAN&gt;&lt;/B&gt;&lt;/P&gt;&lt;/TD&gt;&lt;/TR&gt;
&lt;TR style="HEIGHT: 15pt; mso-yfti-irow: 1"&gt;
&lt;TD style="BORDER-BOTTOM: black 1pt solid; BORDER-LEFT: black 1pt solid; PADDING-BOTTOM: 0in; BACKGROUND-COLOR: transparent; BORDER-TOP-COLOR: #d4d0c8; PADDING-LEFT: 5.4pt; WIDTH: 72.9pt; PADDING-RIGHT: 5.4pt; HEIGHT: 15pt; BORDER-RIGHT: black 1pt solid; PADDING-TOP: 0in; mso-border-alt: solid black .5pt; mso-border-themecolor: text1; mso-border-top-alt: solid black .5pt; mso-border-top-themecolor: text1" vAlign=top width=97 noWrap&gt;
&lt;P style="LINE-HEIGHT: normal; MARGIN: 0in 2.55pt 0pt 0in" class=MsoNormal&gt;&lt;SPAN lang=RU&gt;&lt;FONT size=3 face=Calibri&gt;TestFTS&lt;/FONT&gt;&lt;/SPAN&gt;&lt;/P&gt;&lt;/TD&gt;
&lt;TD style="BORDER-BOTTOM: black 1pt solid; PADDING-BOTTOM: 0in; BACKGROUND-COLOR: transparent; BORDER-TOP-COLOR: #d4d0c8; PADDING-LEFT: 5.4pt; WIDTH: 92.05pt; PADDING-RIGHT: 5.4pt; HEIGHT: 15pt; BORDER-LEFT-COLOR: #d4d0c8; BORDER-RIGHT: black 1pt solid; PADDING-TOP: 0in; mso-border-alt: solid black .5pt; mso-border-themecolor: text1; mso-border-left-alt: solid black .5pt; mso-border-left-themecolor: text1; mso-border-top-alt: solid black .5pt; mso-border-top-themecolor: text1; mso-border-bottom-themecolor: text1; mso-border-right-themecolor: text1" vAlign=top width=123 noWrap&gt;
&lt;P style="LINE-HEIGHT: normal; MARGIN: 0in 2.55pt 0pt 0in" class=MsoNormal&gt;&lt;SPAN lang=RU&gt;&lt;FONT size=3 face=Calibri&gt;OBJECT_OR_COLUMN&lt;/FONT&gt;&lt;/SPAN&gt;&lt;/P&gt;&lt;/TD&gt;
&lt;TD style="BORDER-BOTTOM: black 1pt solid; PADDING-BOTTOM: 0in; BACKGROUND-COLOR: transparent; BORDER-TOP-COLOR: #d4d0c8; PADDING-LEFT: 5.4pt; WIDTH: 48pt; PADDING-RIGHT: 5.4pt; HEIGHT: 15pt; BORDER-LEFT-COLOR: #d4d0c8; BORDER-RIGHT: black 1pt solid; PADDING-TOP: 0in; mso-border-alt: solid black .5pt; mso-border-themecolor: text1; mso-border-left-alt: solid black .5pt; mso-border-left-themecolor: text1; mso-border-top-alt: solid black .5pt; mso-border-top-themecolor: text1; mso-border-bottom-themecolor: text1; mso-border-right-themecolor: text1" vAlign=top width=64 noWrap&gt;
&lt;P style="LINE-HEIGHT: normal; MARGIN: 0in 2.55pt 0pt 0in" class=MsoNormal&gt;&lt;SPAN lang=RU&gt;&lt;FONT size=3 face=Calibri&gt;type&lt;/FONT&gt;&lt;/SPAN&gt;&lt;/P&gt;&lt;/TD&gt;
&lt;TD style="BORDER-BOTTOM: black 1pt solid; PADDING-BOTTOM: 0in; BACKGROUND-COLOR: transparent; BORDER-TOP-COLOR: #d4d0c8; PADDING-LEFT: 5.4pt; WIDTH: 124.9pt; PADDING-RIGHT: 5.4pt; HEIGHT: 15pt; BORDER-LEFT-COLOR: #d4d0c8; BORDER-RIGHT: black 1pt solid; PADDING-TOP: 0in; mso-border-alt: solid black .5pt; mso-border-themecolor: text1; mso-border-left-alt: solid black .5pt; mso-border-left-themecolor: text1; mso-border-top-alt: solid black .5pt; mso-border-top-themecolor: text1; mso-border-bottom-themecolor: text1; mso-border-right-themecolor: text1" vAlign=top width=167 noWrap&gt;
&lt;P style="LINE-HEIGHT: normal; MARGIN: 0in 2.55pt 0pt 0in" class=MsoNormal&gt;&lt;SPAN lang=RU&gt;&lt;FONT size=3 face=Calibri&gt;GetFileExtension&lt;/FONT&gt;&lt;/SPAN&gt;&lt;/P&gt;&lt;/TD&gt;
&lt;TD style="BORDER-BOTTOM: black 1pt solid; PADDING-BOTTOM: 0in; BACKGROUND-COLOR: transparent; BORDER-TOP-COLOR: #d4d0c8; PADDING-LEFT: 5.4pt; WIDTH: 55.9pt; PADDING-RIGHT: 5.4pt; HEIGHT: 15pt; BORDER-LEFT-COLOR: #d4d0c8; BORDER-RIGHT: black 1pt solid; PADDING-TOP: 0in; mso-border-alt: solid black .5pt; mso-border-themecolor: text1; mso-border-left-alt: solid black .5pt; mso-border-left-themecolor: text1; mso-border-top-alt: solid black .5pt; mso-border-top-themecolor: text1; mso-border-bottom-themecolor: text1; mso-border-right-themecolor: text1" vAlign=top width=75 noWrap&gt;
&lt;P style="LINE-HEIGHT: normal; MARGIN: 0in 2.55pt 0pt 0in" class=MsoNormal&gt;&lt;SPAN lang=RU&gt;&lt;FONT size=3 face=Calibri&gt;NULL&lt;/FONT&gt;&lt;/SPAN&gt;&lt;/P&gt;&lt;/TD&gt;&lt;/TR&gt;
&lt;TR style="HEIGHT: 15pt; mso-yfti-irow: 2; mso-yfti-lastrow: yes"&gt;
&lt;TD style="BORDER-BOTTOM: black 1pt solid; BORDER-LEFT: black 1pt solid; PADDING-BOTTOM: 0in; BACKGROUND-COLOR: transparent; BORDER-TOP-COLOR: #d4d0c8; PADDING-LEFT: 5.4pt; WIDTH: 72.9pt; PADDING-RIGHT: 5.4pt; HEIGHT: 15pt; BORDER-RIGHT: black 1pt solid; PADDING-TOP: 0in; mso-border-alt: solid black .5pt; mso-border-themecolor: text1; mso-border-top-alt: solid black .5pt; mso-border-top-themecolor: text1" vAlign=top width=97 noWrap&gt;
&lt;P style="LINE-HEIGHT: normal; MARGIN: 0in 2.55pt 0pt 0in" class=MsoNormal&gt;&lt;SPAN lang=RU&gt;&lt;FONT size=3 face=Calibri&gt;TestFTS&lt;/FONT&gt;&lt;/SPAN&gt;&lt;/P&gt;&lt;/TD&gt;
&lt;TD style="BORDER-BOTTOM: black 1pt solid; PADDING-BOTTOM: 0in; BACKGROUND-COLOR: transparent; BORDER-TOP-COLOR: #d4d0c8; PADDING-LEFT: 5.4pt; WIDTH: 92.05pt; PADDING-RIGHT: 5.4pt; HEIGHT: 15pt; BORDER-LEFT-COLOR: #d4d0c8; BORDER-RIGHT: black 1pt solid; PADDING-TOP: 0in; mso-border-alt: solid black .5pt; mso-border-themecolor: text1; mso-border-left-alt: solid black .5pt; mso-border-left-themecolor: text1; mso-border-top-alt: solid black .5pt; mso-border-top-themecolor: text1; mso-border-bottom-themecolor: text1; mso-border-right-themecolor: text1" vAlign=top width=123 noWrap&gt;
&lt;P style="LINE-HEIGHT: normal; MARGIN: 0in 2.55pt 0pt 0in" class=MsoNormal&gt;&lt;SPAN lang=RU&gt;&lt;FONT size=3 face=Calibri&gt;OBJECT_OR_COLUMN&lt;/FONT&gt;&lt;/SPAN&gt;&lt;/P&gt;&lt;/TD&gt;
&lt;TD style="BORDER-BOTTOM: black 1pt solid; PADDING-BOTTOM: 0in; BACKGROUND-COLOR: transparent; BORDER-TOP-COLOR: #d4d0c8; PADDING-LEFT: 5.4pt; WIDTH: 48pt; PADDING-RIGHT: 5.4pt; HEIGHT: 15pt; BORDER-LEFT-COLOR: #d4d0c8; BORDER-RIGHT: black 1pt solid; PADDING-TOP: 0in; mso-border-alt: solid black .5pt; mso-border-themecolor: text1; mso-border-left-alt: solid black .5pt; mso-border-left-themecolor: text1; mso-border-top-alt: solid black .5pt; mso-border-top-themecolor: text1; mso-border-bottom-themecolor: text1; mso-border-right-themecolor: text1" vAlign=top width=64 noWrap&gt;
&lt;P style="LINE-HEIGHT: normal; MARGIN: 0in 2.55pt 0pt 0in" class=MsoNormal&gt;&lt;SPAN lang=RU&gt;&lt;FONT size=3 face=Calibri&gt;type&lt;/FONT&gt;&lt;/SPAN&gt;&lt;/P&gt;&lt;/TD&gt;
&lt;TD style="BORDER-BOTTOM: black 1pt solid; PADDING-BOTTOM: 0in; BACKGROUND-COLOR: transparent; BORDER-TOP-COLOR: #d4d0c8; PADDING-LEFT: 5.4pt; WIDTH: 124.9pt; PADDING-RIGHT: 5.4pt; HEIGHT: 15pt; BORDER-LEFT-COLOR: #d4d0c8; BORDER-RIGHT: black 1pt solid; PADDING-TOP: 0in; mso-border-alt: solid black .5pt; mso-border-themecolor: text1; mso-border-left-alt: solid black .5pt; mso-border-left-themecolor: text1; mso-border-top-alt: solid black .5pt; mso-border-top-themecolor: text1; mso-border-bottom-themecolor: text1; mso-border-right-themecolor: text1" vAlign=top width=167 noWrap&gt;
&lt;P style="LINE-HEIGHT: normal; MARGIN: 0in 2.55pt 0pt 0in" class=MsoNormal&gt;&lt;SPAN lang=RU&gt;&lt;FONT size=3 face=Calibri&gt;TestFTS&lt;/FONT&gt;&lt;/SPAN&gt;&lt;/P&gt;&lt;/TD&gt;
&lt;TD style="BORDER-BOTTOM: black 1pt solid; PADDING-BOTTOM: 0in; BACKGROUND-COLOR: transparent; BORDER-TOP-COLOR: #d4d0c8; PADDING-LEFT: 5.4pt; WIDTH: 55.9pt; PADDING-RIGHT: 5.4pt; HEIGHT: 15pt; BORDER-LEFT-COLOR: #d4d0c8; BORDER-RIGHT: black 1pt solid; PADDING-TOP: 0in; mso-border-alt: solid black .5pt; mso-border-themecolor: text1; mso-border-left-alt: solid black .5pt; mso-border-left-themecolor: text1; mso-border-top-alt: solid black .5pt; mso-border-top-themecolor: text1; mso-border-bottom-themecolor: text1; mso-border-right-themecolor: text1" vAlign=top width=75 noWrap&gt;
&lt;P style="LINE-HEIGHT: normal; MARGIN: 0in 2.55pt 0pt 0in" class=MsoNormal&gt;&lt;SPAN lang=RU&gt;&lt;FONT size=3 face=Calibri&gt;FullName&lt;/FONT&gt;&lt;/SPAN&gt;&lt;/P&gt;&lt;/TD&gt;&lt;/TR&gt;&lt;/TBODY&gt;&lt;/TABLE&gt;
&lt;P style="MARGIN: 0in 2.55pt 0pt 0in" class=MsoNormal&gt;&lt;SPAN lang=RU&gt;&lt;FONT size=3 face=Calibri&gt;Скрипт 5&lt;/FONT&gt;&lt;/SPAN&gt;&lt;/P&gt;
&lt;P style="MARGIN: 0in 2.55pt 0pt 0in" class=MsoNormal&gt;&lt;SPAN lang=RU&gt;&lt;o:p&gt;&lt;FONT size=3 face=Calibri&gt;&amp;nbsp;&lt;/FONT&gt;&lt;/o:p&gt;&lt;/SPAN&gt;&lt;/P&gt;
&lt;P style="MARGIN: 0in 2.55pt 0pt 0in" class=MsoNormal&gt;&lt;FONT size=3&gt;&lt;FONT face=Calibri&gt;&lt;SPAN lang=RU&gt;Показывается зависимость колонки type в таблице TestFTS, которая имеет дефолтное значение dbo.&lt;/SPAN&gt;&lt;SPAN style="mso-ansi-language: en-us"&gt;GetFileExtension&lt;/SPAN&gt;&lt;SPAN lang=RU&gt;(&lt;/SPAN&gt;&lt;SPAN style="mso-ansi-language: en-us"&gt;FullName&lt;/SPAN&gt;&lt;SPAN lang=RU&gt;) от функции &lt;SPAN style="mso-spacerun: yes"&gt;&amp;nbsp;&lt;/SPAN&gt;GetFileExtension и от колонки FullName. В то же время не показывается зависимость для таблицы ttt от таблицы TestFTS&lt;/SPAN&gt;&lt;/FONT&gt;&lt;/FONT&gt;&lt;/P&gt;
&lt;P style="MARGIN: 0in 2.55pt 0pt 0in" class=MsoNormal&gt;&lt;SPAN lang=RU&gt;&lt;o:p&gt;&lt;FONT size=3 face=Calibri&gt;&amp;nbsp;&lt;/FONT&gt;&lt;/o:p&gt;&lt;/SPAN&gt;&lt;/P&gt;
&lt;P style="MARGIN: 0in 2.55pt 0pt 0in" class=MsoNormal&gt;&lt;SPAN style="LINE-HEIGHT: 115%; FONT-FAMILY: 'Courier New'; COLOR: blue; FONT-SIZE: 10pt; mso-ansi-language: en-us; mso-no-proof: yes"&gt;create&lt;/SPAN&gt;&lt;SPAN style="LINE-HEIGHT: 115%; FONT-FAMILY: 'Courier New'; FONT-SIZE: 10pt; mso-ansi-language: en-us; mso-no-proof: yes"&gt; &lt;SPAN style="COLOR: blue"&gt;table&lt;/SPAN&gt; ttt&lt;SPAN style="COLOR: blue"&gt; &lt;/SPAN&gt;&lt;SPAN style="COLOR: gray"&gt;(&lt;/SPAN&gt;id &lt;SPAN style="COLOR: blue"&gt;int&lt;/SPAN&gt;&lt;SPAN style="COLOR: gray"&gt;,&lt;/SPAN&gt; fk &lt;SPAN style="COLOR: blue"&gt;HierarchyID&lt;/SPAN&gt; &lt;SPAN style="COLOR: blue"&gt;references&lt;/SPAN&gt; TestFTS&lt;SPAN style="COLOR: gray"&gt;(&lt;/SPAN&gt;id&lt;SPAN style="COLOR: gray"&gt;))&lt;/SPAN&gt;&lt;/SPAN&gt;&lt;SPAN style="mso-ansi-language: en-us"&gt;&lt;o:p&gt;&lt;/o:p&gt;&lt;/SPAN&gt;&lt;/P&gt;
&lt;P style="MARGIN: 0in 2.55pt 0pt 0in" class=MsoNormal&gt;&lt;SPAN style="mso-ansi-language: en-us"&gt;&lt;o:p&gt;&lt;FONT size=3 face=Calibri&gt;&amp;nbsp;&lt;/FONT&gt;&lt;/o:p&gt;&lt;/SPAN&gt;&lt;/P&gt;
&lt;P style="MARGIN: 0in 2.55pt 0pt 0in" class=MsoNormal&gt;&lt;FONT size=3&gt;&lt;FONT face=Calibri&gt;&lt;SPAN lang=RU&gt;которая не даст просто так удалить таблицу &lt;/SPAN&gt;&lt;SPAN style="mso-ansi-language: en-us"&gt;TestFTS&lt;/SPAN&gt;&lt;SPAN lang=RU&gt;:&lt;/SPAN&gt;&lt;/FONT&gt;&lt;/FONT&gt;&lt;/P&gt;
&lt;P style="MARGIN: 0in 2.55pt 0pt 0in" class=MsoNormal&gt;&lt;SPAN lang=RU&gt;&lt;o:p&gt;&lt;FONT size=3 face=Calibri&gt;&amp;nbsp;&lt;/FONT&gt;&lt;/o:p&gt;&lt;/SPAN&gt;&lt;/P&gt;
&lt;P style="MARGIN: 0in 2.55pt 0pt 0in" class=MsoNormal&gt;&lt;SPAN style="LINE-HEIGHT: 115%; FONT-FAMILY: 'Courier New'; COLOR: blue; FONT-SIZE: 10pt; mso-ansi-language: en-us; mso-no-proof: yes"&gt;drop&lt;/SPAN&gt;&lt;SPAN style="LINE-HEIGHT: 115%; FONT-FAMILY: 'Courier New'; FONT-SIZE: 10pt; mso-ansi-language: en-us; mso-no-proof: yes"&gt; &lt;SPAN style="COLOR: blue"&gt;table&lt;/SPAN&gt; TestFTS&lt;o:p&gt;&lt;/o:p&gt;&lt;/SPAN&gt;&lt;/P&gt;
&lt;P style="LINE-HEIGHT: normal; MARGIN: 0in 0in 0pt; mso-layout-grid-align: none" class=MsoNormal&gt;&lt;SPAN style="FONT-FAMILY: 'Courier New'; FONT-SIZE: 10pt; mso-ansi-language: en-us; mso-no-proof: yes"&gt;Msg 3726, Level 16, State 1, Line 1&lt;o:p&gt;&lt;/o:p&gt;&lt;/SPAN&gt;&lt;/P&gt;
&lt;P style="MARGIN: 0in 2.55pt 0pt 0in" class=MsoNormal&gt;&lt;SPAN style="LINE-HEIGHT: 115%; FONT-FAMILY: 'Courier New'; FONT-SIZE: 10pt; mso-ansi-language: en-us; mso-no-proof: yes"&gt;Could not drop object 'TestFTS' because it is referenced by a FOREIGN KEY constraint.&lt;/SPAN&gt;&lt;SPAN style="mso-ansi-language: en-us"&gt;&lt;o:p&gt;&lt;/o:p&gt;&lt;/SPAN&gt;&lt;/P&gt;
&lt;P style="MARGIN: 0in 2.55pt 0pt 0in" class=MsoNormal&gt;&lt;SPAN lang=RU&gt;&lt;FONT size=3 face=Calibri&gt;Скрипт 6&lt;/FONT&gt;&lt;/SPAN&gt;&lt;/P&gt;
&lt;P style="MARGIN: 0in 2.55pt 0pt 0in" class=MsoNormal&gt;&lt;SPAN lang=RU&gt;&lt;o:p&gt;&lt;FONT size=3 face=Calibri&gt;&amp;nbsp;&lt;/FONT&gt;&lt;/o:p&gt;&lt;/SPAN&gt;&lt;/P&gt;
&lt;P style="MARGIN: 0in 2.55pt 0pt 0in" class=MsoNormal&gt;&lt;FONT size=3&gt;&lt;FONT face=Calibri&gt;&lt;SPAN lang=RU&gt;Эти зависимости нужно искать в &lt;/SPAN&gt;&lt;SPAN style="mso-ansi-language: en-us"&gt;sys&lt;/SPAN&gt;&lt;SPAN lang=RU&gt;.&lt;/SPAN&gt;&lt;SPAN style="mso-ansi-language: en-us"&gt;foreign&lt;/SPAN&gt;&lt;SPAN lang=RU&gt;_&lt;/SPAN&gt;&lt;SPAN style="mso-ansi-language: en-us"&gt;keys&lt;/SPAN&gt;&lt;SPAN lang=RU&gt;:&lt;/SPAN&gt;&lt;/FONT&gt;&lt;/FONT&gt;&lt;/P&gt;
&lt;P style="MARGIN: 0in 2.55pt 0pt 0in" class=MsoNormal&gt;&lt;SPAN lang=RU&gt;&lt;o:p&gt;&lt;FONT size=3 face=Calibri&gt;&amp;nbsp;&lt;/FONT&gt;&lt;/o:p&gt;&lt;/SPAN&gt;&lt;/P&gt;
&lt;P style="MARGIN: 0in 2.55pt 0pt 0in" class=MsoNormal&gt;&lt;SPAN style="LINE-HEIGHT: 115%; FONT-FAMILY: 'Courier New'; COLOR: blue; FONT-SIZE: 10pt; mso-ansi-language: en-us; mso-no-proof: yes"&gt;select&lt;/SPAN&gt;&lt;SPAN style="LINE-HEIGHT: 115%; FONT-FAMILY: 'Courier New'; FONT-SIZE: 10pt; mso-ansi-language: en-us; mso-no-proof: yes"&gt; name&lt;SPAN style="COLOR: gray"&gt;,&lt;/SPAN&gt; &lt;SPAN style="COLOR: fuchsia"&gt;object_name&lt;/SPAN&gt;&lt;SPAN style="COLOR: gray"&gt;(&lt;/SPAN&gt;parent_object_id&lt;SPAN style="COLOR: gray"&gt;),&lt;/SPAN&gt; &lt;SPAN style="COLOR: fuchsia"&gt;object_name&lt;/SPAN&gt;&lt;SPAN style="COLOR: gray"&gt;(&lt;/SPAN&gt;referenced_object_id&lt;SPAN style="COLOR: gray"&gt;)&lt;/SPAN&gt; &lt;SPAN style="COLOR: blue"&gt;from&lt;/SPAN&gt; &lt;SPAN style="COLOR: green"&gt;sys&lt;/SPAN&gt;&lt;SPAN style="COLOR: gray"&gt;.&lt;/SPAN&gt;&lt;SPAN style="COLOR: green"&gt;foreign_keys&lt;/SPAN&gt;&lt;/SPAN&gt;&lt;SPAN style="mso-ansi-language: en-us"&gt;&lt;o:p&gt;&lt;/o:p&gt;&lt;/SPAN&gt;&lt;/P&gt;
&lt;P style="MARGIN: 0in 2.55pt 0pt 0in" class=MsoNormal&gt;&lt;SPAN style="mso-ansi-language: en-us"&gt;&lt;o:p&gt;&lt;FONT size=3 face=Calibri&gt;&amp;nbsp;&lt;/FONT&gt;&lt;/o:p&gt;&lt;/SPAN&gt;&lt;/P&gt;
&lt;TABLE style="BORDER-BOTTOM: medium none; BORDER-LEFT: medium none; BORDER-COLLAPSE: collapse; BORDER-TOP: medium none; BORDER-RIGHT: medium none; mso-border-alt: solid black .5pt; mso-border-themecolor: text1; mso-yfti-tbllook: 1184; mso-padding-alt: 0in 5.4pt 0in 5.4pt" class=MsoTableGrid border=1 cellSpacing=0 cellPadding=0 class="MsoTableGrid"&gt;
&lt;TBODY&gt;
&lt;TR style="HEIGHT: 15pt; mso-yfti-irow: 0; mso-yfti-firstrow: yes"&gt;
&lt;TD style="BORDER-BOTTOM: black 1pt solid; BORDER-LEFT: black 1pt solid; PADDING-BOTTOM: 0in; BACKGROUND-COLOR: transparent; PADDING-LEFT: 5.4pt; WIDTH: 120.6pt; PADDING-RIGHT: 5.4pt; HEIGHT: 15pt; BORDER-TOP: black 1pt solid; BORDER-RIGHT: black 1pt solid; PADDING-TOP: 0in; mso-border-alt: solid black .5pt; mso-border-themecolor: text1" vAlign=top width=161 noWrap&gt;
&lt;P style="LINE-HEIGHT: normal; MARGIN: 0in 2.55pt 0pt 0in" class=MsoNormal&gt;&lt;B style="mso-bidi-font-weight: normal"&gt;&lt;SPAN lang=RU&gt;&lt;FONT size=3&gt;&lt;FONT face=Calibri&gt;name&lt;o:p&gt;&lt;/o:p&gt;&lt;/FONT&gt;&lt;/FONT&gt;&lt;/SPAN&gt;&lt;/B&gt;&lt;/P&gt;&lt;/TD&gt;
&lt;TD style="BORDER-BOTTOM: black 1pt solid; PADDING-BOTTOM: 0in; BACKGROUND-COLOR: transparent; PADDING-LEFT: 5.4pt; WIDTH: 105.3pt; PADDING-RIGHT: 5.4pt; HEIGHT: 15pt; BORDER-LEFT-COLOR: #d4d0c8; BORDER-TOP: black 1pt solid; BORDER-RIGHT: black 1pt solid; PADDING-TOP: 0in; mso-border-alt: solid black .5pt; mso-border-themecolor: text1; mso-border-left-alt: solid black .5pt; mso-border-left-themecolor: text1" vAlign=top width=140 noWrap&gt;
&lt;P style="LINE-HEIGHT: normal; MARGIN: 0in 2.55pt 0pt 0in" class=MsoNormal&gt;&lt;B style="mso-bidi-font-weight: normal"&gt;&lt;SPAN lang=RU&gt;&lt;FONT size=3&gt;&lt;FONT face=Calibri&gt;(No column name)&lt;o:p&gt;&lt;/o:p&gt;&lt;/FONT&gt;&lt;/FONT&gt;&lt;/SPAN&gt;&lt;/B&gt;&lt;/P&gt;&lt;/TD&gt;
&lt;TD style="BORDER-BOTTOM: black 1pt solid; PADDING-BOTTOM: 0in; BACKGROUND-COLOR: transparent; PADDING-LEFT: 5.4pt; WIDTH: 1.5in; PADDING-RIGHT: 5.4pt; HEIGHT: 15pt; BORDER-LEFT-COLOR: #d4d0c8; BORDER-TOP: black 1pt solid; BORDER-RIGHT: black 1pt solid; PADDING-TOP: 0in; mso-border-alt: solid black .5pt; mso-border-themecolor: text1; mso-border-left-alt: solid black .5pt; mso-border-left-themecolor: text1" vAlign=top width=144 noWrap&gt;
&lt;P style="LINE-HEIGHT: normal; MARGIN: 0in 2.55pt 0pt 0in" class=MsoNormal&gt;&lt;B style="mso-bidi-font-weight: normal"&gt;&lt;SPAN lang=RU&gt;&lt;FONT size=3&gt;&lt;FONT face=Calibri&gt;(No column name)&lt;o:p&gt;&lt;/o:p&gt;&lt;/FONT&gt;&lt;/FONT&gt;&lt;/SPAN&gt;&lt;/B&gt;&lt;/P&gt;&lt;/TD&gt;&lt;/TR&gt;
&lt;TR style="HEIGHT: 15pt; mso-yfti-irow: 1; mso-yfti-lastrow: yes"&gt;
&lt;TD style="BORDER-BOTTOM: black 1pt solid; BORDER-LEFT: black 1pt solid; PADDING-BOTTOM: 0in; BACKGROUND-COLOR: transparent; BORDER-TOP-COLOR: #d4d0c8; PADDING-LEFT: 5.4pt; WIDTH: 120.6pt; PADDING-RIGHT: 5.4pt; HEIGHT: 15pt; BORDER-RIGHT: black 1pt solid; PADDING-TOP: 0in; mso-border-alt: solid black .5pt; mso-border-themecolor: text1; mso-border-top-alt: solid black .5pt; mso-border-top-themecolor: text1" vAlign=top width=161 noWrap&gt;
&lt;P style="LINE-HEIGHT: normal; MARGIN: 0in 2.55pt 0pt 0in" class=MsoNormal&gt;&lt;SPAN lang=RU&gt;&lt;FONT size=3 face=Calibri&gt;FK__ttt__fk__43F60EC8&lt;/FONT&gt;&lt;/SPAN&gt;&lt;/P&gt;&lt;/TD&gt;
&lt;TD style="BORDER-BOTTOM: black 1pt solid; PADDING-BOTTOM: 0in; BACKGROUND-COLOR: transparent; BORDER-TOP-COLOR: #d4d0c8; PADDING-LEFT: 5.4pt; WIDTH: 105.3pt; PADDING-RIGHT: 5.4pt; HEIGHT: 15pt; BORDER-LEFT-COLOR: #d4d0c8; BORDER-RIGHT: black 1pt solid; PADDING-TOP: 0in; mso-border-alt: solid black .5pt; mso-border-themecolor: text1; mso-border-left-alt: solid black .5pt; mso-border-left-themecolor: text1; mso-border-top-alt: solid black .5pt; mso-border-top-themecolor: text1; mso-border-bottom-themecolor: text1; mso-border-right-themecolor: text1" vAlign=top width=140 noWrap&gt;
&lt;P style="LINE-HEIGHT: normal; MARGIN: 0in 2.55pt 0pt 0in" class=MsoNormal&gt;&lt;SPAN lang=RU&gt;&lt;FONT size=3 face=Calibri&gt;ttt&lt;/FONT&gt;&lt;/SPAN&gt;&lt;/P&gt;&lt;/TD&gt;
&lt;TD style="BORDER-BOTTOM: black 1pt solid; PADDING-BOTTOM: 0in; BACKGROUND-COLOR: transparent; BORDER-TOP-COLOR: #d4d0c8; PADDING-LEFT: 5.4pt; WIDTH: 1.5in; PADDING-RIGHT: 5.4pt; HEIGHT: 15pt; BORDER-LEFT-COLOR: #d4d0c8; BORDER-RIGHT: black 1pt solid; PADDING-TOP: 0in; mso-border-alt: solid black .5pt; mso-border-themecolor: text1; mso-border-left-alt: solid black .5pt; mso-border-left-themecolor: text1; mso-border-top-alt: solid black .5pt; mso-border-top-themecolor: text1; mso-border-bottom-themecolor: text1; mso-border-right-themecolor: text1" vAlign=top width=144 noWrap&gt;
&lt;P style="LINE-HEIGHT: normal; MARGIN: 0in 2.55pt 0pt 0in" class=MsoNormal&gt;&lt;SPAN lang=RU&gt;&lt;FONT size=3 face=Calibri&gt;TestFTS&lt;/FONT&gt;&lt;/SPAN&gt;&lt;/P&gt;&lt;/TD&gt;&lt;/TR&gt;&lt;/TBODY&gt;&lt;/TABLE&gt;
&lt;P style="MARGIN: 0in 2.55pt 0pt 0in" class=MsoNormal&gt;&lt;SPAN lang=RU&gt;&lt;FONT size=3 face=Calibri&gt;Скрипт 7&lt;/FONT&gt;&lt;/SPAN&gt;&lt;/P&gt;
&lt;P style="MARGIN: 0in 2.55pt 0pt 0in" class=MsoNormal&gt;&lt;SPAN lang=RU&gt;&lt;o:p&gt;&lt;FONT size=3 face=Calibri&gt;&amp;nbsp;&lt;/FONT&gt;&lt;/o:p&gt;&lt;/SPAN&gt;&lt;/P&gt;
&lt;P style="MARGIN: 0in 2.55pt 0pt 0in" class=MsoNormal&gt;&lt;FONT size=3&gt;&lt;FONT face=Calibri&gt;&lt;SPAN lang=RU&gt;В &lt;/SPAN&gt;&lt;SPAN style="mso-ansi-language: en-us"&gt;sys&lt;/SPAN&gt;&lt;SPAN lang=RU&gt;.&lt;/SPAN&gt;&lt;SPAN style="mso-ansi-language: en-us"&gt;sql&lt;/SPAN&gt;&lt;SPAN lang=RU&gt;_&lt;/SPAN&gt;&lt;SPAN style="mso-ansi-language: en-us"&gt;expression&lt;/SPAN&gt;&lt;SPAN lang=RU&gt;_&lt;/SPAN&gt;&lt;SPAN style="mso-ansi-language: en-us"&gt;dependencies&lt;/SPAN&gt;&lt;SPAN lang=RU&gt; не отражается также зависимость функции GetFileExtension() от сборки MyAssembly. Ее&lt;/SPAN&gt;&lt;SPAN style="mso-ansi-language: en-us" lang=RU&gt; &lt;/SPAN&gt;&lt;SPAN lang=RU&gt;нужно&lt;/SPAN&gt;&lt;SPAN style="mso-ansi-language: en-us" lang=RU&gt; &lt;/SPAN&gt;&lt;SPAN lang=RU&gt;смотреть&lt;/SPAN&gt;&lt;SPAN style="mso-ansi-language: en-us" lang=RU&gt; &lt;/SPAN&gt;&lt;SPAN lang=RU&gt;в&lt;/SPAN&gt;&lt;SPAN style="mso-ansi-language: en-us" lang=RU&gt; &lt;/SPAN&gt;&lt;SPAN style="mso-ansi-language: en-us"&gt;sys.assembly_modules:&lt;o:p&gt;&lt;/o:p&gt;&lt;/SPAN&gt;&lt;/FONT&gt;&lt;/FONT&gt;&lt;/P&gt;
&lt;P style="MARGIN: 0in 2.55pt 0pt 0in" class=MsoNormal&gt;&lt;SPAN style="mso-ansi-language: en-us"&gt;&lt;o:p&gt;&lt;FONT size=3 face=Calibri&gt;&amp;nbsp;&lt;/FONT&gt;&lt;/o:p&gt;&lt;/SPAN&gt;&lt;/P&gt;
&lt;P style="MARGIN: 0in 2.55pt 0pt 0in" class=MsoNormal&gt;&lt;SPAN style="LINE-HEIGHT: 115%; FONT-FAMILY: 'Courier New'; COLOR: blue; FONT-SIZE: 10pt; mso-ansi-language: en-us; mso-no-proof: yes"&gt;select&lt;/SPAN&gt;&lt;SPAN style="LINE-HEIGHT: 115%; FONT-FAMILY: 'Courier New'; FONT-SIZE: 10pt; mso-ansi-language: en-us; mso-no-proof: yes"&gt; a&lt;SPAN style="COLOR: gray"&gt;.&lt;/SPAN&gt;name&lt;SPAN style="COLOR: gray"&gt;,&lt;/SPAN&gt; o&lt;SPAN style="COLOR: gray"&gt;.&lt;/SPAN&gt;name&lt;SPAN style="COLOR: gray"&gt;,&lt;/SPAN&gt; o&lt;SPAN style="COLOR: gray"&gt;.&lt;/SPAN&gt;type_desc&lt;SPAN style="COLOR: gray"&gt;,&lt;/SPAN&gt; am&lt;SPAN style="COLOR: gray"&gt;.&lt;/SPAN&gt;assembly_class&lt;SPAN style="COLOR: gray"&gt;,&lt;/SPAN&gt; am&lt;SPAN style="COLOR: gray"&gt;.&lt;/SPAN&gt;assembly_method &lt;SPAN style="COLOR: blue"&gt;from&lt;/SPAN&gt; &lt;SPAN style="COLOR: green"&gt;sys&lt;/SPAN&gt;&lt;SPAN style="COLOR: gray"&gt;.&lt;/SPAN&gt;&lt;SPAN style="COLOR: green"&gt;assembly_modules&lt;/SPAN&gt; am &lt;SPAN style="COLOR: gray"&gt;join&lt;/SPAN&gt; &lt;SPAN style="COLOR: green"&gt;sys&lt;/SPAN&gt;&lt;SPAN style="COLOR: gray"&gt;.&lt;/SPAN&gt;&lt;SPAN style="COLOR: green"&gt;assemblies&lt;/SPAN&gt; a &lt;SPAN style="COLOR: blue"&gt;on&lt;/SPAN&gt; am&lt;SPAN style="COLOR: gray"&gt;.&lt;/SPAN&gt;assembly_id &lt;SPAN style="COLOR: gray"&gt;=&lt;/SPAN&gt; a&lt;SPAN style="COLOR: gray"&gt;.&lt;/SPAN&gt;assembly_id &lt;SPAN style="COLOR: gray"&gt;join&lt;/SPAN&gt; &lt;SPAN style="COLOR: green"&gt;sys&lt;/SPAN&gt;&lt;SPAN style="COLOR: gray"&gt;.&lt;/SPAN&gt;&lt;SPAN style="COLOR: green"&gt;objects&lt;/SPAN&gt; o &lt;SPAN style="COLOR: blue"&gt;on&lt;/SPAN&gt; am&lt;SPAN style="COLOR: gray"&gt;.&lt;/SPAN&gt;&lt;SPAN style="COLOR: fuchsia"&gt;object_id&lt;/SPAN&gt; &lt;SPAN style="COLOR: gray"&gt;=&lt;/SPAN&gt; o&lt;SPAN style="COLOR: gray"&gt;.&lt;/SPAN&gt;&lt;SPAN style="COLOR: fuchsia"&gt;object_id&lt;/SPAN&gt;&lt;/SPAN&gt;&lt;SPAN style="mso-ansi-language: en-us"&gt;&lt;o:p&gt;&lt;/o:p&gt;&lt;/SPAN&gt;&lt;/P&gt;
&lt;P style="MARGIN: 0in 2.55pt 0pt 0in" class=MsoNormal&gt;&lt;SPAN style="mso-ansi-language: en-us"&gt;&lt;o:p&gt;&lt;FONT size=3 face=Calibri&gt;&amp;nbsp;&lt;/FONT&gt;&lt;/o:p&gt;&lt;/SPAN&gt;&lt;/P&gt;
&lt;TABLE style="BORDER-BOTTOM: medium none; BORDER-LEFT: medium none; WIDTH: 491.05pt; BORDER-COLLAPSE: collapse; BORDER-TOP: medium none; BORDER-RIGHT: medium none; mso-border-alt: solid black .5pt; mso-border-themecolor: text1; mso-yfti-tbllook: 1184; mso-padding-alt: 0in 5.4pt 0in 5.4pt" class=MsoTableGrid border=1 cellSpacing=0 cellPadding=0 width=655 class="MsoTableGrid"&gt;
&lt;TBODY&gt;
&lt;TR style="HEIGHT: 15pt; mso-yfti-irow: 0; mso-yfti-firstrow: yes"&gt;
&lt;TD style="BORDER-BOTTOM: black 1pt solid; BORDER-LEFT: black 1pt solid; PADDING-BOTTOM: 0in; BACKGROUND-COLOR: transparent; PADDING-LEFT: 5.4pt; WIDTH: 75.4pt; PADDING-RIGHT: 5.4pt; HEIGHT: 15pt; BORDER-TOP: black 1pt solid; BORDER-RIGHT: black 1pt solid; PADDING-TOP: 0in; mso-border-alt: solid black .5pt; mso-border-themecolor: text1" vAlign=top width=101 noWrap&gt;
&lt;P style="LINE-HEIGHT: normal; MARGIN: 0in 2.55pt 0pt 0in" class=MsoNormal&gt;&lt;B style="mso-bidi-font-weight: normal"&gt;&lt;SPAN style="FONT-SIZE: 10pt; mso-bidi-font-size: 11.0pt" lang=RU&gt;&lt;FONT face=Calibri&gt;name&lt;o:p&gt;&lt;/o:p&gt;&lt;/FONT&gt;&lt;/SPAN&gt;&lt;/B&gt;&lt;/P&gt;&lt;/TD&gt;
&lt;TD style="BORDER-BOTTOM: black 1pt solid; PADDING-BOTTOM: 0in; BACKGROUND-COLOR: transparent; PADDING-LEFT: 5.4pt; WIDTH: 92pt; PADDING-RIGHT: 5.4pt; HEIGHT: 15pt; BORDER-LEFT-COLOR: #d4d0c8; BORDER-TOP: black 1pt solid; BORDER-RIGHT: black 1pt solid; PADDING-TOP: 0in; mso-border-alt: solid black .5pt; mso-border-themecolor: text1; mso-border-left-alt: solid black .5pt; mso-border-left-themecolor: text1" vAlign=top width=123 noWrap&gt;
&lt;P style="LINE-HEIGHT: normal; MARGIN: 0in 2.55pt 0pt 0in" class=MsoNormal&gt;&lt;B style="mso-bidi-font-weight: normal"&gt;&lt;SPAN style="FONT-SIZE: 10pt; mso-bidi-font-size: 11.0pt" lang=RU&gt;&lt;FONT face=Calibri&gt;name&lt;o:p&gt;&lt;/o:p&gt;&lt;/FONT&gt;&lt;/SPAN&gt;&lt;/B&gt;&lt;/P&gt;&lt;/TD&gt;
&lt;TD style="BORDER-BOTTOM: black 1pt solid; PADDING-BOTTOM: 0in; BACKGROUND-COLOR: transparent; PADDING-LEFT: 5.4pt; WIDTH: 140.7pt; PADDING-RIGHT: 5.4pt; HEIGHT: 15pt; BORDER-LEFT-COLOR: #d4d0c8; BORDER-TOP: black 1pt solid; BORDER-RIGHT: black 1pt solid; PADDING-TOP: 0in; mso-border-alt: solid black .5pt; mso-border-themecolor: text1; mso-border-left-alt: solid black .5pt; mso-border-left-themecolor: text1" vAlign=top width=188 noWrap&gt;
&lt;P style="LINE-HEIGHT: normal; MARGIN: 0in 2.55pt 0pt 0in" class=MsoNormal&gt;&lt;B style="mso-bidi-font-weight: normal"&gt;&lt;SPAN style="FONT-SIZE: 10pt; mso-bidi-font-size: 11.0pt" lang=RU&gt;&lt;FONT face=Calibri&gt;type_desc&lt;o:p&gt;&lt;/o:p&gt;&lt;/FONT&gt;&lt;/SPAN&gt;&lt;/B&gt;&lt;/P&gt;&lt;/TD&gt;
&lt;TD style="BORDER-BOTTOM: black 1pt solid; PADDING-BOTTOM: 0in; BACKGROUND-COLOR: transparent; PADDING-LEFT: 5.4pt; WIDTH: 74.5pt; PADDING-RIGHT: 5.4pt; HEIGHT: 15pt; BORDER-LEFT-COLOR: #d4d0c8; BORDER-TOP: black 1pt solid; BORDER-RIGHT: black 1pt solid; PADDING-TOP: 0in; mso-border-alt: solid black .5pt; mso-border-themecolor: text1; mso-border-left-alt: solid black .5pt; mso-border-left-themecolor: text1" vAlign=top width=99 noWrap&gt;
&lt;P style="LINE-HEIGHT: normal; MARGIN: 0in 2.55pt 0pt 0in" class=MsoNormal&gt;&lt;B style="mso-bidi-font-weight: normal"&gt;&lt;SPAN style="FONT-SIZE: 10pt; mso-bidi-font-size: 11.0pt" lang=RU&gt;&lt;FONT face=Calibri&gt;assembly_class&lt;o:p&gt;&lt;/o:p&gt;&lt;/FONT&gt;&lt;/SPAN&gt;&lt;/B&gt;&lt;/P&gt;&lt;/TD&gt;
&lt;TD style="BORDER-BOTTOM: black 1pt solid; PADDING-BOTTOM: 0in; BACKGROUND-COLOR: transparent; PADDING-LEFT: 5.4pt; WIDTH: 108.45pt; PADDING-RIGHT: 5.4pt; HEIGHT: 15pt; BORDER-LEFT-COLOR: #d4d0c8; BORDER-TOP: black 1pt solid; BORDER-RIGHT: black 1pt solid; PADDING-TOP: 0in; mso-border-alt: solid black .5pt; mso-border-themecolor: text1; mso-border-left-alt: solid black .5pt; mso-border-left-themecolor: text1" vAlign=top width=145 noWrap&gt;
&lt;P style="LINE-HEIGHT: normal; MARGIN: 0in 2.55pt 0pt 0in" class=MsoNormal&gt;&lt;B style="mso-bidi-font-weight: normal"&gt;&lt;SPAN style="FONT-SIZE: 10pt; mso-bidi-font-size: 11.0pt" lang=RU&gt;&lt;FONT face=Calibri&gt;assembly_method&lt;o:p&gt;&lt;/o:p&gt;&lt;/FONT&gt;&lt;/SPAN&gt;&lt;/B&gt;&lt;/P&gt;&lt;/TD&gt;&lt;/TR&gt;
&lt;TR style="HEIGHT: 15pt; mso-yfti-irow: 1"&gt;
&lt;TD style="BORDER-BOTTOM: black 1pt solid; BORDER-LEFT: black 1pt solid; PADDING-BOTTOM: 0in; BACKGROUND-COLOR: transparent; BORDER-TOP-COLOR: #d4d0c8; PADDING-LEFT: 5.4pt; WIDTH: 75.4pt; PADDING-RIGHT: 5.4pt; HEIGHT: 15pt; BORDER-RIGHT: black 1pt solid; PADDING-TOP: 0in; mso-border-alt: solid black .5pt; mso-border-themecolor: text1; mso-border-top-alt: solid black .5pt; mso-border-top-themecolor: text1" vAlign=top width=101 noWrap&gt;
&lt;P style="LINE-HEIGHT: normal; MARGIN: 0in 2.55pt 0pt 0in" class=MsoNormal&gt;&lt;SPAN style="FONT-SIZE: 10pt; mso-bidi-font-size: 11.0pt" lang=RU&gt;&lt;FONT face=Calibri&gt;MyAssembly&lt;o:p&gt;&lt;/o:p&gt;&lt;/FONT&gt;&lt;/SPAN&gt;&lt;/P&gt;&lt;/TD&gt;
&lt;TD style="BORDER-BOTTOM: black 1pt solid; PADDING-BOTTOM: 0in; BACKGROUND-COLOR: transparent; BORDER-TOP-COLOR: #d4d0c8; PADDING-LEFT: 5.4pt; WIDTH: 92pt; PADDING-RIGHT: 5.4pt; HEIGHT: 15pt; BORDER-LEFT-COLOR: #d4d0c8; BORDER-RIGHT: black 1pt solid; PADDING-TOP: 0in; mso-border-alt: solid black .5pt; mso-border-themecolor: text1; mso-border-left-alt: solid black .5pt; mso-border-left-themecolor: text1; mso-border-top-alt: solid black .5pt; mso-border-top-themecolor: text1; mso-border-bottom-themecolor: text1; mso-border-right-themecolor: text1" vAlign=top width=123 noWrap&gt;
&lt;P style="LINE-HEIGHT: normal; MARGIN: 0in 2.55pt 0pt 0in" class=MsoNormal&gt;&lt;SPAN style="FONT-SIZE: 10pt; mso-bidi-font-size: 11.0pt" lang=RU&gt;&lt;FONT face=Calibri&gt;Dir&lt;o:p&gt;&lt;/o:p&gt;&lt;/FONT&gt;&lt;/SPAN&gt;&lt;/P&gt;&lt;/TD&gt;
&lt;TD style="BORDER-BOTTOM: black 1pt solid; PADDING-BOTTOM: 0in; BACKGROUND-COLOR: transparent; BORDER-TOP-COLOR: #d4d0c8; PADDING-LEFT: 5.4pt; WIDTH: 140.7pt; PADDING-RIGHT: 5.4pt; HEIGHT: 15pt; BORDER-LEFT-COLOR: #d4d0c8; BORDER-RIGHT: black 1pt solid; PADDING-TOP: 0in; mso-border-alt: solid black .5pt; mso-border-themecolor: text1; mso-border-left-alt: solid black .5pt; mso-border-left-themecolor: text1; mso-border-top-alt: solid black .5pt; mso-border-top-themecolor: text1; mso-border-bottom-themecolor: text1; mso-border-right-themecolor: text1" vAlign=top width=188 noWrap&gt;
&lt;P style="LINE-HEIGHT: normal; MARGIN: 0in 2.55pt 0pt 0in" class=MsoNormal&gt;&lt;SPAN style="FONT-SIZE: 10pt; mso-bidi-font-size: 11.0pt" lang=RU&gt;&lt;FONT face=Calibri&gt;CLR_TABLE_VALUED_FUNCTION&lt;o:p&gt;&lt;/o:p&gt;&lt;/FONT&gt;&lt;/SPAN&gt;&lt;/P&gt;&lt;/TD&gt;
&lt;TD style="BORDER-BOTTOM: black 1pt solid; PADDING-BOTTOM: 0in; BACKGROUND-COLOR: transparent; BORDER-TOP-COLOR: #d4d0c8; PADDING-LEFT: 5.4pt; WIDTH: 74.5pt; PADDING-RIGHT: 5.4pt; HEIGHT: 15pt; BORDER-LEFT-COLOR: #d4d0c8; BORDER-RIGHT: black 1pt solid; PADDING-TOP: 0in; mso-border-alt: solid black .5pt; mso-border-themecolor: text1; mso-border-left-alt: solid black .5pt; mso-border-left-themecolor: text1; mso-border-top-alt: solid black .5pt; mso-border-top-themecolor: text1; mso-border-bottom-themecolor: text1; mso-border-right-themecolor: text1" vAlign=top width=99 noWrap&gt;
&lt;P style="LINE-HEIGHT: normal; MARGIN: 0in 2.55pt 0pt 0in" class=MsoNormal&gt;&lt;SPAN style="FONT-SIZE: 10pt; mso-bidi-font-size: 11.0pt" lang=RU&gt;&lt;FONT face=Calibri&gt;FileSystem&lt;o:p&gt;&lt;/o:p&gt;&lt;/FONT&gt;&lt;/SPAN&gt;&lt;/P&gt;&lt;/TD&gt;
&lt;TD style="BORDER-BOTTOM: black 1pt solid; PADDING-BOTTOM: 0in; BACKGROUND-COLOR: transparent; BORDER-TOP-COLOR: #d4d0c8; PADDING-LEFT: 5.4pt; WIDTH: 108.45pt; PADDING-RIGHT: 5.4pt; HEIGHT: 15pt; BORDER-LEFT-COLOR: #d4d0c8; BORDER-RIGHT: black 1pt solid; PADDING-TOP: 0in; mso-border-alt: solid black .5pt; mso-border-themecolor: text1; mso-border-left-alt: solid black .5pt; mso-border-left-themecolor: text1; mso-border-top-alt: solid black .5pt; mso-border-top-themecolor: text1; mso-border-bottom-themecolor: text1; mso-border-right-themecolor: text1" vAlign=top width=145 noWrap&gt;
&lt;P style="LINE-HEIGHT: normal; MARGIN: 0in 2.55pt 0pt 0in" class=MsoNormal&gt;&lt;SPAN style="FONT-SIZE: 10pt; mso-bidi-font-size: 11.0pt" lang=RU&gt;&lt;FONT face=Calibri&gt;Dir_InitMethod&lt;o:p&gt;&lt;/o:p&gt;&lt;/FONT&gt;&lt;/SPAN&gt;&lt;/P&gt;&lt;/TD&gt;&lt;/TR&gt;
&lt;TR style="HEIGHT: 15pt; mso-yfti-irow: 2"&gt;
&lt;TD style="BORDER-BOTTOM: black 1pt solid; BORDER-LEFT: black 1pt solid; PADDING-BOTTOM: 0in; BACKGROUND-COLOR: transparent; BORDER-TOP-COLOR: #d4d0c8; PADDING-LEFT: 5.4pt; WIDTH: 75.4pt; PADDING-RIGHT: 5.4pt; HEIGHT: 15pt; BORDER-RIGHT: black 1pt solid; PADDING-TOP: 0in; mso-border-alt: solid black .5pt; mso-border-themecolor: text1; mso-border-top-alt: solid black .5pt; mso-border-top-themecolor: text1" vAlign=top width=101 noWrap&gt;
&lt;P style="LINE-HEIGHT: normal; MARGIN: 0in 2.55pt 0pt 0in" class=MsoNormal&gt;&lt;SPAN style="FONT-SIZE: 10pt; mso-bidi-font-size: 11.0pt" lang=RU&gt;&lt;FONT face=Calibri&gt;MyAssembly&lt;o:p&gt;&lt;/o:p&gt;&lt;/FONT&gt;&lt;/SPAN&gt;&lt;/P&gt;&lt;/TD&gt;
&lt;TD style="BORDER-BOTTOM: black 1pt solid; PADDING-BOTTOM: 0in; BACKGROUND-COLOR: transparent; BORDER-TOP-COLOR: #d4d0c8; PADDING-LEFT: 5.4pt; WIDTH: 92pt; PADDING-RIGHT: 5.4pt; HEIGHT: 15pt; BORDER-LEFT-COLOR: #d4d0c8; BORDER-RIGHT: black 1pt solid; PADDING-TOP: 0in; mso-border-alt: solid black .5pt; mso-border-themecolor: text1; mso-border-left-alt: solid black .5pt; mso-border-left-themecolor: text1; mso-border-top-alt: solid black .5pt; mso-border-top-themecolor: text1; mso-border-bottom-themecolor: text1; mso-border-right-themecolor: text1" vAlign=top width=123 noWrap&gt;
&lt;P style="LINE-HEIGHT: normal; MARGIN: 0in 2.55pt 0pt 0in" class=MsoNormal&gt;&lt;SPAN style="FONT-SIZE: 10pt; mso-bidi-font-size: 11.0pt" lang=RU&gt;&lt;FONT face=Calibri&gt;SplitPath&lt;o:p&gt;&lt;/o:p&gt;&lt;/FONT&gt;&lt;/SPAN&gt;&lt;/P&gt;&lt;/TD&gt;
&lt;TD style="BORDER-BOTTOM: black 1pt solid; PADDING-BOTTOM: 0in; BACKGROUND-COLOR: transparent; BORDER-TOP-COLOR: #d4d0c8; PADDING-LEFT: 5.4pt; WIDTH: 140.7pt; PADDING-RIGHT: 5.4pt; HEIGHT: 15pt; BORDER-LEFT-COLOR: #d4d0c8; BORDER-RIGHT: black 1pt solid; PADDING-TOP: 0in; mso-border-alt: solid black .5pt; mso-border-themecolor: text1; mso-border-left-alt: solid black .5pt; mso-border-left-themecolor: text1; mso-border-top-alt: solid black .5pt; mso-border-top-themecolor: text1; mso-border-bottom-themecolor: text1; mso-border-right-themecolor: text1" vAlign=top width=188 noWrap&gt;
&lt;P style="LINE-HEIGHT: normal; MARGIN: 0in 2.55pt 0pt 0in" class=MsoNormal&gt;&lt;SPAN style="FONT-SIZE: 10pt; mso-bidi-font-size: 11.0pt" lang=RU&gt;&lt;FONT face=Calibri&gt;CLR_TABLE_VALUED_FUNCTION&lt;o:p&gt;&lt;/o:p&gt;&lt;/FONT&gt;&lt;/SPAN&gt;&lt;/P&gt;&lt;/TD&gt;
&lt;TD style="BORDER-BOTTOM: black 1pt solid; PADDING-BOTTOM: 0in; BACKGROUND-COLOR: transparent; BORDER-TOP-COLOR: #d4d0c8; PADDING-LEFT: 5.4pt; WIDTH: 74.5pt; PADDING-RIGHT: 5.4pt; HEIGHT: 15pt; BORDER-LEFT-COLOR: #d4d0c8; BORDER-RIGHT: black 1pt solid; PADDING-TOP: 0in; mso-border-alt: solid black .5pt; mso-border-themecolor: text1; mso-border-left-alt: solid black .5pt; mso-border-left-themecolor: text1; mso-border-top-alt: solid black .5pt; mso-border-top-themecolor: text1; mso-border-bottom-themecolor: text1; mso-border-right-themecolor: text1" vAlign=top width=99 noWrap&gt;
&lt;P style="LINE-HEIGHT: normal; MARGIN: 0in 2.55pt 0pt 0in" class=MsoNormal&gt;&lt;SPAN style="FONT-SIZE: 10pt; mso-bidi-font-size: 11.0pt" lang=RU&gt;&lt;FONT face=Calibri&gt;FileSystem&lt;o:p&gt;&lt;/o:p&gt;&lt;/FONT&gt;&lt;/SPAN&gt;&lt;/P&gt;&lt;/TD&gt;
&lt;TD style="BORDER-BOTTOM: black 1pt solid; PADDING-BOTTOM: 0in; BACKGROUND-COLOR: transparent; BORDER-TOP-COLOR: #d4d0c8; PADDING-LEFT: 5.4pt; WIDTH: 108.45pt; PADDING-RIGHT: 5.4pt; HEIGHT: 15pt; BORDER-LEFT-COLOR: #d4d0c8; BORDER-RIGHT: black 1pt solid; PADDING-TOP: 0in; mso-border-alt: solid black .5pt; mso-border-themecolor: text1; mso-border-left-alt: solid black .5pt; mso-border-left-themecolor: text1; mso-border-top-alt: solid black .5pt; mso-border-top-themecolor: text1; mso-border-bottom-themecolor: text1; mso-border-right-themecolor: text1" vAlign=top width=145 noWrap&gt;
&lt;P style="LINE-HEIGHT: normal; MARGIN: 0in 2.55pt 0pt 0in" class=MsoNormal&gt;&lt;SPAN style="FONT-SIZE: 10pt; mso-bidi-font-size: 11.0pt" lang=RU&gt;&lt;FONT face=Calibri&gt;SplitPath_InitMethod&lt;o:p&gt;&lt;/o:p&gt;&lt;/FONT&gt;&lt;/SPAN&gt;&lt;/P&gt;&lt;/TD&gt;&lt;/TR&gt;
&lt;TR style="HEIGHT: 15pt; mso-yfti-irow: 3"&gt;
&lt;TD style="BORDER-BOTTOM: black 1pt solid; BORDER-LEFT: black 1pt solid; PADDING-BOTTOM: 0in; BACKGROUND-COLOR: transparent; BORDER-TOP-COLOR: #d4d0c8; PADDING-LEFT: 5.4pt; WIDTH: 75.4pt; PADDING-RIGHT: 5.4pt; HEIGHT: 15pt; BORDER-RIGHT: black 1pt solid; PADDING-TOP: 0in; mso-border-alt: solid black .5pt; mso-border-themecolor: text1; mso-border-top-alt: solid black .5pt; mso-border-top-themecolor: text1" vAlign=top width=101 noWrap&gt;
&lt;P style="LINE-HEIGHT: normal; MARGIN: 0in 2.55pt 0pt 0in" class=MsoNormal&gt;&lt;SPAN style="FONT-SIZE: 10pt; mso-bidi-font-size: 11.0pt" lang=RU&gt;&lt;FONT face=Calibri&gt;MyAssembly&lt;o:p&gt;&lt;/o:p&gt;&lt;/FONT&gt;&lt;/SPAN&gt;&lt;/P&gt;&lt;/TD&gt;
&lt;TD style="BORDER-BOTTOM: black 1pt solid; PADDING-BOTTOM: 0in; BACKGROUND-COLOR: transparent; BORDER-TOP-COLOR: #d4d0c8; PADDING-LEFT: 5.4pt; WIDTH: 92pt; PADDING-RIGHT: 5.4pt; HEIGHT: 15pt; BORDER-LEFT-COLOR: #d4d0c8; BORDER-RIGHT: black 1pt solid; PADDING-TOP: 0in; mso-border-alt: solid black .5pt; mso-border-themecolor: text1; mso-border-left-alt: solid black .5pt; mso-border-left-themecolor: text1; mso-border-top-alt: solid black .5pt; mso-border-top-themecolor: text1; mso-border-bottom-themecolor: text1; mso-border-right-themecolor: text1" vAlign=top width=123 noWrap&gt;
&lt;P style="LINE-HEIGHT: normal; MARGIN: 0in 2.55pt 0pt 0in" class=MsoNormal&gt;&lt;SPAN style="FONT-SIZE: 10pt; mso-bidi-font-size: 11.0pt" lang=RU&gt;&lt;FONT face=Calibri&gt;LoadDir&lt;o:p&gt;&lt;/o:p&gt;&lt;/FONT&gt;&lt;/SPAN&gt;&lt;/P&gt;&lt;/TD&gt;
&lt;TD style="BORDER-BOTTOM: black 1pt solid; PADDING-BOTTOM: 0in; BACKGROUND-COLOR: transparent; BORDER-TOP-COLOR: #d4d0c8; PADDING-LEFT: 5.4pt; WIDTH: 140.7pt; PADDING-RIGHT: 5.4pt; HEIGHT: 15pt; BORDER-LEFT-COLOR: #d4d0c8; BORDER-RIGHT: black 1pt solid; PADDING-TOP: 0in; mso-border-alt: solid black .5pt; mso-border-themecolor: text1; mso-border-left-alt: solid black .5pt; mso-border-left-themecolor: text1; mso-border-top-alt: solid black .5pt; mso-border-top-themecolor: text1; mso-border-bottom-themecolor: text1; mso-border-right-themecolor: text1" vAlign=top width=188 noWrap&gt;
&lt;P style="LINE-HEIGHT: normal; MARGIN: 0in 2.55pt 0pt 0in" class=MsoNormal&gt;&lt;SPAN style="FONT-SIZE: 10pt; mso-bidi-font-size: 11.0pt" lang=RU&gt;&lt;FONT face=Calibri&gt;CLR_STORED_PROCEDURE&lt;o:p&gt;&lt;/o:p&gt;&lt;/FONT&gt;&lt;/SPAN&gt;&lt;/P&gt;&lt;/TD&gt;
&lt;TD style="BORDER-BOTTOM: black 1pt solid; PADDING-BOTTOM: 0in; BACKGROUND-COLOR: transparent; BORDER-TOP-COLOR: #d4d0c8; PADDING-LEFT: 5.4pt; WIDTH: 74.5pt; PADDING-RIGHT: 5.4pt; HEIGHT: 15pt; BORDER-LEFT-COLOR: #d4d0c8; BORDER-RIGHT: black 1pt solid; PADDING-TOP: 0in; mso-border-alt: solid black .5pt; mso-border-themecolor: text1; mso-border-left-alt: solid black .5pt; mso-border-left-themecolor: text1; mso-border-top-alt: solid black .5pt; mso-border-top-themecolor: text1; mso-border-bottom-themecolor: text1; mso-border-right-themecolor: text1" vAlign=top width=99 noWrap&gt;
&lt;P style="LINE-HEIGHT: normal; MARGIN: 0in 2.55pt 0pt 0in" class=MsoNormal&gt;&lt;SPAN style="FONT-SIZE: 10pt; mso-bidi-font-size: 11.0pt" lang=RU&gt;&lt;FONT face=Calibri&gt;FileSystem&lt;o:p&gt;&lt;/o:p&gt;&lt;/FONT&gt;&lt;/SPAN&gt;&lt;/P&gt;&lt;/TD&gt;
&lt;TD style="BORDER-BOTTOM: black 1pt solid; PADDING-BOTTOM: 0in; BACKGROUND-COLOR: transparent; BORDER-TOP-COLOR: #d4d0c8; PADDING-LEFT: 5.4pt; WIDTH: 108.45pt; PADDING-RIGHT: 5.4pt; HEIGHT: 15pt; BORDER-LEFT-COLOR: #d4d0c8; BORDER-RIGHT: black 1pt solid; PADDING-TOP: 0in; mso-border-alt: solid black .5pt; mso-border-themecolor: text1; mso-border-left-alt: solid black .5pt; mso-border-left-themecolor: text1; mso-border-top-alt: solid black .5pt; mso-border-top-themecolor: text1; mso-border-bottom-themecolor: text1; mso-border-right-themecolor: text1" vAlign=top width=145 noWrap&gt;
&lt;P style="LINE-HEIGHT: normal; MARGIN: 0in 2.55pt 0pt 0in" class=MsoNormal&gt;&lt;SPAN style="FONT-SIZE: 10pt; mso-bidi-font-size: 11.0pt" lang=RU&gt;&lt;FONT face=Calibri&gt;LoadDirWithFileContent&lt;o:p&gt;&lt;/o:p&gt;&lt;/FONT&gt;&lt;/SPAN&gt;&lt;/P&gt;&lt;/TD&gt;&lt;/TR&gt;
&lt;TR style="HEIGHT: 15pt; mso-yfti-irow: 4"&gt;
&lt;TD style="BORDER-BOTTOM: black 1pt solid; BORDER-LEFT: black 1pt solid; PADDING-BOTTOM: 0in; BACKGROUND-COLOR: transparent; BORDER-TOP-COLOR: #d4d0c8; PADDING-LEFT: 5.4pt; WIDTH: 75.4pt; PADDING-RIGHT: 5.4pt; HEIGHT: 15pt; BORDER-RIGHT: black 1pt solid; PADDING-TOP: 0in; mso-border-alt: solid black .5pt; mso-border-themecolor: text1; mso-border-top-alt: solid black .5pt; mso-border-top-themecolor: text1" vAlign=top width=101 noWrap&gt;
&lt;P style="LINE-HEIGHT: normal; MARGIN: 0in 2.55pt 0pt 0in" class=MsoNormal&gt;&lt;SPAN style="FONT-SIZE: 10pt; mso-bidi-font-size: 11.0pt" lang=RU&gt;&lt;FONT face=Calibri&gt;MyAssembly&lt;o:p&gt;&lt;/o:p&gt;&lt;/FONT&gt;&lt;/SPAN&gt;&lt;/P&gt;&lt;/TD&gt;
&lt;TD style="BORDER-BOTTOM: black 1pt solid; PADDING-BOTTOM: 0in; BACKGROUND-COLOR: transparent; BORDER-TOP-COLOR: #d4d0c8; PADDING-LEFT: 5.4pt; WIDTH: 92pt; PADDING-RIGHT: 5.4pt; HEIGHT: 15pt; BORDER-LEFT-COLOR: #d4d0c8; BORDER-RIGHT: black 1pt solid; PADDING-TOP: 0in; mso-border-alt: solid black .5pt; mso-border-themecolor: text1; mso-border-left-alt: solid black .5pt; mso-border-left-themecolor: text1; mso-border-top-alt: solid black .5pt; mso-border-top-themecolor: text1; mso-border-bottom-themecolor: text1; mso-border-right-themecolor: text1" vAlign=top width=123 noWrap&gt;
&lt;P style="LINE-HEIGHT: normal; MARGIN: 0in 2.55pt 0pt 0in" class=MsoNormal&gt;&lt;SPAN style="FONT-SIZE: 10pt; mso-bidi-font-size: 11.0pt" lang=RU&gt;&lt;FONT face=Calibri&gt;GetFileExtension&lt;o:p&gt;&lt;/o:p&gt;&lt;/FONT&gt;&lt;/SPAN&gt;&lt;/P&gt;&lt;/TD&gt;
&lt;TD style="BORDER-BOTTOM: black 1pt solid; PADDING-BOTTOM: 0in; BACKGROUND-COLOR: transparent; BORDER-TOP-COLOR: #d4d0c8; PADDING-LEFT: 5.4pt; WIDTH: 140.7pt; PADDING-RIGHT: 5.4pt; HEIGHT: 15pt; BORDER-LEFT-COLOR: #d4d0c8; BORDER-RIGHT: black 1pt solid; PADDING-TOP: 0in; mso-border-alt: solid black .5pt; mso-border-themecolor: text1; mso-border-left-alt: solid black .5pt; mso-border-left-themecolor: text1; mso-border-top-alt: solid black .5pt; mso-border-top-themecolor: text1; mso-border-bottom-themecolor: text1; mso-border-right-themecolor: text1" vAlign=top width=188 noWrap&gt;
&lt;P style="LINE-HEIGHT: normal; MARGIN: 0in 2.55pt 0pt 0in" class=MsoNormal&gt;&lt;SPAN style="FONT-SIZE: 10pt; mso-bidi-font-size: 11.0pt" lang=RU&gt;&lt;FONT face=Calibri&gt;CLR_SCALAR_FUNCTION&lt;o:p&gt;&lt;/o:p&gt;&lt;/FONT&gt;&lt;/SPAN&gt;&lt;/P&gt;&lt;/TD&gt;
&lt;TD style="BORDER-BOTTOM: black 1pt solid; PADDING-BOTTOM: 0in; BACKGROUND-COLOR: transparent; BORDER-TOP-COLOR: #d4d0c8; PADDING-LEFT: 5.4pt; WIDTH: 74.5pt; PADDING-RIGHT: 5.4pt; HEIGHT: 15pt; BORDER-LEFT-COLOR: #d4d0c8; BORDER-RIGHT: black 1pt solid; PADDING-TOP: 0in; mso-border-alt: solid black .5pt; mso-border-themecolor: text1; mso-border-left-alt: solid black .5pt; mso-border-left-themecolor: text1; mso-border-top-alt: solid black .5pt; mso-border-top-themecolor: text1; mso-border-bottom-themecolor: text1; mso-border-right-themecolor: text1" vAlign=top width=99 noWrap&gt;
&lt;P style="LINE-HEIGHT: normal; MARGIN: 0in 2.55pt 0pt 0in" class=MsoNormal&gt;&lt;SPAN style="FONT-SIZE: 10pt; mso-bidi-font-size: 11.0pt" lang=RU&gt;&lt;FONT face=Calibri&gt;FileSystem&lt;o:p&gt;&lt;/o:p&gt;&lt;/FONT&gt;&lt;/SPAN&gt;&lt;/P&gt;&lt;/TD&gt;
&lt;TD style="BORDER-BOTTOM: black 1pt solid; PADDING-BOTTOM: 0in; BACKGROUND-COLOR: transparent; BORDER-TOP-COLOR: #d4d0c8; PADDING-LEFT: 5.4pt; WIDTH: 108.45pt; PADDING-RIGHT: 5.4pt; HEIGHT: 15pt; BORDER-LEFT-COLOR: #d4d0c8; BORDER-RIGHT: black 1pt solid; PADDING-TOP: 0in; mso-border-alt: solid black .5pt; mso-border-themecolor: text1; mso-border-left-alt: solid black .5pt; mso-border-left-themecolor: text1; mso-border-top-alt: solid black .5pt; mso-border-top-themecolor: text1; mso-border-bottom-themecolor: text1; mso-border-right-themecolor: text1" vAlign=top width=145 noWrap&gt;
&lt;P style="LINE-HEIGHT: normal; MARGIN: 0in 2.55pt 0pt 0in" class=MsoNormal&gt;&lt;SPAN style="FONT-SIZE: 10pt; mso-bidi-font-size: 11.0pt" lang=RU&gt;&lt;FONT face=Calibri&gt;GetFileExtension&lt;o:p&gt;&lt;/o:p&gt;&lt;/FONT&gt;&lt;/SPAN&gt;&lt;/P&gt;&lt;/TD&gt;&lt;/TR&gt;
&lt;TR style="HEIGHT: 15pt; mso-yfti-irow: 5; mso-yfti-lastrow: yes"&gt;
&lt;TD style="BORDER-BOTTOM: black 1pt solid; BORDER-LEFT: black 1pt solid; PADDING-BOTTOM: 0in; BACKGROUND-COLOR: transparent; BORDER-TOP-COLOR: #d4d0c8; PADDING-LEFT: 5.4pt; WIDTH: 75.4pt; PADDING-RIGHT: 5.4pt; HEIGHT: 15pt; BORDER-RIGHT: black 1pt solid; PADDING-TOP: 0in; mso-border-alt: solid black .5pt; mso-border-themecolor: text1; mso-border-top-alt: solid black .5pt; mso-border-top-themecolor: text1" vAlign=top width=101 noWrap&gt;
&lt;P style="LINE-HEIGHT: normal; MARGIN: 0in 2.55pt 0pt 0in" class=MsoNormal&gt;&lt;SPAN style="FONT-SIZE: 10pt; mso-bidi-font-size: 11.0pt" lang=RU&gt;&lt;FONT face=Calibri&gt;MyAssembly1&lt;o:p&gt;&lt;/o:p&gt;&lt;/FONT&gt;&lt;/SPAN&gt;&lt;/P&gt;&lt;/TD&gt;
&lt;TD style="BORDER-BOTTOM: black 1pt solid; PADDING-BOTTOM: 0in; BACKGROUND-COLOR: transparent; BORDER-TOP-COLOR: #d4d0c8; PADDING-LEFT: 5.4pt; WIDTH: 92pt; PADDING-RIGHT: 5.4pt; HEIGHT: 15pt; BORDER-LEFT-COLOR: #d4d0c8; BORDER-RIGHT: black 1pt solid; PADDING-TOP: 0in; mso-border-alt: solid black .5pt; mso-border-themecolor: text1; mso-border-left-alt: solid black .5pt; mso-border-left-themecolor: text1; mso-border-top-alt: solid black .5pt; mso-border-top-themecolor: text1; mso-border-bottom-themecolor: text1; mso-border-right-themecolor: text1" vAlign=top width=123 noWrap&gt;
&lt;P style="LINE-HEIGHT: normal; MARGIN: 0in 2.55pt 0pt 0in" class=MsoNormal&gt;&lt;SPAN style="FONT-SIZE: 10pt; mso-bidi-font-size: 11.0pt" lang=RU&gt;&lt;FONT face=Calibri&gt;Main&lt;o:p&gt;&lt;/o:p&gt;&lt;/FONT&gt;&lt;/SPAN&gt;&lt;/P&gt;&lt;/TD&gt;
&lt;TD style="BORDER-BOTTOM: black 1pt solid; PADDING-BOTTOM: 0in; BACKGROUND-COLOR: transparent; BORDER-TOP-COLOR: #d4d0c8; PADDING-LEFT: 5.4pt; WIDTH: 140.7pt; PADDING-RIGHT: 5.4pt; HEIGHT: 15pt; BORDER-LEFT-COLOR: #d4d0c8; BORDER-RIGHT: black 1pt solid; PADDING-TOP: 0in; mso-border-alt: solid black .5pt; mso-border-themecolor: text1; mso-border-left-alt: solid black .5pt; mso-border-left-themecolor: text1; mso-border-top-alt: solid black .5pt; mso-border-top-themecolor: text1; mso-border-bottom-themecolor: text1; mso-border-right-themecolor: text1" vAlign=top width=188 noWrap&gt;
&lt;P style="LINE-HEIGHT: normal; MARGIN: 0in 2.55pt 0pt 0in" class=MsoNormal&gt;&lt;SPAN style="FONT-SIZE: 10pt; mso-bidi-font-size: 11.0pt" lang=RU&gt;&lt;FONT face=Calibri&gt;CLR_STORED_PROCEDURE&lt;o:p&gt;&lt;/o:p&gt;&lt;/FONT&gt;&lt;/SPAN&gt;&lt;/P&gt;&lt;/TD&gt;
&lt;TD style="BORDER-BOTTOM: black 1pt solid; PADDING-BOTTOM: 0in; BACKGROUND-COLOR: transparent; BORDER-TOP-COLOR: #d4d0c8; PADDING-LEFT: 5.4pt; WIDTH: 74.5pt; PADDING-RIGHT: 5.4pt; HEIGHT: 15pt; BORDER-LEFT-COLOR: #d4d0c8; BORDER-RIGHT: black 1pt solid; PADDING-TOP: 0in; mso-border-alt: solid black .5pt; mso-border-themecolor: text1; mso-border-left-alt: solid black .5pt; mso-border-left-themecolor: text1; mso-border-top-alt: solid black .5pt; mso-border-top-themecolor: text1; mso-border-bottom-themecolor: text1; mso-border-right-themecolor: text1" vAlign=top width=99 noWrap&gt;
&lt;P style="LINE-HEIGHT: normal; MARGIN: 0in 2.55pt 0pt 0in" class=MsoNormal&gt;&lt;SPAN style="FONT-SIZE: 10pt; mso-bidi-font-size: 11.0pt" lang=RU&gt;&lt;FONT face=Calibri&gt;Class1&lt;o:p&gt;&lt;/o:p&gt;&lt;/FONT&gt;&lt;/SPAN&gt;&lt;/P&gt;&lt;/TD&gt;
&lt;TD style="BORDER-BOTTOM: black 1pt solid; PADDING-BOTTOM: 0in; BACKGROUND-COLOR: transparent; BORDER-TOP-COLOR: #d4d0c8; PADDING-LEFT: 5.4pt; WIDTH: 108.45pt; PADDING-RIGHT: 5.4pt; HEIGHT: 15pt; BORDER-LEFT-COLOR: #d4d0c8; BORDER-RIGHT: black 1pt solid; PADDING-TOP: 0in; mso-border-alt: solid black .5pt; mso-border-themecolor: text1; mso-border-left-alt: solid black .5pt; mso-border-left-themecolor: text1; mso-border-top-alt: solid black .5pt; mso-border-top-themecolor: text1; mso-border-bottom-themecolor: text1; mso-border-right-themecolor: text1" vAlign=top width=145 noWrap&gt;
&lt;P style="LINE-HEIGHT: normal; MARGIN: 0in 2.55pt 0pt 0in" class=MsoNormal&gt;&lt;SPAN style="FONT-SIZE: 10pt; mso-bidi-font-size: 11.0pt" lang=RU&gt;&lt;FONT face=Calibri&gt;Main&lt;o:p&gt;&lt;/o:p&gt;&lt;/FONT&gt;&lt;/SPAN&gt;&lt;/P&gt;&lt;/TD&gt;&lt;/TR&gt;&lt;/TBODY&gt;&lt;/TABLE&gt;
&lt;P style="MARGIN: 0in 2.55pt 0pt 0in" class=MsoNormal&gt;&lt;SPAN lang=RU&gt;&lt;FONT size=3 face=Calibri&gt;Скрипт 8&lt;/FONT&gt;&lt;/SPAN&gt;&lt;/P&gt;
&lt;P style="MARGIN: 0in 2.55pt 0pt 0in" class=MsoNormal&gt;&lt;SPAN lang=RU&gt;&lt;o:p&gt;&lt;FONT size=3 face=Calibri&gt;&amp;nbsp;&lt;/FONT&gt;&lt;/o:p&gt;&lt;/SPAN&gt;&lt;/P&gt;
&lt;P style="MARGIN: 0in 2.55pt 0pt 0in" class=MsoNormal&gt;&lt;FONT size=3&gt;&lt;FONT face=Calibri&gt;&lt;SPAN lang=RU&gt;Из-за того, что зависимости невозможно получить из единого справочника, а приходится собирать по разным местам, самостоятельное построение дерева зависимостей превращается в нетривиальную задачу. &lt;SPAN style="mso-spacerun: yes"&gt;&amp;nbsp;&lt;/SPAN&gt;&lt;/SPAN&gt;&lt;SPAN style="mso-ascii-font-family: calibri; mso-hansi-font-family: calibri" lang=RU&gt;Далее, предположим, это как-то удастся сделать, но это будут голые object_id без скриптов. В зависимости от типа объекта придется сочинять drop table или drop proc или drop function и т.д. В T-SQL нет команды drop object &amp;lt;object_id&amp;gt; (а, наверное, зря). Аналогично, в SMO нету общей коллекции объектов базы, есть по отдельности db.Tables, &lt;/SPAN&gt;&lt;SPAN style="mso-ansi-language: en-us; mso-ascii-font-family: calibri; mso-hansi-font-family: calibri"&gt;db&lt;/SPAN&gt;&lt;SPAN style="mso-ascii-font-family: calibri; mso-hansi-font-family: calibri" lang=RU&gt;.&lt;/SPAN&gt;&lt;SPAN style="mso-ansi-language: en-us; mso-ascii-font-family: calibri; mso-hansi-font-family: calibri"&gt;StoredProcedures&lt;/SPAN&gt;&lt;SPAN style="mso-ascii-font-family: calibri; mso-hansi-font-family: calibri" lang=RU&gt;, &lt;/SPAN&gt;&lt;SPAN style="mso-ansi-language: en-us; mso-ascii-font-family: calibri; mso-hansi-font-family: calibri"&gt;db&lt;/SPAN&gt;&lt;SPAN style="mso-ascii-font-family: calibri; mso-hansi-font-family: calibri" lang=RU&gt;.&lt;/SPAN&gt;&lt;SPAN style="mso-ansi-language: en-us; mso-ascii-font-family: calibri; mso-hansi-font-family: calibri"&gt;UserDefinedFunctions&lt;/SPAN&gt;&lt;SPAN style="mso-ascii-font-family: calibri; mso-hansi-font-family: calibri" lang=RU&gt; и т.д. В зависимости от типа объекта придется ветвить, из какой коллекции мы хотим его дропнуть. К тому же сборки, хоть и создаются внутри базы данных, не имеют object_id и не входят в sys.objects. &lt;/SPAN&gt;&lt;SPAN style="mso-ansi-language: en-us; mso-ascii-font-family: calibri; mso-hansi-font-family: calibri"&gt;Object&lt;/SPAN&gt;&lt;SPAN style="mso-ascii-font-family: calibri; mso-hansi-font-family: calibri" lang=RU&gt;_&lt;/SPAN&gt;&lt;SPAN style="mso-ansi-language: en-us; mso-ascii-font-family: calibri; mso-hansi-font-family: calibri"&gt;id&lt;/SPAN&gt;&lt;SPAN style="mso-ascii-font-family: calibri; mso-hansi-font-family: calibri" lang=RU&gt; имеют процедуры и функции, созданные на основе ее модулей. С использованием возможности SMO CaptureSQL можно получить SQLный скрипт манипуляций над объектами SQL Server, когда последовательность действий над ними известна, то есть известны как сами объекты, так и зависимости между ними. Нижеприведенный скрипт выполняет передеплоймент сборки в явном виде: он удаляет таблицу TestFTS, зависимую от функции GetFileExtension, т.к. использует ее для дефолтного значения одного из своих полей, удаляет саму эту функцию, а также функцию Dir и процедуру LoadDir, удаляет сборку MyAssembly, откуда они берутся, а затем пересоздает их в обратной последовательности и получает SQLный скрипт всего этого безобразия. Я не стал приводить создание таблиц, поскольку &lt;SPAN style="LINE-HEIGHT: 115%; FONT-FAMILY: 'Calibri','sans-serif'; FONT-SIZE: 11pt; mso-ansi-language: RU; mso-ascii-theme-font: minor-latin; mso-fareast-font-family: Calibri; mso-fareast-theme-font: minor-latin; mso-hansi-theme-font: minor-latin; mso-bidi-font-family: 'Times New Roman'; mso-bidi-theme-font: minor-bidi; mso-fareast-language: EN-US; mso-bidi-language: AR-SA" lang=RU&gt;&lt;A href="http://msdn.microsoft.com/en-us/library/ms162575.aspx"&gt;&lt;SPAN style="mso-ascii-font-family: Calibri; mso-hansi-font-family: Calibri"&gt;пример на таблицы имеется в документации&lt;/SPAN&gt;&lt;/A&gt;&lt;/SPAN&gt;.&lt;o:p&gt;&lt;/o:p&gt;&lt;/SPAN&gt;&lt;/FONT&gt;&lt;/FONT&gt;&lt;/P&gt;
&lt;P style="MARGIN: 0in 2.55pt 0pt 0in" class=MsoNormal&gt;&lt;SPAN lang=RU&gt;&lt;o:p&gt;&lt;FONT size=3 face=Calibri&gt;&amp;nbsp;&lt;/FONT&gt;&lt;/o:p&gt;&lt;/SPAN&gt;&lt;/P&gt;
&lt;P style="LINE-HEIGHT: normal; MARGIN: 0in 0in 0pt; mso-layout-grid-align: none" class=MsoNormal&gt;&lt;SPAN style="FONT-FAMILY: 'Courier New'; COLOR: black; FONT-SIZE: 10pt; mso-ansi-language: en-us"&gt;[&lt;/SPAN&gt;&lt;SPAN style="FONT-FAMILY: 'Courier New'; COLOR: teal; FONT-SIZE: 10pt; mso-ansi-language: en-us"&gt;reflection.assembly&lt;/SPAN&gt;&lt;SPAN style="FONT-FAMILY: 'Courier New'; COLOR: black; FONT-SIZE: 10pt; mso-ansi-language: en-us"&gt;]::&lt;/SPAN&gt;&lt;SPAN style="FONT-FAMILY: 'Courier New'; COLOR: saddlebrown; FONT-SIZE: 10pt; mso-ansi-language: en-us"&gt;LoadWithPartialName&lt;/SPAN&gt;&lt;SPAN style="FONT-FAMILY: 'Courier New'; COLOR: black; FONT-SIZE: 10pt; mso-ansi-language: en-us"&gt;(&lt;/SPAN&gt;&lt;SPAN style="FONT-FAMILY: 'Courier New'; COLOR: maroon; FONT-SIZE: 10pt; mso-ansi-language: en-us"&gt;"Microsoft.SqlServer.Smo"&lt;/SPAN&gt;&lt;SPAN style="FONT-FAMILY: 'Courier New'; COLOR: black; FONT-SIZE: 10pt; mso-ansi-language: en-us"&gt;) | &lt;/SPAN&gt;&lt;B&gt;&lt;SPAN style="FONT-FAMILY: 'Courier New'; COLOR: cadetblue; FONT-SIZE: 10pt; mso-ansi-language: en-us"&gt;Out-Null&lt;/SPAN&gt;&lt;/B&gt;&lt;SPAN style="FONT-FAMILY: 'Courier New'; COLOR: black; FONT-SIZE: 10pt; mso-ansi-language: en-us"&gt;&lt;o:p&gt;&lt;/o:p&gt;&lt;/SPAN&gt;&lt;/P&gt;
&lt;P style="LINE-HEIGHT: normal; MARGIN: 0in 0in 0pt; mso-layout-grid-align: none" class=MsoNormal&gt;&lt;SPAN style="FONT-FAMILY: 'Courier New'; COLOR: black; FONT-SIZE: 10pt; mso-ansi-language: en-us"&gt;&lt;o:p&gt;&amp;nbsp;&lt;/o:p&gt;&lt;/SPAN&gt;&lt;/P&gt;
&lt;P style="LINE-HEIGHT: normal; MARGIN: 0in 0in 0pt; mso-layout-grid-align: none" class=MsoNormal&gt;&lt;SPAN style="FONT-FAMILY: 'Courier New'; COLOR: black; FONT-SIZE: 10pt; mso-ansi-language: en-us"&gt;cls&lt;o:p&gt;&lt;/o:p&gt;&lt;/SPAN&gt;&lt;/P&gt;
&lt;P style="LINE-HEIGHT: normal; MARGIN: 0in 0in 0pt; mso-layout-grid-align: none" class=MsoNormal&gt;&lt;SPAN style="FONT-FAMILY: 'Courier New'; COLOR: black; FONT-SIZE: 10pt; mso-ansi-language: en-us"&gt;&lt;o:p&gt;&amp;nbsp;&lt;/o:p&gt;&lt;/SPAN&gt;&lt;/P&gt;
&lt;P style="LINE-HEIGHT: normal; MARGIN: 0in 0in 0pt; mso-layout-grid-align: none" class=MsoNormal&gt;&lt;SPAN style="FONT-FAMILY: 'Courier New'; COLOR: purple; FONT-SIZE: 10pt; mso-ansi-language: en-us"&gt;$srv&lt;/SPAN&gt;&lt;SPAN style="FONT-FAMILY: 'Courier New'; COLOR: black; FONT-SIZE: 10pt; mso-ansi-language: en-us"&gt; &lt;/SPAN&gt;&lt;SPAN style="FONT-FAMILY: 'Courier New'; COLOR: red; FONT-SIZE: 10pt; mso-ansi-language: en-us"&gt;=&lt;/SPAN&gt;&lt;SPAN style="FONT-FAMILY: 'Courier New'; COLOR: black; FONT-SIZE: 10pt; mso-ansi-language: en-us"&gt; &lt;/SPAN&gt;&lt;B&gt;&lt;SPAN style="FONT-FAMILY: 'Courier New'; COLOR: cadetblue; FONT-SIZE: 10pt; mso-ansi-language: en-us"&gt;new-object&lt;/SPAN&gt;&lt;/B&gt;&lt;SPAN style="FONT-FAMILY: 'Courier New'; COLOR: black; FONT-SIZE: 10pt; mso-ansi-language: en-us"&gt; &lt;/SPAN&gt;&lt;I&gt;&lt;SPAN style="FONT-FAMILY: 'Courier New'; COLOR: cadetblue; FONT-SIZE: 10pt; mso-ansi-language: en-us"&gt;-TypeName&lt;/SPAN&gt;&lt;/I&gt;&lt;SPAN style="FONT-FAMILY: 'Courier New'; COLOR: black; FONT-SIZE: 10pt; mso-ansi-language: en-us"&gt; &lt;/SPAN&gt;&lt;SPAN style="FONT-FAMILY: 'Courier New'; COLOR: maroon; FONT-SIZE: 10pt; mso-ansi-language: en-us"&gt;"Microsoft.SqlServer.Management.Smo.Server"&lt;/SPAN&gt;&lt;SPAN style="FONT-FAMILY: 'Courier New'; COLOR: black; FONT-SIZE: 10pt; mso-ansi-language: en-us"&gt; &lt;/SPAN&gt;&lt;I&gt;&lt;SPAN style="FONT-FAMILY: 'Courier New'; COLOR: cadetblue; FONT-SIZE: 10pt; mso-ansi-language: en-us"&gt;-ArgumentList&lt;/SPAN&gt;&lt;/I&gt;&lt;SPAN style="FONT-FAMILY: 'Courier New'; COLOR: black; FONT-SIZE: 10pt; mso-ansi-language: en-us"&gt; &lt;/SPAN&gt;&lt;SPAN style="FONT-FAMILY: 'Courier New'; COLOR: maroon; FONT-SIZE: 10pt; mso-ansi-language: en-us"&gt;""&lt;/SPAN&gt;&lt;SPAN style="FONT-FAMILY: 'Courier New'; COLOR: black; FONT-SIZE: 10pt; mso-ansi-language: en-us"&gt;&lt;o:p&gt;&lt;/o:p&gt;&lt;/SPAN&gt;&lt;/P&gt;
&lt;P style="LINE-HEIGHT: normal; MARGIN: 0in 0in 0pt; mso-layout-grid-align: none" class=MsoNormal&gt;&lt;SPAN style="FONT-FAMILY: 'Courier New'; COLOR: purple; FONT-SIZE: 10pt; mso-ansi-language: en-us"&gt;$srv&lt;/SPAN&gt;&lt;SPAN style="FONT-FAMILY: 'Courier New'; COLOR: black; FONT-SIZE: 10pt; mso-ansi-language: en-us"&gt;.&lt;/SPAN&gt;&lt;SPAN style="FONT-FAMILY: 'Courier New'; COLOR: saddlebrown; FONT-SIZE: 10pt; mso-ansi-language: en-us"&gt;ConnectionContext&lt;/SPAN&gt;&lt;SPAN style="FONT-FAMILY: 'Courier New'; COLOR: black; FONT-SIZE: 10pt; mso-ansi-language: en-us"&gt;.&lt;/SPAN&gt;&lt;SPAN style="FONT-FAMILY: 'Courier New'; COLOR: saddlebrown; FONT-SIZE: 10pt; mso-ansi-language: en-us"&gt;SqlExecutionModes&lt;/SPAN&gt;&lt;SPAN style="FONT-FAMILY: 'Courier New'; COLOR: black; FONT-SIZE: 10pt; mso-ansi-language: en-us"&gt; &lt;/SPAN&gt;&lt;SPAN style="FONT-FAMILY: 'Courier New'; COLOR: red; FONT-SIZE: 10pt; mso-ansi-language: en-us"&gt;=&lt;/SPAN&gt;&lt;SPAN style="FONT-FAMILY: 'Courier New'; COLOR: black; FONT-SIZE: 10pt; mso-ansi-language: en-us"&gt; [&lt;/SPAN&gt;&lt;SPAN style="FONT-FAMILY: 'Courier New'; COLOR: teal; FONT-SIZE: 10pt; mso-ansi-language: en-us"&gt;Microsoft.SqlServer.Management.Common.SqlExecutionModes&lt;/SPAN&gt;&lt;SPAN style="FONT-FAMILY: 'Courier New'; COLOR: black; FONT-SIZE: 10pt; mso-ansi-language: en-us"&gt;]::&lt;/SPAN&gt;&lt;SPAN style="FONT-FAMILY: 'Courier New'; COLOR: saddlebrown; FONT-SIZE: 10pt; mso-ansi-language: en-us"&gt;ExecuteAndCaptureSql&lt;/SPAN&gt;&lt;SPAN style="FONT-FAMILY: 'Courier New'; COLOR: black; FONT-SIZE: 10pt; mso-ansi-language: en-us"&gt;&lt;o:p&gt;&lt;/o:p&gt;&lt;/SPAN&gt;&lt;/P&gt;
&lt;P style="LINE-HEIGHT: normal; MARGIN: 0in 0in 0pt; mso-layout-grid-align: none" class=MsoNormal&gt;&lt;SPAN style="FONT-FAMILY: 'Courier New'; COLOR: purple; FONT-SIZE: 10pt" lang=RU&gt;$&lt;/SPAN&gt;&lt;SPAN style="FONT-FAMILY: 'Courier New'; COLOR: purple; FONT-SIZE: 10pt; mso-ansi-language: en-us"&gt;db&lt;/SPAN&gt;&lt;SPAN style="FONT-FAMILY: 'Courier New'; COLOR: black; FONT-SIZE: 10pt"&gt; &lt;/SPAN&gt;&lt;SPAN style="FONT-FAMILY: 'Courier New'; COLOR: red; FONT-SIZE: 10pt" lang=RU&gt;=&lt;/SPAN&gt;&lt;SPAN style="FONT-FAMILY: 'Courier New'; COLOR: black; FONT-SIZE: 10pt" lang=RU&gt; &lt;/SPAN&gt;&lt;SPAN style="FONT-FAMILY: 'Courier New'; COLOR: purple; FONT-SIZE: 10pt" lang=RU&gt;$&lt;/SPAN&gt;&lt;SPAN style="FONT-FAMILY: 'Courier New'; COLOR: purple; FONT-SIZE: 10pt; mso-ansi-language: en-us"&gt;srv&lt;/SPAN&gt;&lt;SPAN style="FONT-FAMILY: 'Courier New'; COLOR: black; FONT-SIZE: 10pt" lang=RU&gt;.&lt;/SPAN&gt;&lt;SPAN style="FONT-FAMILY: 'Courier New'; COLOR: saddlebrown; FONT-SIZE: 10pt; mso-ansi-language: en-us"&gt;Databases&lt;/SPAN&gt;&lt;SPAN style="FONT-FAMILY: 'Courier New'; COLOR: black; FONT-SIZE: 10pt" lang=RU&gt;[&lt;/SPAN&gt;&lt;SPAN style="FONT-FAMILY: 'Courier New'; COLOR: maroon; FONT-SIZE: 10pt" lang=RU&gt;"&lt;/SPAN&gt;&lt;SPAN style="FONT-FAMILY: 'Courier New'; COLOR: maroon; FONT-SIZE: 10pt; mso-ansi-language: en-us"&gt;TestFS&lt;/SPAN&gt;&lt;SPAN style="FONT-FAMILY: 'Courier New'; COLOR: maroon; FONT-SIZE: 10pt" lang=RU&gt;"&lt;/SPAN&gt;&lt;SPAN style="FONT-FAMILY: 'Courier New'; COLOR: black; FONT-SIZE: 10pt" lang=RU&gt;]&lt;o:p&gt;&lt;/o:p&gt;&lt;/SPAN&gt;&lt;/P&gt;
&lt;P style="LINE-HEIGHT: normal; MARGIN: 0in 0in 0pt; mso-layout-grid-align: none" class=MsoNormal&gt;&lt;SPAN style="FONT-FAMILY: 'Courier New'; COLOR: black; FONT-SIZE: 10pt" lang=RU&gt;&lt;o:p&gt;&amp;nbsp;&lt;/o:p&gt;&lt;/SPAN&gt;&lt;/P&gt;
&lt;P style="LINE-HEIGHT: normal; MARGIN: 0in 0in 0pt; mso-layout-grid-align: none" class=MsoNormal&gt;&lt;SPAN style="FONT-FAMILY: 'Courier New'; COLOR: green; FONT-SIZE: 10pt" lang=RU&gt;#Удаление объектов&lt;o:p&gt;&lt;/o:p&gt;&lt;/SPAN&gt;&lt;/P&gt;
&lt;P style="LINE-HEIGHT: normal; MARGIN: 0in 0in 0pt; mso-layout-grid-align: none" class=MsoNormal&gt;&lt;SPAN style="FONT-FAMILY: 'Courier New'; COLOR: purple; FONT-SIZE: 10pt" lang=RU&gt;$&lt;/SPAN&gt;&lt;SPAN style="FONT-FAMILY: 'Courier New'; COLOR: purple; FONT-SIZE: 10pt; mso-ansi-language: en-us"&gt;o&lt;/SPAN&gt;&lt;SPAN style="FONT-FAMILY: 'Courier New'; COLOR: black; FONT-SIZE: 10pt"&gt; &lt;/SPAN&gt;&lt;SPAN style="FONT-FAMILY: 'Courier New'; COLOR: red; FONT-SIZE: 10pt" lang=RU&gt;=&lt;/SPAN&gt;&lt;SPAN style="FONT-FAMILY: 'Courier New'; COLOR: black; FONT-SIZE: 10pt" lang=RU&gt; &lt;/SPAN&gt;&lt;SPAN style="FONT-FAMILY: 'Courier New'; COLOR: purple; FONT-SIZE: 10pt" lang=RU&gt;$&lt;/SPAN&gt;&lt;SPAN style="FONT-FAMILY: 'Courier New'; COLOR: purple; FONT-SIZE: 10pt; mso-ansi-language: en-us"&gt;db&lt;/SPAN&gt;&lt;SPAN style="FONT-FAMILY: 'Courier New'; COLOR: black; FONT-SIZE: 10pt" lang=RU&gt;.&lt;/SPAN&gt;&lt;SPAN style="FONT-FAMILY: 'Courier New'; COLOR: black; FONT-SIZE: 10pt; mso-ansi-language: en-us"&gt;Tables&lt;/SPAN&gt;&lt;SPAN style="FONT-FAMILY: 'Courier New'; COLOR: black; FONT-SIZE: 10pt" lang=RU&gt;[&lt;/SPAN&gt;&lt;SPAN style="FONT-FAMILY: 'Courier New'; COLOR: maroon; FONT-SIZE: 10pt" lang=RU&gt;"&lt;/SPAN&gt;&lt;SPAN style="FONT-FAMILY: 'Courier New'; COLOR: maroon; FONT-SIZE: 10pt; mso-ansi-language: en-us"&gt;ttt&lt;/SPAN&gt;&lt;SPAN style="FONT-FAMILY: 'Courier New'; COLOR: maroon; FONT-SIZE: 10pt" lang=RU&gt;"&lt;/SPAN&gt;&lt;SPAN style="FONT-FAMILY: 'Courier New'; COLOR: black; FONT-SIZE: 10pt" lang=RU&gt;, &lt;/SPAN&gt;&lt;SPAN style="FONT-FAMILY: 'Courier New'; COLOR: maroon; FONT-SIZE: 10pt" lang=RU&gt;"&lt;/SPAN&gt;&lt;SPAN style="FONT-FAMILY: 'Courier New'; COLOR: maroon; FONT-SIZE: 10pt; mso-ansi-language: en-us"&gt;dbo&lt;/SPAN&gt;&lt;SPAN style="FONT-FAMILY: 'Courier New'; COLOR: maroon; FONT-SIZE: 10pt" lang=RU&gt;"&lt;/SPAN&gt;&lt;SPAN style="FONT-FAMILY: 'Courier New'; COLOR: black; FONT-SIZE: 10pt" lang=RU&gt;][0]; &lt;/SPAN&gt;&lt;SPAN style="FONT-FAMILY: 'Courier New'; COLOR: blue; FONT-SIZE: 10pt; mso-ansi-language: en-us"&gt;if&lt;/SPAN&gt;&lt;SPAN style="FONT-FAMILY: 'Courier New'; COLOR: black; FONT-SIZE: 10pt" lang=RU&gt; (&lt;/SPAN&gt;&lt;SPAN style="FONT-FAMILY: 'Courier New'; COLOR: purple; FONT-SIZE: 10pt" lang=RU&gt;$&lt;/SPAN&gt;&lt;SPAN style="FONT-FAMILY: 'Courier New'; COLOR: purple; FONT-SIZE: 10pt; mso-ansi-language: en-us"&gt;o&lt;/SPAN&gt;&lt;SPAN style="FONT-FAMILY: 'Courier New'; COLOR: black; FONT-SIZE: 10pt"&gt; &lt;/SPAN&gt;&lt;SPAN style="FONT-FAMILY: 'Courier New'; COLOR: red; FONT-SIZE: 10pt" lang=RU&gt;-&lt;/SPAN&gt;&lt;SPAN style="FONT-FAMILY: 'Courier New'; COLOR: red; FONT-SIZE: 10pt; mso-ansi-language: en-us"&gt;ne&lt;/SPAN&gt;&lt;SPAN style="FONT-FAMILY: 'Courier New'; COLOR: black; FONT-SIZE: 10pt"&gt; &lt;/SPAN&gt;&lt;SPAN style="FONT-FAMILY: 'Courier New'; COLOR: purple; FONT-SIZE: 10pt" lang=RU&gt;$&lt;/SPAN&gt;&lt;SPAN style="FONT-FAMILY: 'Courier New'; COLOR: purple; FONT-SIZE: 10pt; mso-ansi-language: en-us"&gt;null&lt;/SPAN&gt;&lt;SPAN style="FONT-FAMILY: 'Courier New'; COLOR: black; FONT-SIZE: 10pt" lang=RU&gt;) { &lt;/SPAN&gt;&lt;SPAN style="FONT-FAMILY: 'Courier New'; COLOR: purple; FONT-SIZE: 10pt" lang=RU&gt;$&lt;/SPAN&gt;&lt;SPAN style="FONT-FAMILY: 'Courier New'; COLOR: purple; FONT-SIZE: 10pt; mso-ansi-language: en-us"&gt;o&lt;/SPAN&gt;&lt;SPAN style="FONT-FAMILY: 'Courier New'; COLOR: black; FONT-SIZE: 10pt" lang=RU&gt;.&lt;/SPAN&gt;&lt;SPAN style="FONT-FAMILY: 'Courier New'; COLOR: black; FONT-SIZE: 10pt; mso-ansi-language: en-us"&gt;Drop&lt;/SPAN&gt;&lt;SPAN style="FONT-FAMILY: 'Courier New'; COLOR: black; FONT-SIZE: 10pt" lang=RU&gt;() } &lt;/SPAN&gt;&lt;SPAN style="FONT-FAMILY: 'Courier New'; COLOR: green; FONT-SIZE: 10pt" lang=RU&gt;#при необходимости можно уточнить схему, но тогда возвращается не единичный объект, а коллекция&lt;o:p&gt;&lt;/o:p&gt;&lt;/SPAN&gt;&lt;/P&gt;
&lt;P style="LINE-HEIGHT: normal; MARGIN: 0in 0in 0pt; mso-layout-grid-align: none" class=MsoNormal&gt;&lt;SPAN style="FONT-FAMILY: 'Courier New'; COLOR: purple; FONT-SIZE: 10pt; mso-ansi-language: en-us"&gt;$o&lt;/SPAN&gt;&lt;SPAN style="FONT-FAMILY: 'Courier New'; COLOR: black; FONT-SIZE: 10pt; mso-ansi-language: en-us"&gt; &lt;/SPAN&gt;&lt;SPAN style="FONT-FAMILY: 'Courier New'; COLOR: red; FONT-SIZE: 10pt; mso-ansi-language: en-us"&gt;=&lt;/SPAN&gt;&lt;SPAN style="FONT-FAMILY: 'Courier New'; COLOR: black; FONT-SIZE: 10pt; mso-ansi-language: en-us"&gt; &lt;/SPAN&gt;&lt;SPAN style="FONT-FAMILY: 'Courier New'; COLOR: purple; FONT-SIZE: 10pt; mso-ansi-language: en-us"&gt;$db&lt;/SPAN&gt;&lt;SPAN style="FONT-FAMILY: 'Courier New'; COLOR: black; FONT-SIZE: 10pt; mso-ansi-language: en-us"&gt;.Tables[&lt;/SPAN&gt;&lt;SPAN style="FONT-FAMILY: 'Courier New'; COLOR: maroon; FONT-SIZE: 10pt; mso-ansi-language: en-us"&gt;"TestFTS"&lt;/SPAN&gt;&lt;SPAN style="FONT-FAMILY: 'Courier New'; COLOR: black; FONT-SIZE: 10pt; mso-ansi-language: en-us"&gt;]; &lt;/SPAN&gt;&lt;SPAN style="FONT-FAMILY: 'Courier New'; COLOR: blue; FONT-SIZE: 10pt; mso-ansi-language: en-us"&gt;if&lt;/SPAN&gt;&lt;SPAN style="FONT-FAMILY: 'Courier New'; COLOR: black; FONT-SIZE: 10pt; mso-ansi-language: en-us"&gt; (&lt;/SPAN&gt;&lt;SPAN style="FONT-FAMILY: 'Courier New'; COLOR: purple; FONT-SIZE: 10pt; mso-ansi-language: en-us"&gt;$o&lt;/SPAN&gt;&lt;SPAN style="FONT-FAMILY: 'Courier New'; COLOR: black; FONT-SIZE: 10pt; mso-ansi-language: en-us"&gt; &lt;/SPAN&gt;&lt;SPAN style="FONT-FAMILY: 'Courier New'; COLOR: red; FONT-SIZE: 10pt; mso-ansi-language: en-us"&gt;-ne&lt;/SPAN&gt;&lt;SPAN style="FONT-FAMILY: 'Courier New'; COLOR: black; FONT-SIZE: 10pt; mso-ansi-language: en-us"&gt; &lt;/SPAN&gt;&lt;SPAN style="FONT-FAMILY: 'Courier New'; COLOR: purple; FONT-SIZE: 10pt; mso-ansi-language: en-us"&gt;$null&lt;/SPAN&gt;&lt;SPAN style="FONT-FAMILY: 'Courier New'; COLOR: black; FONT-SIZE: 10pt; mso-ansi-language: en-us"&gt;) { &lt;/SPAN&gt;&lt;SPAN style="FONT-FAMILY: 'Courier New'; COLOR: purple; FONT-SIZE: 10pt; mso-ansi-language: en-us"&gt;$o&lt;/SPAN&gt;&lt;SPAN style="FONT-FAMILY: 'Courier New'; COLOR: black; FONT-SIZE: 10pt; mso-ansi-language: en-us"&gt;.Drop() }&lt;o:p&gt;&lt;/o:p&gt;&lt;/SPAN&gt;&lt;/P&gt;
&lt;P style="LINE-HEIGHT: normal; MARGIN: 0in 0in 0pt; mso-layout-grid-align: none" class=MsoNormal&gt;&lt;SPAN style="FONT-FAMILY: 'Courier New'; COLOR: black; FONT-SIZE: 10pt; mso-ansi-language: en-us"&gt;&lt;o:p&gt;&amp;nbsp;&lt;/o:p&gt;&lt;/SPAN&gt;&lt;/P&gt;
&lt;P style="LINE-HEIGHT: normal; MARGIN: 0in 0in 0pt; mso-layout-grid-align: none" class=MsoNormal&gt;&lt;SPAN style="FONT-FAMILY: 'Courier New'; COLOR: purple; FONT-SIZE: 10pt; mso-ansi-language: en-us"&gt;$o&lt;/SPAN&gt;&lt;SPAN style="FONT-FAMILY: 'Courier New'; COLOR: black; FONT-SIZE: 10pt; mso-ansi-language: en-us"&gt; &lt;/SPAN&gt;&lt;SPAN style="FONT-FAMILY: 'Courier New'; COLOR: red; FONT-SIZE: 10pt; mso-ansi-language: en-us"&gt;=&lt;/SPAN&gt;&lt;SPAN style="FONT-FAMILY: 'Courier New'; COLOR: black; FONT-SIZE: 10pt; mso-ansi-language: en-us"&gt; &lt;/SPAN&gt;&lt;SPAN style="FONT-FAMILY: 'Courier New'; COLOR: purple; FONT-SIZE: 10pt; mso-ansi-language: en-us"&gt;$db&lt;/SPAN&gt;&lt;SPAN style="FONT-FAMILY: 'Courier New'; COLOR: black; FONT-SIZE: 10pt; mso-ansi-language: en-us"&gt;.StoredProcedures[&lt;/SPAN&gt;&lt;SPAN style="FONT-FAMILY: 'Courier New'; COLOR: maroon; FONT-SIZE: 10pt; mso-ansi-language: en-us"&gt;"LoadDir"&lt;/SPAN&gt;&lt;SPAN style="FONT-FAMILY: 'Courier New'; COLOR: black; FONT-SIZE: 10pt; mso-ansi-language: en-us"&gt;]; &lt;/SPAN&gt;&lt;SPAN style="FONT-FAMILY: 'Courier New'; COLOR: blue; FONT-SIZE: 10pt; mso-ansi-language: en-us"&gt;if&lt;/SPAN&gt;&lt;SPAN style="FONT-FAMILY: 'Courier New'; COLOR: black; FONT-SIZE: 10pt; mso-ansi-language: en-us"&gt; (&lt;/SPAN&gt;&lt;SPAN style="FONT-FAMILY: 'Courier New'; COLOR: purple; FONT-SIZE: 10pt; mso-ansi-language: en-us"&gt;$o&lt;/SPAN&gt;&lt;SPAN style="FONT-FAMILY: 'Courier New'; COLOR: black; FONT-SIZE: 10pt; mso-ansi-language: en-us"&gt; &lt;/SPAN&gt;&lt;SPAN style="FONT-FAMILY: 'Courier New'; COLOR: red; FONT-SIZE: 10pt; mso-ansi-language: en-us"&gt;-ne&lt;/SPAN&gt;&lt;SPAN style="FONT-FAMILY: 'Courier New'; COLOR: black; FONT-SIZE: 10pt; mso-ansi-language: en-us"&gt; &lt;/SPAN&gt;&lt;SPAN style="FONT-FAMILY: 'Courier New'; COLOR: purple; FONT-SIZE: 10pt; mso-ansi-language: en-us"&gt;$null&lt;/SPAN&gt;&lt;SPAN style="FONT-FAMILY: 'Courier New'; COLOR: black; FONT-SIZE: 10pt; mso-ansi-language: en-us"&gt;) { &lt;/SPAN&gt;&lt;SPAN style="FONT-FAMILY: 'Courier New'; COLOR: purple; FONT-SIZE: 10pt; mso-ansi-language: en-us"&gt;$o&lt;/SPAN&gt;&lt;SPAN style="FONT-FAMILY: 'Courier New'; COLOR: black; FONT-SIZE: 10pt; mso-ansi-language: en-us"&gt;.Drop() }&lt;o:p&gt;&lt;/o:p&gt;&lt;/SPAN&gt;&lt;/P&gt;
&lt;P style="LINE-HEIGHT: normal; MARGIN: 0in 0in 0pt; mso-layout-grid-align: none" class=MsoNormal&gt;&lt;SPAN style="FONT-FAMILY: 'Courier New'; COLOR: purple; FONT-SIZE: 10pt; mso-ansi-language: en-us"&gt;$o&lt;/SPAN&gt;&lt;SPAN style="FONT-FAMILY: 'Courier New'; COLOR: black; FONT-SIZE: 10pt; mso-ansi-language: en-us"&gt; &lt;/SPAN&gt;&lt;SPAN style="FONT-FAMILY: 'Courier New'; COLOR: red; FONT-SIZE: 10pt; mso-ansi-language: en-us"&gt;=&lt;/SPAN&gt;&lt;SPAN style="FONT-FAMILY: 'Courier New'; COLOR: black; FONT-SIZE: 10pt; mso-ansi-language: en-us"&gt; &lt;/SPAN&gt;&lt;SPAN style="FONT-FAMILY: 'Courier New'; COLOR: purple; FONT-SIZE: 10pt; mso-ansi-language: en-us"&gt;$db&lt;/SPAN&gt;&lt;SPAN style="FONT-FAMILY: 'Courier New'; COLOR: black; FONT-SIZE: 10pt; mso-ansi-language: en-us"&gt;.UserDefinedFunctions[&lt;/SPAN&gt;&lt;SPAN style="FONT-FAMILY: 'Courier New'; COLOR: maroon; FONT-SIZE: 10pt; mso-ansi-language: en-us"&gt;"Dir"&lt;/SPAN&gt;&lt;SPAN style="FONT-FAMILY: 'Courier New'; COLOR: black; FONT-SIZE: 10pt; mso-ansi-language: en-us"&gt;, &lt;/SPAN&gt;&lt;SPAN style="FONT-FAMILY: 'Courier New'; COLOR: maroon; FONT-SIZE: 10pt; mso-ansi-language: en-us"&gt;"dbo"&lt;/SPAN&gt;&lt;SPAN style="FONT-FAMILY: 'Courier New'; COLOR: black; FONT-SIZE: 10pt; mso-ansi-language: en-us"&gt;][0]; &lt;/SPAN&gt;&lt;SPAN style="FONT-FAMILY: 'Courier New'; COLOR: blue; FONT-SIZE: 10pt; mso-ansi-language: en-us"&gt;if&lt;/SPAN&gt;&lt;SPAN style="FONT-FAMILY: 'Courier New'; COLOR: black; FONT-SIZE: 10pt; mso-ansi-language: en-us"&gt; (&lt;/SPAN&gt;&lt;SPAN style="FONT-FAMILY: 'Courier New'; COLOR: purple; FONT-SIZE: 10pt; mso-ansi-language: en-us"&gt;$o&lt;/SPAN&gt;&lt;SPAN style="FONT-FAMILY: 'Courier New'; COLOR: black; FONT-SIZE: 10pt; mso-ansi-language: en-us"&gt; &lt;/SPAN&gt;&lt;SPAN style="FONT-FAMILY: 'Courier New'; COLOR: red; FONT-SIZE: 10pt; mso-ansi-language: en-us"&gt;-ne&lt;/SPAN&gt;&lt;SPAN style="FONT-FAMILY: 'Courier New'; COLOR: black; FONT-SIZE: 10pt; mso-ansi-language: en-us"&gt; &lt;/SPAN&gt;&lt;SPAN style="FONT-FAMILY: 'Courier New'; COLOR: purple; FONT-SIZE: 10pt; mso-ansi-language: en-us"&gt;$null&lt;/SPAN&gt;&lt;SPAN style="FONT-FAMILY: 'Courier New'; COLOR: black; FONT-SIZE: 10pt; mso-ansi-language: en-us"&gt;) { &lt;/SPAN&gt;&lt;SPAN style="FONT-FAMILY: 'Courier New'; COLOR: purple; FONT-SIZE: 10pt; mso-ansi-language: en-us"&gt;$o&lt;/SPAN&gt;&lt;SPAN style="FONT-FAMILY: 'Courier New'; COLOR: black; FONT-SIZE: 10pt; mso-ansi-language: en-us"&gt;.Drop() } &lt;/SPAN&gt;&lt;SPAN style="FONT-FAMILY: 'Courier New'; COLOR: green; FONT-SIZE: 10pt; mso-ansi-language: en-us"&gt;#коллекция UserDefinedFunctions содержит все ф-ции - CLR, SQL, скалярные, табличные, ...&lt;o:p&gt;&lt;/o:p&gt;&lt;/SPAN&gt;&lt;/P&gt;
&lt;P style="LINE-HEIGHT: normal; MARGIN: 0in 0in 0pt; mso-layout-grid-align: none" class=MsoNormal&gt;&lt;SPAN style="FONT-FAMILY: 'Courier New'; COLOR: purple; FONT-SIZE: 10pt; mso-ansi-language: en-us"&gt;$o&lt;/SPAN&gt;&lt;SPAN style="FONT-FAMILY: 'Courier New'; COLOR: black; FONT-SIZE: 10pt; mso-ansi-language: en-us"&gt; &lt;/SPAN&gt;&lt;SPAN style="FONT-FAMILY: 'Courier New'; COLOR: red; FONT-SIZE: 10pt; mso-ansi-language: en-us"&gt;=&lt;/SPAN&gt;&lt;SPAN style="FONT-FAMILY: 'Courier New'; COLOR: black; FONT-SIZE: 10pt; mso-ansi-language: en-us"&gt; &lt;/SPAN&gt;&lt;SPAN style="FONT-FAMILY: 'Courier New'; COLOR: purple; FONT-SIZE: 10pt; mso-ansi-language: en-us"&gt;$db&lt;/SPAN&gt;&lt;SPAN style="FONT-FAMILY: 'Courier New'; COLOR: black; FONT-SIZE: 10pt; mso-ansi-language: en-us"&gt;.UserDefinedFunctions[&lt;/SPAN&gt;&lt;SPAN style="FONT-FAMILY: 'Courier New'; COLOR: maroon; FONT-SIZE: 10pt; mso-ansi-language: en-us"&gt;"GetFileExtension"&lt;/SPAN&gt;&lt;SPAN style="FONT-FAMILY: 'Courier New'; COLOR: black; FONT-SIZE: 10pt; mso-ansi-language: en-us"&gt;]; &lt;/SPAN&gt;&lt;SPAN style="FONT-FAMILY: 'Courier New'; COLOR: blue; FONT-SIZE: 10pt; mso-ansi-language: en-us"&gt;if&lt;/SPAN&gt;&lt;SPAN style="FONT-FAMILY: 'Courier New'; COLOR: black; FONT-SIZE: 10pt; mso-ansi-language: en-us"&gt; (&lt;/SPAN&gt;&lt;SPAN style="FONT-FAMILY: 'Courier New'; COLOR: purple; FONT-SIZE: 10pt; mso-ansi-language: en-us"&gt;$o&lt;/SPAN&gt;&lt;SPAN style="FONT-FAMILY: 'Courier New'; COLOR: black; FONT-SIZE: 10pt; mso-ansi-language: en-us"&gt; &lt;/SPAN&gt;&lt;SPAN style="FONT-FAMILY: 'Courier New'; COLOR: red; FONT-SIZE: 10pt; mso-ansi-language: en-us"&gt;-ne&lt;/SPAN&gt;&lt;SPAN style="FONT-FAMILY: 'Courier New'; COLOR: black; FONT-SIZE: 10pt; mso-ansi-language: en-us"&gt; &lt;/SPAN&gt;&lt;SPAN style="FONT-FAMILY: 'Courier New'; COLOR: purple; FONT-SIZE: 10pt; mso-ansi-language: en-us"&gt;$null&lt;/SPAN&gt;&lt;SPAN style="FONT-FAMILY: 'Courier New'; COLOR: black; FONT-SIZE: 10pt; mso-ansi-language: en-us"&gt;) { &lt;/SPAN&gt;&lt;SPAN style="FONT-FAMILY: 'Courier New'; COLOR: purple; FONT-SIZE: 10pt; mso-ansi-language: en-us"&gt;$o&lt;/SPAN&gt;&lt;SPAN style="FONT-FAMILY: 'Courier New'; COLOR: black; FONT-SIZE: 10pt; mso-ansi-language: en-us"&gt;.Drop() } &lt;o:p&gt;&lt;/o:p&gt;&lt;/SPAN&gt;&lt;/P&gt;
&lt;P style="LINE-HEIGHT: normal; MARGIN: 0in 0in 0pt; mso-layout-grid-align: none" class=MsoNormal&gt;&lt;SPAN style="FONT-FAMILY: 'Courier New'; COLOR: purple; FONT-SIZE: 10pt; mso-ansi-language: en-us"&gt;$o&lt;/SPAN&gt;&lt;SPAN style="FONT-FAMILY: 'Courier New'; COLOR: black; FONT-SIZE: 10pt; mso-ansi-language: en-us"&gt; &lt;/SPAN&gt;&lt;SPAN style="FONT-FAMILY: 'Courier New'; COLOR: red; FONT-SIZE: 10pt; mso-ansi-language: en-us"&gt;=&lt;/SPAN&gt;&lt;SPAN style="FONT-FAMILY: 'Courier New'; COLOR: black; FONT-SIZE: 10pt; mso-ansi-language: en-us"&gt; &lt;/SPAN&gt;&lt;SPAN style="FONT-FAMILY: 'Courier New'; COLOR: purple; FONT-SIZE: 10pt; mso-ansi-language: en-us"&gt;$db&lt;/SPAN&gt;&lt;SPAN style="FONT-FAMILY: 'Courier New'; COLOR: black; FONT-SIZE: 10pt; mso-ansi-language: en-us"&gt;.UserDefinedFunctions[&lt;/SPAN&gt;&lt;SPAN style="FONT-FAMILY: 'Courier New'; COLOR: maroon; FONT-SIZE: 10pt; mso-ansi-language: en-us"&gt;"SplitPath"&lt;/SPAN&gt;&lt;SPAN style="FONT-FAMILY: 'Courier New'; COLOR: black; FONT-SIZE: 10pt; mso-ansi-language: en-us"&gt;]; &lt;/SPAN&gt;&lt;SPAN style="FONT-FAMILY: 'Courier New'; COLOR: blue; FONT-SIZE: 10pt; mso-ansi-language: en-us"&gt;if&lt;/SPAN&gt;&lt;SPAN style="FONT-FAMILY: 'Courier New'; COLOR: black; FONT-SIZE: 10pt; mso-ansi-language: en-us"&gt; (&lt;/SPAN&gt;&lt;SPAN style="FONT-FAMILY: 'Courier New'; COLOR: purple; FONT-SIZE: 10pt; mso-ansi-language: en-us"&gt;$o&lt;/SPAN&gt;&lt;SPAN style="FONT-FAMILY: 'Courier New'; COLOR: black; FONT-SIZE: 10pt; mso-ansi-language: en-us"&gt; &lt;/SPAN&gt;&lt;SPAN style="FONT-FAMILY: 'Courier New'; COLOR: red; FONT-SIZE: 10pt; mso-ansi-language: en-us"&gt;-ne&lt;/SPAN&gt;&lt;SPAN style="FONT-FAMILY: 'Courier New'; COLOR: black; FONT-SIZE: 10pt; mso-ansi-language: en-us"&gt; &lt;/SPAN&gt;&lt;SPAN style="FONT-FAMILY: 'Courier New'; COLOR: purple; FONT-SIZE: 10pt; mso-ansi-language: en-us"&gt;$null&lt;/SPAN&gt;&lt;SPAN style="FONT-FAMILY: 'Courier New'; COLOR: black; FONT-SIZE: 10pt; mso-ansi-language: en-us"&gt;) { &lt;/SPAN&gt;&lt;SPAN style="FONT-FAMILY: 'Courier New'; COLOR: purple; FONT-SIZE: 10pt; mso-ansi-language: en-us"&gt;$o&lt;/SPAN&gt;&lt;SPAN style="FONT-FAMILY: 'Courier New'; COLOR: black; FONT-SIZE: 10pt; mso-ansi-language: en-us"&gt;.Drop() }&lt;o:p&gt;&lt;/o:p&gt;&lt;/SPAN&gt;&lt;/P&gt;
&lt;P style="LINE-HEIGHT: normal; MARGIN: 0in 0in 0pt; mso-layout-grid-align: none" class=MsoNormal&gt;&lt;SPAN style="FONT-FAMILY: 'Courier New'; COLOR: black; FONT-SIZE: 10pt; mso-ansi-language: en-us"&gt;&lt;o:p&gt;&amp;nbsp;&lt;/o:p&gt;&lt;/SPAN&gt;&lt;/P&gt;
&lt;P style="LINE-HEIGHT: normal; MARGIN: 0in 0in 0pt; mso-layout-grid-align: none" class=MsoNormal&gt;&lt;SPAN style="FONT-FAMILY: 'Courier New'; COLOR: purple; FONT-SIZE: 10pt; mso-ansi-language: en-us"&gt;$o&lt;/SPAN&gt;&lt;SPAN style="FONT-FAMILY: 'Courier New'; COLOR: black; FONT-SIZE: 10pt; mso-ansi-language: en-us"&gt; &lt;/SPAN&gt;&lt;SPAN style="FONT-FAMILY: 'Courier New'; COLOR: red; FONT-SIZE: 10pt; mso-ansi-language: en-us"&gt;=&lt;/SPAN&gt;&lt;SPAN style="FONT-FAMILY: 'Courier New'; COLOR: black; FONT-SIZE: 10pt; mso-ansi-language: en-us"&gt; &lt;/SPAN&gt;&lt;SPAN style="FONT-FAMILY: 'Courier New'; COLOR: purple; FONT-SIZE: 10pt; mso-ansi-language: en-us"&gt;$db&lt;/SPAN&gt;&lt;SPAN style="FONT-FAMILY: 'Courier New'; COLOR: black; FONT-SIZE: 10pt; mso-ansi-language: en-us"&gt;.&lt;/SPAN&gt;&lt;SPAN style="FONT-FAMILY: 'Courier New'; COLOR: saddlebrown; FONT-SIZE: 10pt; mso-ansi-language: en-us"&gt;Assemblies&lt;/SPAN&gt;&lt;SPAN style="FONT-FAMILY: 'Courier New'; COLOR: black; FONT-SIZE: 10pt; mso-ansi-language: en-us"&gt;[&lt;/SPAN&gt;&lt;SPAN style="FONT-FAMILY: 'Courier New'; COLOR: maroon; FONT-SIZE: 10pt; mso-ansi-language: en-us"&gt;"MyAssembly"&lt;/SPAN&gt;&lt;SPAN style="FONT-FAMILY: 'Courier New'; COLOR: black; FONT-SIZE: 10pt; mso-ansi-language: en-us"&gt;]; &lt;/SPAN&gt;&lt;SPAN style="FONT-FAMILY: 'Courier New'; COLOR: blue; FONT-SIZE: 10pt; mso-ansi-language: en-us"&gt;if&lt;/SPAN&gt;&lt;SPAN style="FONT-FAMILY: 'Courier New'; COLOR: black; FONT-SIZE: 10pt; mso-ansi-language: en-us"&gt; (&lt;/SPAN&gt;&lt;SPAN style="FONT-FAMILY: 'Courier New'; COLOR: purple; FONT-SIZE: 10pt; mso-ansi-language: en-us"&gt;$o&lt;/SPAN&gt;&lt;SPAN style="FONT-FAMILY: 'Courier New'; COLOR: black; FONT-SIZE: 10pt; mso-ansi-language: en-us"&gt; &lt;/SPAN&gt;&lt;SPAN style="FONT-FAMILY: 'Courier New'; COLOR: red; FONT-SIZE: 10pt; mso-ansi-language: en-us"&gt;-ne&lt;/SPAN&gt;&lt;SPAN style="FONT-FAMILY: 'Courier New'; COLOR: black; FONT-SIZE: 10pt; mso-ansi-language: en-us"&gt; &lt;/SPAN&gt;&lt;SPAN style="FONT-FAMILY: 'Courier New'; COLOR: purple; FONT-SIZE: 10pt; mso-ansi-language: en-us"&gt;$null&lt;/SPAN&gt;&lt;SPAN style="FONT-FAMILY: 'Courier New'; COLOR: black; FONT-SIZE: 10pt; mso-ansi-language: en-us"&gt;) { &lt;/SPAN&gt;&lt;SPAN style="FONT-FAMILY: 'Courier New'; COLOR: purple; FONT-SIZE: 10pt; mso-ansi-language: en-us"&gt;$o&lt;/SPAN&gt;&lt;SPAN style="FONT-FAMILY: 'Courier New'; COLOR: black; FONT-SIZE: 10pt; mso-ansi-language: en-us"&gt;.&lt;/SPAN&gt;&lt;SPAN style="FONT-FAMILY: 'Courier New'; COLOR: saddlebrown; FONT-SIZE: 10pt; mso-ansi-language: en-us"&gt;Drop&lt;/SPAN&gt;&lt;SPAN style="FONT-FAMILY: 'Courier New'; COLOR: black; FONT-SIZE: 10pt; mso-ansi-language: en-us"&gt;() }&lt;o:p&gt;&lt;/o:p&gt;&lt;/SPAN&gt;&lt;/P&gt;
&lt;P style="LINE-HEIGHT: normal; MARGIN: 0in 0in 0pt; mso-layout-grid-align: none" class=MsoNormal&gt;&lt;SPAN style="FONT-FAMILY: 'Courier New'; COLOR: black; FONT-SIZE: 10pt; mso-ansi-language: en-us"&gt;&lt;o:p&gt;&amp;nbsp;&lt;/o:p&gt;&lt;/SPAN&gt;&lt;/P&gt;
&lt;P style="LINE-HEIGHT: normal; MARGIN: 0in 0in 0pt; mso-layout-grid-align: none" class=MsoNormal&gt;&lt;SPAN style="FONT-FAMILY: 'Courier New'; COLOR: green; FONT-SIZE: 10pt; mso-ansi-language: en-us"&gt;#Создание сборки&lt;o:p&gt;&lt;/o:p&gt;&lt;/SPAN&gt;&lt;/P&gt;
&lt;P style="LINE-HEIGHT: normal; MARGIN: 0in 0in 0pt; mso-layout-grid-align: none" class=MsoNormal&gt;&lt;SPAN style="FONT-FAMILY: 'Courier New'; COLOR: purple; FONT-SIZE: 10pt; mso-ansi-language: en-us"&gt;$asm&lt;/SPAN&gt;&lt;SPAN style="FONT-FAMILY: 'Courier New'; COLOR: black; FONT-SIZE: 10pt; mso-ansi-language: en-us"&gt; &lt;/SPAN&gt;&lt;SPAN style="FONT-FAMILY: 'Courier New'; COLOR: red; FONT-SIZE: 10pt; mso-ansi-language: en-us"&gt;=&lt;/SPAN&gt;&lt;SPAN style="FONT-FAMILY: 'Courier New'; COLOR: black; FONT-SIZE: 10pt; mso-ansi-language: en-us"&gt; &lt;/SPAN&gt;&lt;B&gt;&lt;SPAN style="FONT-FAMILY: 'Courier New'; COLOR: cadetblue; FONT-SIZE: 10pt; mso-ansi-language: en-us"&gt;new-object&lt;/SPAN&gt;&lt;/B&gt;&lt;SPAN style="FONT-FAMILY: 'Courier New'; COLOR: black; FONT-SIZE: 10pt; mso-ansi-language: en-us"&gt; &lt;/SPAN&gt;&lt;I&gt;&lt;SPAN style="FONT-FAMILY: 'Courier New'; COLOR: cadetblue; FONT-SIZE: 10pt; mso-ansi-language: en-us"&gt;-TypeName&lt;/SPAN&gt;&lt;/I&gt;&lt;SPAN style="FONT-FAMILY: 'Courier New'; COLOR: black; FONT-SIZE: 10pt; mso-ansi-language: en-us"&gt; &lt;/SPAN&gt;&lt;SPAN style="FONT-FAMILY: 'Courier New'; COLOR: maroon; FONT-SIZE: 10pt; mso-ansi-language: en-us"&gt;"Microsoft.SqlServer.Management.Smo.SqlAssembly"&lt;/SPAN&gt;&lt;SPAN style="FONT-FAMILY: 'Courier New'; COLOR: black; FONT-SIZE: 10pt; mso-ansi-language: en-us"&gt; &lt;o:p&gt;&lt;/o:p&gt;&lt;/SPAN&gt;&lt;/P&gt;
&lt;P style="LINE-HEIGHT: normal; MARGIN: 0in 0in 0pt; mso-layout-grid-align: none" class=MsoNormal&gt;&lt;SPAN style="FONT-FAMILY: 'Courier New'; COLOR: purple; FONT-SIZE: 10pt; mso-ansi-language: en-us"&gt;$asm&lt;/SPAN&gt;&lt;SPAN style="FONT-FAMILY: 'Courier New'; COLOR: black; FONT-SIZE: 10pt; mso-ansi-language: en-us"&gt;.Name &lt;/SPAN&gt;&lt;SPAN style="FONT-FAMILY: 'Courier New'; COLOR: red; FONT-SIZE: 10pt; mso-ansi-language: en-us"&gt;=&lt;/SPAN&gt;&lt;SPAN style="FONT-FAMILY: 'Courier New'; COLOR: black; FONT-SIZE: 10pt; mso-ansi-language: en-us"&gt; &lt;/SPAN&gt;&lt;SPAN style="FONT-FAMILY: 'Courier New'; COLOR: maroon; FONT-SIZE: 10pt; mso-ansi-language: en-us"&gt;"MyAssembly"&lt;/SPAN&gt;&lt;SPAN style="FONT-FAMILY: 'Courier New'; COLOR: black; FONT-SIZE: 10pt; mso-ansi-language: en-us"&gt;&lt;o:p&gt;&lt;/o:p&gt;&lt;/SPAN&gt;&lt;/P&gt;
&lt;P style="LINE-HEIGHT: normal; MARGIN: 0in 0in 0pt; mso-layout-grid-align: none" class=MsoNormal&gt;&lt;SPAN style="FONT-FAMILY: 'Courier New'; COLOR: purple; FONT-SIZE: 10pt; mso-ansi-language: en-us"&gt;$asm&lt;/SPAN&gt;&lt;SPAN style="FONT-FAMILY: 'Courier New'; COLOR: black; FONT-SIZE: 10pt; mso-ansi-language: en-us"&gt;.Parent &lt;/SPAN&gt;&lt;SPAN style="FONT-FAMILY: 'Courier New'; COLOR: red; FONT-SIZE: 10pt; mso-ansi-language: en-us"&gt;=&lt;/SPAN&gt;&lt;SPAN style="FONT-FAMILY: 'Courier New'; COLOR: black; FONT-SIZE: 10pt; mso-ansi-language: en-us"&gt; &lt;/SPAN&gt;&lt;SPAN style="FONT-FAMILY: 'Courier New'; COLOR: purple; FONT-SIZE: 10pt; mso-ansi-language: en-us"&gt;$db&lt;/SPAN&gt;&lt;SPAN style="FONT-FAMILY: 'Courier New'; COLOR: black; FONT-SIZE: 10pt; mso-ansi-language: en-us"&gt; &lt;/SPAN&gt;&lt;SPAN style="FONT-FAMILY: 'Courier New'; COLOR: green; FONT-SIZE: 10pt; mso-ansi-language: en-us"&gt;#иначе на след.строчке Exception setting "AssemblySecurityLevel": "You must set Parent property."&lt;o:p&gt;&lt;/o:p&gt;&lt;/SPAN&gt;&lt;/P&gt;
&lt;P style="LINE-HEIGHT: normal; MARGIN: 0in 0in 0pt; mso-layout-grid-align: none" class=MsoNormal&gt;&lt;SPAN style="FONT-FAMILY: 'Courier New'; COLOR: purple; FONT-SIZE: 10pt; mso-ansi-language: en-us"&gt;$asm&lt;/SPAN&gt;&lt;SPAN style="FONT-FAMILY: 'Courier New'; COLOR: black; FONT-SIZE: 10pt; mso-ansi-language: en-us"&gt;.AssemblySecurityLevel &lt;/SPAN&gt;&lt;SPAN style="FONT-FAMILY: 'Courier New'; COLOR: red; FONT-SIZE: 10pt; mso-ansi-language: en-us"&gt;=&lt;/SPAN&gt;&lt;SPAN style="FONT-FAMILY: 'Courier New'; COLOR: black; FONT-SIZE: 10pt; mso-ansi-language: en-us"&gt; [Microsoft.SqlServer.Management.Smo.AssemblySecurityLevel]::Unrestricted&lt;SPAN style="mso-tab-count: 1"&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp; &lt;/SPAN&gt;&lt;/SPAN&gt;&lt;SPAN style="FONT-FAMILY: 'Courier New'; COLOR: green; FONT-SIZE: 10pt; mso-ansi-language: en-us"&gt;#лежит в microsoft.sqlserver.sqlenum.dll&lt;o:p&gt;&lt;/o:p&gt;&lt;/SPAN&gt;&lt;/P&gt;
&lt;P style="LINE-HEIGHT: normal; MARGIN: 0in 0in 0pt; mso-layout-grid-align: none" class=MsoNormal&gt;&lt;SPAN style="FONT-FAMILY: 'Courier New'; COLOR: purple; FONT-SIZE: 10pt; mso-ansi-language: en-us"&gt;$asm&lt;/SPAN&gt;&lt;SPAN style="FONT-FAMILY: 'Courier New'; COLOR: black; FONT-SIZE: 10pt; mso-ansi-language: en-us"&gt;.Create(&lt;/SPAN&gt;&lt;SPAN style="FONT-FAMILY: 'Courier New'; COLOR: maroon; FONT-SIZE: 10pt; mso-ansi-language: en-us"&gt;"C:\Temp\LoadFolderToSQL\bin\Debug\ClassLibrary1.dll"&lt;/SPAN&gt;&lt;SPAN style="FONT-FAMILY: 'Courier New'; COLOR: black; FONT-SIZE: 10pt; mso-ansi-language: en-us"&gt;)&lt;o:p&gt;&lt;/o:p&gt;&lt;/SPAN&gt;&lt;/P&gt;
&lt;P style="LINE-HEIGHT: normal; MARGIN: 0in 0in 0pt; mso-layout-grid-align: none" class=MsoNormal&gt;&lt;SPAN style="FONT-FAMILY: 'Courier New'; COLOR: green; FONT-SIZE: 10pt; mso-ansi-language: en-us"&gt;#Currently, only one file per assembly is supported - http://msdn.microsoft.com/ru-ru/library/microsoft.sqlserver.management.smo.sqlassembly.sqlassemblyfiles.aspx&lt;o:p&gt;&lt;/o:p&gt;&lt;/SPAN&gt;&lt;/P&gt;
&lt;P style="LINE-HEIGHT: normal; MARGIN: 0in 0in 0pt; mso-layout-grid-align: none" class=MsoNormal&gt;&lt;SPAN style="FONT-FAMILY: 'Courier New'; COLOR: black; FONT-SIZE: 10pt; mso-ansi-language: en-us"&gt;&lt;o:p&gt;&amp;nbsp;&lt;/o:p&gt;&lt;/SPAN&gt;&lt;/P&gt;
&lt;P style="LINE-HEIGHT: normal; MARGIN: 0in 0in 0pt; mso-layout-grid-align: none" class=MsoNormal&gt;&lt;SPAN style="FONT-FAMILY: 'Courier New'; COLOR: green; FONT-SIZE: 10pt; mso-ansi-language: en-us"&gt;#Создание CLRной хранимой процедуры&lt;o:p&gt;&lt;/o:p&gt;&lt;/SPAN&gt;&lt;/P&gt;
&lt;P style="LINE-HEIGHT: normal; MARGIN: 0in 0in 0pt; mso-layout-grid-align: none" class=MsoNormal&gt;&lt;SPAN style="FONT-FAMILY: 'Courier New'; COLOR: purple; FONT-SIZE: 10pt; mso-ansi-language: en-us"&gt;$sp&lt;/SPAN&gt;&lt;SPAN style="FONT-FAMILY: 'Courier New'; COLOR: black; FONT-SIZE: 10pt; mso-ansi-language: en-us"&gt; &lt;/SPAN&gt;&lt;SPAN style="FONT-FAMILY: 'Courier New'; COLOR: red; FONT-SIZE: 10pt; mso-ansi-language: en-us"&gt;=&lt;/SPAN&gt;&lt;SPAN style="FONT-FAMILY: 'Courier New'; COLOR: black; FONT-SIZE: 10pt; mso-ansi-language: en-us"&gt; &lt;/SPAN&gt;&lt;B&gt;&lt;SPAN style="FONT-FAMILY: 'Courier New'; COLOR: cadetblue; FONT-SIZE: 10pt; mso-ansi-language: en-us"&gt;New-Object&lt;/SPAN&gt;&lt;/B&gt;&lt;SPAN style="FONT-FAMILY: 'Courier New'; COLOR: black; FONT-SIZE: 10pt; mso-ansi-language: en-us"&gt; &lt;/SPAN&gt;&lt;I&gt;&lt;SPAN style="FONT-FAMILY: 'Courier New'; COLOR: cadetblue; FONT-SIZE: 10pt; mso-ansi-language: en-us"&gt;-TypeName&lt;/SPAN&gt;&lt;/I&gt;&lt;SPAN style="FONT-FAMILY: 'Courier New'; COLOR: black; FONT-SIZE: 10pt; mso-ansi-language: en-us"&gt; &lt;/SPAN&gt;&lt;SPAN style="FONT-FAMILY: 'Courier New'; COLOR: maroon; FONT-SIZE: 10pt; mso-ansi-language: en-us"&gt;"Microsoft.SqlServer.Management.Smo.StoredProcedure"&lt;/SPAN&gt;&lt;SPAN style="FONT-FAMILY: 'Courier New'; COLOR: black; FONT-SIZE: 10pt; mso-ansi-language: en-us"&gt; &lt;/SPAN&gt;&lt;I&gt;&lt;SPAN style="FONT-FAMILY: 'Courier New'; COLOR: cadetblue; FONT-SIZE: 10pt; mso-ansi-language: en-us"&gt;-ArgumentList&lt;/SPAN&gt;&lt;/I&gt;&lt;SPAN style="FONT-FAMILY: 'Courier New'; COLOR: black; FONT-SIZE: 10pt; mso-ansi-language: en-us"&gt; &lt;/SPAN&gt;&lt;SPAN style="FONT-FAMILY: 'Courier New'; COLOR: purple; FONT-SIZE: 10pt; mso-ansi-language: en-us"&gt;$db&lt;/SPAN&gt;&lt;SPAN style="FONT-FAMILY: 'Courier New'; COLOR: black; FONT-SIZE: 10pt; mso-ansi-language: en-us"&gt;, &lt;/SPAN&gt;&lt;SPAN style="FONT-FAMILY: 'Courier New'; COLOR: maroon; FONT-SIZE: 10pt; mso-ansi-language: en-us"&gt;"LoadDir"&lt;/SPAN&gt;&lt;SPAN style="FONT-FAMILY: 'Courier New'; COLOR: black; FONT-SIZE: 10pt; mso-ansi-language: en-us"&gt; &lt;/SPAN&gt;&lt;SPAN style="FONT-FAMILY: 'Courier New'; COLOR: green; FONT-SIZE: 10pt; mso-ansi-language: en-us"&gt;#аргументы - БД, название процедуры; можно еще указать схему&lt;o:p&gt;&lt;/o:p&gt;&lt;/SPAN&gt;&lt;/P&gt;
&lt;P style="LINE-HEIGHT: normal; MARGIN: 0in 0in 0pt; mso-layout-grid-align: none" class=MsoNormal&gt;&lt;SPAN style="FONT-FAMILY: 'Courier New'; COLOR: purple; FONT-SIZE: 10pt; mso-ansi-language: en-us"&gt;$sp&lt;/SPAN&gt;&lt;SPAN style="FONT-FAMILY: 'Courier New'; COLOR: black; FONT-SIZE: 10pt; mso-ansi-language: en-us"&gt;.TextMode &lt;/SPAN&gt;&lt;SPAN style="FONT-FAMILY: 'Courier New'; COLOR: red; FONT-SIZE: 10pt; mso-ansi-language: en-us"&gt;=&lt;/SPAN&gt;&lt;SPAN style="FONT-FAMILY: 'Courier New'; COLOR: black; FONT-SIZE: 10pt; mso-ansi-language: en-us"&gt; &lt;/SPAN&gt;&lt;SPAN style="FONT-FAMILY: 'Courier New'; COLOR: blue; FONT-SIZE: 10pt; mso-ansi-language: en-us"&gt;$false&lt;/SPAN&gt;&lt;SPAN style="FONT-FAMILY: 'Courier New'; COLOR: black; FONT-SIZE: 10pt; mso-ansi-language: en-us"&gt;&lt;o:p&gt;&lt;/o:p&gt;&lt;/SPAN&gt;&lt;/P&gt;
&lt;P style="LINE-HEIGHT: normal; MARGIN: 0in 0in 0pt; mso-layout-grid-align: none" class=MsoNormal&gt;&lt;SPAN style="FONT-FAMILY: 'Courier New'; COLOR: purple; FONT-SIZE: 10pt; mso-ansi-language: en-us"&gt;$sp&lt;/SPAN&gt;&lt;SPAN style="FONT-FAMILY: 'Courier New'; COLOR: black; FONT-SIZE: 10pt; mso-ansi-language: en-us"&gt;.ImplementationType &lt;/SPAN&gt;&lt;SPAN style="FONT-FAMILY: 'Courier New'; COLOR: red; FONT-SIZE: 10pt; mso-ansi-language: en-us"&gt;=&lt;/SPAN&gt;&lt;SPAN style="FONT-FAMILY: 'Courier New'; COLOR: black; FONT-SIZE: 10pt; mso-ansi-language: en-us"&gt; [Microsoft.SqlServer.Management.Smo.ImplementationType]::SqlClr&lt;o:p&gt;&lt;/o:p&gt;&lt;/SPAN&gt;&lt;/P&gt;
&lt;P style="LINE-HEIGHT: normal; MARGIN: 0in 0in 0pt; mso-layout-grid-align: none" class=MsoNormal&gt;&lt;SPAN style="FONT-FAMILY: 'Courier New'; COLOR: purple; FONT-SIZE: 10pt; mso-ansi-language: en-us"&gt;$sp&lt;/SPAN&gt;&lt;SPAN style="FONT-FAMILY: 'Courier New'; COLOR: black; FONT-SIZE: 10pt; mso-ansi-language: en-us"&gt;.AssemblyName &lt;/SPAN&gt;&lt;SPAN style="FONT-FAMILY: 'Courier New'; COLOR: red; FONT-SIZE: 10pt; mso-ansi-language: en-us"&gt;=&lt;/SPAN&gt;&lt;SPAN style="FONT-FAMILY: 'Courier New'; COLOR: black; FONT-SIZE: 10pt; mso-ansi-language: en-us"&gt; &lt;/SPAN&gt;&lt;SPAN style="FONT-FAMILY: 'Courier New'; COLOR: purple; FONT-SIZE: 10pt; mso-ansi-language: en-us"&gt;$asm&lt;/SPAN&gt;&lt;SPAN style="FONT-FAMILY: 'Courier New'; COLOR: black; FONT-SIZE: 10pt; mso-ansi-language: en-us"&gt;.Name&lt;o:p&gt;&lt;/o:p&gt;&lt;/SPAN&gt;&lt;/P&gt;
&lt;P style="LINE-HEIGHT: normal; MARGIN: 0in 0in 0pt; mso-layout-grid-align: none" class=MsoNormal&gt;&lt;SPAN style="FONT-FAMILY: 'Courier New'; COLOR: purple; FONT-SIZE: 10pt; mso-ansi-language: en-us"&gt;$sp&lt;/SPAN&gt;&lt;SPAN style="FONT-FAMILY: 'Courier New'; COLOR: black; FONT-SIZE: 10pt; mso-ansi-language: en-us"&gt;.ClassName &lt;/SPAN&gt;&lt;SPAN style="FONT-FAMILY: 'Courier New'; COLOR: red; FONT-SIZE: 10pt; mso-ansi-language: en-us"&gt;=&lt;/SPAN&gt;&lt;SPAN style="FONT-FAMILY: 'Courier New'; COLOR: black; FONT-SIZE: 10pt; mso-ansi-language: en-us"&gt; &lt;/SPAN&gt;&lt;SPAN style="FONT-FAMILY: 'Courier New'; COLOR: maroon; FONT-SIZE: 10pt; mso-ansi-language: en-us"&gt;"FileSystem"&lt;/SPAN&gt;&lt;SPAN style="FONT-FAMILY: 'Courier New'; COLOR: black; FONT-SIZE: 10pt; mso-ansi-language: en-us"&gt; &lt;/SPAN&gt;&lt;SPAN style="FONT-FAMILY: 'Courier New'; COLOR: green; FONT-SIZE: 10pt; mso-ansi-language: en-us"&gt;#public partial class ... в dll&lt;o:p&gt;&lt;/o:p&gt;&lt;/SPAN&gt;&lt;/P&gt;
&lt;P style="LINE-HEIGHT: normal; MARGIN: 0in 0in 0pt; mso-layout-grid-align: none" class=MsoNormal&gt;&lt;SPAN style="FONT-FAMILY: 'Courier New'; COLOR: purple; FONT-SIZE: 10pt" lang=RU&gt;$&lt;/SPAN&gt;&lt;SPAN style="FONT-FAMILY: 'Courier New'; COLOR: purple; FONT-SIZE: 10pt; mso-ansi-language: en-us"&gt;sp&lt;/SPAN&gt;&lt;SPAN style="FONT-FAMILY: 'Courier New'; COLOR: black; FONT-SIZE: 10pt" lang=RU&gt;.&lt;/SPAN&gt;&lt;SPAN style="FONT-FAMILY: 'Courier New'; COLOR: black; FONT-SIZE: 10pt; mso-ansi-language: en-us"&gt;MethodName&lt;/SPAN&gt;&lt;SPAN style="FONT-FAMILY: 'Courier New'; COLOR: black; FONT-SIZE: 10pt"&gt; &lt;/SPAN&gt;&lt;SPAN style="FONT-FAMILY: 'Courier New'; COLOR: red; FONT-SIZE: 10pt" lang=RU&gt;=&lt;/SPAN&gt;&lt;SPAN style="FONT-FAMILY: 'Courier New'; COLOR: black; FONT-SIZE: 10pt" lang=RU&gt; &lt;/SPAN&gt;&lt;SPAN style="FONT-FAMILY: 'Courier New'; COLOR: maroon; FONT-SIZE: 10pt" lang=RU&gt;"&lt;/SPAN&gt;&lt;SPAN style="FONT-FAMILY: 'Courier New'; COLOR: maroon; FONT-SIZE: 10pt; mso-ansi-language: en-us"&gt;LoadDirWithFileContent&lt;/SPAN&gt;&lt;SPAN style="FONT-FAMILY: 'Courier New'; COLOR: maroon; FONT-SIZE: 10pt" lang=RU&gt;"&lt;/SPAN&gt;&lt;SPAN style="FONT-FAMILY: 'Courier New'; COLOR: black; FONT-SIZE: 10pt" lang=RU&gt; &lt;/SPAN&gt;&lt;SPAN style="FONT-FAMILY: 'Courier New'; COLOR: green; FONT-SIZE: 10pt" lang=RU&gt;#метод, как он называется в библиотеке классов&lt;o:p&gt;&lt;/o:p&gt;&lt;/SPAN&gt;&lt;/P&gt;
&lt;P style="LINE-HEIGHT: normal; MARGIN: 0in 0in 0pt; mso-layout-grid-align: none" class=MsoNormal&gt;&lt;SPAN style="FONT-FAMILY: 'Courier New'; COLOR: purple; FONT-SIZE: 10pt; mso-ansi-language: en-us"&gt;$o&lt;/SPAN&gt;&lt;SPAN style="FONT-FAMILY: 'Courier New'; COLOR: black; FONT-SIZE: 10pt; mso-ansi-language: en-us"&gt; &lt;/SPAN&gt;&lt;SPAN style="FONT-FAMILY: 'Courier New'; COLOR: red; FONT-SIZE: 10pt; mso-ansi-language: en-us"&gt;=&lt;/SPAN&gt;&lt;SPAN style="FONT-FAMILY: 'Courier New'; COLOR: black; FONT-SIZE: 10pt; mso-ansi-language: en-us"&gt; &lt;/SPAN&gt;&lt;B&gt;&lt;SPAN style="FONT-FAMILY: 'Courier New'; COLOR: cadetblue; FONT-SIZE: 10pt; mso-ansi-language: en-us"&gt;New-Object&lt;/SPAN&gt;&lt;/B&gt;&lt;SPAN style="FONT-FAMILY: 'Courier New'; COLOR: black; FONT-SIZE: 10pt; mso-ansi-language: en-us"&gt; &lt;/SPAN&gt;&lt;I&gt;&lt;SPAN style="FONT-FAMILY: 'Courier New'; COLOR: cadetblue; FONT-SIZE: 10pt; mso-ansi-language: en-us"&gt;-TypeName&lt;/SPAN&gt;&lt;/I&gt;&lt;SPAN style="FONT-FAMILY: 'Courier New'; COLOR: black; FONT-SIZE: 10pt; mso-ansi-language: en-us"&gt; &lt;/SPAN&gt;&lt;SPAN style="FONT-FAMILY: 'Courier New'; COLOR: maroon; FONT-SIZE: 10pt; mso-ansi-language: en-us"&gt;"Microsoft.SqlServer.Management.Smo.StoredProcedureParameter"&lt;/SPAN&gt;&lt;SPAN style="FONT-FAMILY: 'Courier New'; COLOR: black; FONT-SIZE: 10pt; mso-ansi-language: en-us"&gt; &lt;/SPAN&gt;&lt;I&gt;&lt;SPAN style="FONT-FAMILY: 'Courier New'; COLOR: cadetblue; FONT-SIZE: 10pt; mso-ansi-language: en-us"&gt;-ArgumentList&lt;/SPAN&gt;&lt;/I&gt;&lt;SPAN style="FONT-FAMILY: 'Courier New'; COLOR: black; FONT-SIZE: 10pt; mso-ansi-language: en-us"&gt; &lt;/SPAN&gt;&lt;SPAN style="FONT-FAMILY: 'Courier New'; COLOR: purple; FONT-SIZE: 10pt; mso-ansi-language: en-us"&gt;$sp&lt;/SPAN&gt;&lt;SPAN style="FONT-FAMILY: 'Courier New'; COLOR: black; FONT-SIZE: 10pt; mso-ansi-language: en-us"&gt;, &lt;/SPAN&gt;&lt;SPAN style="FONT-FAMILY: 'Courier New'; COLOR: maroon; FONT-SIZE: 10pt; mso-ansi-language: en-us"&gt;"@folder"&lt;/SPAN&gt;&lt;SPAN style="FONT-FAMILY: 'Courier New'; COLOR: black; FONT-SIZE: 10pt; mso-ansi-language: en-us"&gt;, $([Microsoft.SqlServer.Management.Smo.DataType]::NVarChar(255))&lt;o:p&gt;&lt;/o:p&gt;&lt;/SPAN&gt;&lt;/P&gt;
&lt;P style="LINE-HEIGHT: normal; MARGIN: 0in 0in 0pt; mso-layout-grid-align: none" class=MsoNormal&gt;&lt;SPAN style="FONT-FAMILY: 'Courier New'; COLOR: purple; FONT-SIZE: 10pt; mso-ansi-language: en-us"&gt;$sp&lt;/SPAN&gt;&lt;SPAN style="FONT-FAMILY: 'Courier New'; COLOR: black; FONT-SIZE: 10pt; mso-ansi-language: en-us"&gt;.Parameters.Add(&lt;/SPAN&gt;&lt;SPAN style="FONT-FAMILY: 'Courier New'; COLOR: purple; FONT-SIZE: 10pt; mso-ansi-language: en-us"&gt;$o&lt;/SPAN&gt;&lt;SPAN style="FONT-FAMILY: 'Courier New'; COLOR: black; FONT-SIZE: 10pt; mso-ansi-language: en-us"&gt;)&lt;o:p&gt;&lt;/o:p&gt;&lt;/SPAN&gt;&lt;/P&gt;
&lt;P style="LINE-HEIGHT: normal; MARGIN: 0in 0in 0pt; mso-layout-grid-align: none" class=MsoNormal&gt;&lt;SPAN style="FONT-FAMILY: 'Courier New'; COLOR: purple; FONT-SIZE: 10pt; mso-ansi-language: en-us"&gt;$o&lt;/SPAN&gt;&lt;SPAN style="FONT-FAMILY: 'Courier New'; COLOR: black; FONT-SIZE: 10pt; mso-ansi-language: en-us"&gt; &lt;/SPAN&gt;&lt;SPAN style="FONT-FAMILY: 'Courier New'; COLOR: red; FONT-SIZE: 10pt; mso-ansi-language: en-us"&gt;=&lt;/SPAN&gt;&lt;SPAN style="FONT-FAMILY: 'Courier New'; COLOR: black; FONT-SIZE: 10pt; mso-ansi-language: en-us"&gt; &lt;/SPAN&gt;&lt;B&gt;&lt;SPAN style="FONT-FAMILY: 'Courier New'; COLOR: cadetblue; FONT-SIZE: 10pt; mso-ansi-language: en-us"&gt;New-Object&lt;/SPAN&gt;&lt;/B&gt;&lt;SPAN style="FONT-FAMILY: 'Courier New'; COLOR: black; FONT-SIZE: 10pt; mso-ansi-language: en-us"&gt; &lt;/SPAN&gt;&lt;I&gt;&lt;SPAN style="FONT-FAMILY: 'Courier New'; COLOR: cadetblue; FONT-SIZE: 10pt; mso-ansi-language: en-us"&gt;-TypeName&lt;/SPAN&gt;&lt;/I&gt;&lt;SPAN style="FONT-FAMILY: 'Courier New'; COLOR: black; FONT-SIZE: 10pt; mso-ansi-language: en-us"&gt; &lt;/SPAN&gt;&lt;SPAN style="FONT-FAMILY: 'Courier New'; COLOR: maroon; FONT-SIZE: 10pt; mso-ansi-language: en-us"&gt;"Microsoft.SqlServer.Management.Smo.StoredProcedureParameter"&lt;/SPAN&gt;&lt;SPAN style="FONT-FAMILY: 'Courier New'; COLOR: black; FONT-SIZE: 10pt; mso-ansi-language: en-us"&gt; &lt;/SPAN&gt;&lt;I&gt;&lt;SPAN style="FONT-FAMILY: 'Courier New'; COLOR: cadetblue; FONT-SIZE: 10pt; mso-ansi-language: en-us"&gt;-ArgumentList&lt;/SPAN&gt;&lt;/I&gt;&lt;SPAN style="FONT-FAMILY: 'Courier New'; COLOR: black; FONT-SIZE: 10pt; mso-ansi-language: en-us"&gt; &lt;/SPAN&gt;&lt;SPAN style="FONT-FAMILY: 'Courier New'; COLOR: purple; FONT-SIZE: 10pt; mso-ansi-language: en-us"&gt;$sp&lt;/SPAN&gt;&lt;SPAN style="FONT-FAMILY: 'Courier New'; COLOR: black; FONT-SIZE: 10pt; mso-ansi-language: en-us"&gt;, &lt;/SPAN&gt;&lt;SPAN style="FONT-FAMILY: 'Courier New'; COLOR: maroon; FONT-SIZE: 10pt; mso-ansi-language: en-us"&gt;"@shallowTraversal"&lt;/SPAN&gt;&lt;SPAN style="FONT-FAMILY: 'Courier New'; COLOR: black; FONT-SIZE: 10pt; mso-ansi-language: en-us"&gt;, $([Microsoft.SqlServer.Management.Smo.DataType]::Bit)&lt;o:p&gt;&lt;/o:p&gt;&lt;/SPAN&gt;&lt;/P&gt;
&lt;P style="LINE-HEIGHT: normal; MARGIN: 0in 0in 0pt; mso-layout-grid-align: none" class=MsoNormal&gt;&lt;SPAN style="FONT-FAMILY: 'Courier New'; COLOR: purple; FONT-SIZE: 10pt; mso-ansi-language: en-us"&gt;$sp&lt;/SPAN&gt;&lt;SPAN style="FONT-FAMILY: 'Courier New'; COLOR: black; FONT-SIZE: 10pt; mso-ansi-language: en-us"&gt;.Parameters.Add(&lt;/SPAN&gt;&lt;SPAN style="FONT-FAMILY: 'Courier New'; COLOR: purple; FONT-SIZE: 10pt; mso-ansi-language: en-us"&gt;$o&lt;/SPAN&gt;&lt;SPAN style="FONT-FAMILY: 'Courier New'; COLOR: black; FONT-SIZE: 10pt; mso-ansi-language: en-us"&gt;)&lt;o:p&gt;&lt;/o:p&gt;&lt;/SPAN&gt;&lt;/P&gt;
&lt;P style="LINE-HEIGHT: normal; MARGIN: 0in 0in 0pt; mso-layout-grid-align: none" class=MsoNormal&gt;&lt;SPAN style="FONT-FAMILY: 'Courier New'; COLOR: purple; FONT-SIZE: 10pt; mso-ansi-language: en-us"&gt;$o&lt;/SPAN&gt;&lt;SPAN style="FONT-FAMILY: 'Courier New'; COLOR: black; FONT-SIZE: 10pt; mso-ansi-language: en-us"&gt; &lt;/SPAN&gt;&lt;SPAN style="FONT-FAMILY: 'Courier New'; COLOR: red; FONT-SIZE: 10pt; mso-ansi-language: en-us"&gt;=&lt;/SPAN&gt;&lt;SPAN style="FONT-FAMILY: 'Courier New'; COLOR: black; FONT-SIZE: 10pt; mso-ansi-language: en-us"&gt; &lt;/SPAN&gt;&lt;B&gt;&lt;SPAN style="FONT-FAMILY: 'Courier New'; COLOR: cadetblue; FONT-SIZE: 10pt; mso-ansi-language: en-us"&gt;New-Object&lt;/SPAN&gt;&lt;/B&gt;&lt;SPAN style="FONT-FAMILY: 'Courier New'; COLOR: black; FONT-SIZE: 10pt; mso-ansi-language: en-us"&gt; &lt;/SPAN&gt;&lt;I&gt;&lt;SPAN style="FONT-FAMILY: 'Courier New'; COLOR: cadetblue; FONT-SIZE: 10pt; mso-ansi-language: en-us"&gt;-TypeName&lt;/SPAN&gt;&lt;/I&gt;&lt;SPAN style="FONT-FAMILY: 'Courier New'; COLOR: black; FONT-SIZE: 10pt; mso-ansi-language: en-us"&gt; &lt;/SPAN&gt;&lt;SPAN style="FONT-FAMILY: 'Courier New'; COLOR: maroon; FONT-SIZE: 10pt; mso-ansi-language: en-us"&gt;"Microsoft.SqlServer.Management.Smo.StoredProcedureParameter"&lt;/SPAN&gt;&lt;SPAN style="FONT-FAMILY: 'Courier New'; COLOR: black; FONT-SIZE: 10pt; mso-ansi-language: en-us"&gt; &lt;/SPAN&gt;&lt;I&gt;&lt;SPAN style="FONT-FAMILY: 'Courier New'; COLOR: cadetblue; FONT-SIZE: 10pt; mso-ansi-language: en-us"&gt;-ArgumentList&lt;/SPAN&gt;&lt;/I&gt;&lt;SPAN style="FONT-FAMILY: 'Courier New'; COLOR: black; FONT-SIZE: 10pt; mso-ansi-language: en-us"&gt; &lt;/SPAN&gt;&lt;SPAN style="FONT-FAMILY: 'Courier New'; COLOR: purple; FONT-SIZE: 10pt; mso-ansi-language: en-us"&gt;$sp&lt;/SPAN&gt;&lt;SPAN style="FONT-FAMILY: 'Courier New'; COLOR: black; FONT-SIZE: 10pt; mso-ansi-language: en-us"&gt;, &lt;/SPAN&gt;&lt;SPAN style="FONT-FAMILY: 'Courier New'; COLOR: maroon; FONT-SIZE: 10pt; mso-ansi-language: en-us"&gt;"@tblName"&lt;/SPAN&gt;&lt;SPAN style="FONT-FAMILY: 'Courier New'; COLOR: black; FONT-SIZE: 10pt; mso-ansi-language: en-us"&gt;, $([Microsoft.SqlServer.Management.Smo.DataType]::SysName)&lt;o:p&gt;&lt;/o:p&gt;&lt;/SPAN&gt;&lt;/P&gt;
&lt;P style="LINE-HEIGHT: normal; MARGIN: 0in 0in 0pt; mso-layout-grid-align: none" class=MsoNormal&gt;&lt;SPAN style="FONT-FAMILY: 'Courier New'; COLOR: purple; FONT-SIZE: 10pt; mso-ansi-language: en-us"&gt;$sp&lt;/SPAN&gt;&lt;SPAN style="FONT-FAMILY: 'Courier New'; COLOR: black; FONT-SIZE: 10pt; mso-ansi-language: en-us"&gt;.Parameters.Add(&lt;/SPAN&gt;&lt;SPAN style="FONT-FAMILY: 'Courier New'; COLOR: purple; FONT-SIZE: 10pt; mso-ansi-language: en-us"&gt;$o&lt;/SPAN&gt;&lt;SPAN style="FONT-FAMILY: 'Courier New'; COLOR: black; FONT-SIZE: 10pt; mso-ansi-language: en-us"&gt;)&lt;o:p&gt;&lt;/o:p&gt;&lt;/SPAN&gt;&lt;/P&gt;
&lt;P style="LINE-HEIGHT: normal; MARGIN: 0in 0in 0pt; mso-layout-grid-align: none" class=MsoNormal&gt;&lt;SPAN style="FONT-FAMILY: 'Courier New'; COLOR: purple; FONT-SIZE: 10pt; mso-ansi-language: en-us"&gt;$sp&lt;/SPAN&gt;&lt;SPAN style="FONT-FAMILY: 'Courier New'; COLOR: black; FONT-SIZE: 10pt; mso-ansi-language: en-us"&gt;.&lt;/SPAN&gt;&lt;SPAN style="FONT-FAMILY: 'Courier New'; COLOR: saddlebrown; FONT-SIZE: 10pt; mso-ansi-language: en-us"&gt;Create&lt;/SPAN&gt;&lt;SPAN style="FONT-FAMILY: 'Courier New'; COLOR: black; FONT-SIZE: 10pt; mso-ansi-language: en-us"&gt;()&lt;o:p&gt;&lt;/o:p&gt;&lt;/SPAN&gt;&lt;/P&gt;
&lt;P style="LINE-HEIGHT: normal; MARGIN: 0in 0in 0pt; mso-layout-grid-align: none" class=MsoNormal&gt;&lt;SPAN style="FONT-FAMILY: 'Courier New'; COLOR: black; FONT-SIZE: 10pt; mso-ansi-language: en-us"&gt;&lt;o:p&gt;&amp;nbsp;&lt;/o:p&gt;&lt;/SPAN&gt;&lt;/P&gt;
&lt;P style="LINE-HEIGHT: normal; MARGIN: 0in 0in 0pt; mso-layout-grid-align: none" class=MsoNormal&gt;&lt;SPAN style="FONT-FAMILY: 'Courier New'; COLOR: green; FONT-SIZE: 10pt; mso-ansi-language: en-us"&gt;#Создание CLRной скалярной функции&lt;o:p&gt;&lt;/o:p&gt;&lt;/SPAN&gt;&lt;/P&gt;
&lt;P style="LINE-HEIGHT: normal; MARGIN: 0in 0in 0pt; mso-layout-grid-align: none" class=MsoNormal&gt;&lt;SPAN style="FONT-FAMILY: 'Courier New'; COLOR: purple; FONT-SIZE: 10pt; mso-ansi-language: en-us"&gt;$f&lt;/SPAN&gt;&lt;SPAN style="FONT-FAMILY: 'Courier New'; COLOR: black; FONT-SIZE: 10pt; mso-ansi-language: en-us"&gt; &lt;/SPAN&gt;&lt;SPAN style="FONT-FAMILY: 'Courier New'; COLOR: red; FONT-SIZE: 10pt; mso-ansi-language: en-us"&gt;=&lt;/SPAN&gt;&lt;SPAN style="FONT-FAMILY: 'Courier New'; COLOR: black; FONT-SIZE: 10pt; mso-ansi-language: en-us"&gt; &lt;/SPAN&gt;&lt;B&gt;&lt;SPAN style="FONT-FAMILY: 'Courier New'; COLOR: cadetblue; FONT-SIZE: 10pt; mso-ansi-language: en-us"&gt;New-Object&lt;/SPAN&gt;&lt;/B&gt;&lt;SPAN style="FONT-FAMILY: 'Courier New'; COLOR: black; FONT-SIZE: 10pt; mso-ansi-language: en-us"&gt; &lt;/SPAN&gt;&lt;I&gt;&lt;SPAN style="FONT-FAMILY: 'Courier New'; COLOR: cadetblue; FONT-SIZE: 10pt; mso-ansi-language: en-us"&gt;-TypeName&lt;/SPAN&gt;&lt;/I&gt;&lt;SPAN style="FONT-FAMILY: 'Courier New'; COLOR: black; FONT-SIZE: 10pt; mso-ansi-language: en-us"&gt; &lt;/SPAN&gt;&lt;SPAN style="FONT-FAMILY: 'Courier New'; COLOR: maroon; FONT-SIZE: 10pt; mso-ansi-language: en-us"&gt;"Microsoft.SqlServer.Management.Smo.UserDefinedFunction"&lt;/SPAN&gt;&lt;SPAN style="FONT-FAMILY: 'Courier New'; COLOR: black; FONT-SIZE: 10pt; mso-ansi-language: en-us"&gt;&lt;o:p&gt;&lt;/o:p&gt;&lt;/SPAN&gt;&lt;/P&gt;
&lt;P style="LINE-HEIGHT: normal; MARGIN: 0in 0in 0pt; mso-layout-grid-align: none" class=MsoNormal&gt;&lt;SPAN style="FONT-FAMILY: 'Courier New'; COLOR: purple; FONT-SIZE: 10pt; mso-ansi-language: en-us"&gt;$f&lt;/SPAN&gt;&lt;SPAN style="FONT-FAMILY: 'Courier New'; COLOR: black; FONT-SIZE: 10pt; mso-ansi-language: en-us"&gt;.Parent &lt;/SPAN&gt;&lt;SPAN style="FONT-FAMILY: 'Courier New'; COLOR: red; FONT-SIZE: 10pt; mso-ansi-language: en-us"&gt;=&lt;/SPAN&gt;&lt;SPAN style="FONT-FAMILY: 'Courier New'; COLOR: black; FONT-SIZE: 10pt; mso-ansi-language: en-us"&gt; &lt;/SPAN&gt;&lt;SPAN style="FONT-FAMILY: 'Courier New'; COLOR: purple; FONT-SIZE: 10pt; mso-ansi-language: en-us"&gt;$db&lt;/SPAN&gt;&lt;SPAN style="FONT-FAMILY: 'Courier New'; COLOR: black; FONT-SIZE: 10pt; mso-ansi-language: en-us"&gt;; &lt;/SPAN&gt;&lt;SPAN style="FONT-FAMILY: 'Courier New'; COLOR: purple; FONT-SIZE: 10pt; mso-ansi-language: en-us"&gt;$f&lt;/SPAN&gt;&lt;SPAN style="FONT-FAMILY: 'Courier New'; COLOR: black; FONT-SIZE: 10pt; mso-ansi-language: en-us"&gt;.Name &lt;/SPAN&gt;&lt;SPAN style="FONT-FAMILY: 'Courier New'; COLOR: red; FONT-SIZE: 10pt; mso-ansi-language: en-us"&gt;=&lt;/SPAN&gt;&lt;SPAN style="FONT-FAMILY: 'Courier New'; COLOR: black; FONT-SIZE: 10pt; mso-ansi-language: en-us"&gt; &lt;/SPAN&gt;&lt;SPAN style="FONT-FAMILY: 'Courier New'; COLOR: maroon; FONT-SIZE: 10pt; mso-ansi-language: en-us"&gt;"GetFileExtension"&lt;/SPAN&gt;&lt;SPAN style="FONT-FAMILY: 'Courier New'; COLOR: black; FONT-SIZE: 10pt; mso-ansi-language: en-us"&gt;&lt;o:p&gt;&lt;/o:p&gt;&lt;/SPAN&gt;&lt;/P&gt;
&lt;P style="LINE-HEIGHT: normal; MARGIN: 0in 0in 0pt; mso-layout-grid-align: none" class=MsoNormal&gt;&lt;SPAN style="FONT-FAMILY: 'Courier New'; COLOR: purple; FONT-SIZE: 10pt; mso-ansi-language: en-us"&gt;$f&lt;/SPAN&gt;&lt;SPAN style="FONT-FAMILY: 'Courier New'; COLOR: black; FONT-SIZE: 10pt; mso-ansi-language: en-us"&gt;.TextMode &lt;/SPAN&gt;&lt;SPAN style="FONT-FAMILY: 'Courier New'; COLOR: red; FONT-SIZE: 10pt; mso-ansi-language: en-us"&gt;=&lt;/SPAN&gt;&lt;SPAN style="FONT-FAMILY: 'Courier New'; COLOR: black; FONT-SIZE: 10pt; mso-ansi-language: en-us"&gt; &lt;/SPAN&gt;&lt;SPAN style="FONT-FAMILY: 'Courier New'; COLOR: blue; FONT-SIZE: 10pt; mso-ansi-language: en-us"&gt;$false&lt;/SPAN&gt;&lt;SPAN style="FONT-FAMILY: 'Courier New'; COLOR: black; FONT-SIZE: 10pt; mso-ansi-language: en-us"&gt;&lt;o:p&gt;&lt;/o:p&gt;&lt;/SPAN&gt;&lt;/P&gt;
&lt;P style="LINE-HEIGHT: normal; MARGIN: 0in 0in 0pt; mso-layout-grid-align: none" class=MsoNormal&gt;&lt;SPAN style="FONT-FAMILY: 'Courier New'; COLOR: purple; FONT-SIZE: 10pt; mso-ansi-language: en-us"&gt;$f&lt;/SPAN&gt;&lt;SPAN style="FONT-FAMILY: 'Courier New'; COLOR: black; FONT-SIZE: 10pt; mso-ansi-language: en-us"&gt;.ImplementationType &lt;/SPAN&gt;&lt;SPAN style="FONT-FAMILY: 'Courier New'; COLOR: red; FONT-SIZE: 10pt; mso-ansi-language: en-us"&gt;=&lt;/SPAN&gt;&lt;SPAN style="FONT-FAMILY: 'Courier New'; COLOR: black; FONT-SIZE: 10pt; mso-ansi-language: en-us"&gt; [Microsoft.SqlServer.Management.Smo.ImplementationType]::SqlClr&lt;o:p&gt;&lt;/o:p&gt;&lt;/SPAN&gt;&lt;/P&gt;
&lt;P style="LINE-HEIGHT: normal; MARGIN: 0in 0in 0pt; mso-layout-grid-align: none" class=MsoNormal&gt;&lt;SPAN style="FONT-FAMILY: 'Courier New'; COLOR: purple; FONT-SIZE: 10pt; mso-ansi-language: en-us"&gt;$f&lt;/SPAN&gt;&lt;SPAN style="FONT-FAMILY: 'Courier New'; COLOR: black; FONT-SIZE: 10pt; mso-ansi-language: en-us"&gt;.AssemblyName &lt;/SPAN&gt;&lt;SPAN style="FONT-FAMILY: 'Courier New'; COLOR: red; FONT-SIZE: 10pt; mso-ansi-language: en-us"&gt;=&lt;/SPAN&gt;&lt;SPAN style="FONT-FAMILY: 'Courier New'; COLOR: black; FONT-SIZE: 10pt; mso-ansi-language: en-us"&gt; &lt;/SPAN&gt;&lt;SPAN style="FONT-FAMILY: 'Courier New'; COLOR: purple; FONT-SIZE: 10pt; mso-ansi-language: en-us"&gt;$asm&lt;/SPAN&gt;&lt;SPAN style="FONT-FAMILY: 'Courier New'; COLOR: black; FONT-SIZE: 10pt; mso-ansi-language: en-us"&gt;.Name&lt;o:p&gt;&lt;/o:p&gt;&lt;/SPAN&gt;&lt;/P&gt;
&lt;P style="LINE-HEIGHT: normal; MARGIN: 0in 0in 0pt; mso-layout-grid-align: none" class=MsoNormal&gt;&lt;SPAN style="FONT-FAMILY: 'Courier New'; COLOR: purple; FONT-SIZE: 10pt; mso-ansi-language: en-us"&gt;$f&lt;/SPAN&gt;&lt;SPAN style="FONT-FAMILY: 'Courier New'; COLOR: black; FONT-SIZE: 10pt; mso-ansi-language: en-us"&gt;.ClassName &lt;/SPAN&gt;&lt;SPAN style="FONT-FAMILY: 'Courier New'; COLOR: red; FONT-SIZE: 10pt; mso-ansi-language: en-us"&gt;=&lt;/SPAN&gt;&lt;SPAN style="FONT-FAMILY: 'Courier New'; COLOR: black; FONT-SIZE: 10pt; mso-ansi-language: en-us"&gt; &lt;/SPAN&gt;&lt;SPAN style="FONT-FAMILY: 'Courier New'; COLOR: maroon; FONT-SIZE: 10pt; mso-ansi-language: en-us"&gt;"FileSystem"&lt;/SPAN&gt;&lt;SPAN style="FONT-FAMILY: 'Courier New'; COLOR: black; FONT-SIZE: 10pt; mso-ansi-language: en-us"&gt; &lt;o:p&gt;&lt;/o:p&gt;&lt;/SPAN&gt;&lt;/P&gt;
&lt;P style="LINE-HEIGHT: normal; MARGIN: 0in 0in 0pt; mso-layout-grid-align: none" class=MsoNormal&gt;&lt;SPAN style="FONT-FAMILY: 'Courier New'; COLOR: purple; FONT-SIZE: 10pt; mso-ansi-language: en-us"&gt;$f&lt;/SPAN&gt;&lt;SPAN style="FONT-FAMILY: 'Courier New'; COLOR: black; FONT-SIZE: 10pt; mso-ansi-language: en-us"&gt;.MethodName &lt;/SPAN&gt;&lt;SPAN style="FONT-FAMILY: 'Courier New'; COLOR: red; FONT-SIZE: 10pt; mso-ansi-language: en-us"&gt;=&lt;/SPAN&gt;&lt;SPAN style="FONT-FAMILY: 'Courier New'; COLOR: black; FONT-SIZE: 10pt; mso-ansi-language: en-us"&gt; &lt;/SPAN&gt;&lt;SPAN style="FONT-FAMILY: 'Courier New'; COLOR: maroon; FONT-SIZE: 10pt; mso-ansi-language: en-us"&gt;"GetFileExtension"&lt;/SPAN&gt;&lt;SPAN style="FONT-FAMILY: 'Courier New'; COLOR: black; FONT-SIZE: 10pt; mso-ansi-language: en-us"&gt; &lt;o:p&gt;&lt;/o:p&gt;&lt;/SPAN&gt;&lt;/P&gt;
&lt;P style="LINE-HEIGHT: normal; MARGIN: 0in 0in 0pt; mso-layout-grid-align: none" class=MsoNormal&gt;&lt;SPAN style="FONT-FAMILY: 'Courier New'; COLOR: purple; FONT-SIZE: 10pt; mso-ansi-language: en-us"&gt;$o&lt;/SPAN&gt;&lt;SPAN style="FONT-FAMILY: 'Courier New'; COLOR: black; FONT-SIZE: 10pt; mso-ansi-language: en-us"&gt; &lt;/SPAN&gt;&lt;SPAN style="FONT-FAMILY: 'Courier New'; COLOR: red; FONT-SIZE: 10pt; mso-ansi-language: en-us"&gt;=&lt;/SPAN&gt;&lt;SPAN style="FONT-FAMILY: 'Courier New'; COLOR: black; FONT-SIZE: 10pt; mso-ansi-language: en-us"&gt; &lt;/SPAN&gt;&lt;B&gt;&lt;SPAN style="FONT-FAMILY: 'Courier New'; COLOR: cadetblue; FONT-SIZE: 10pt; mso-ansi-language: en-us"&gt;New-Object&lt;/SPAN&gt;&lt;/B&gt;&lt;SPAN style="FONT-FAMILY: 'Courier New'; COLOR: black; FONT-SIZE: 10pt; mso-ansi-language: en-us"&gt; &lt;/SPAN&gt;&lt;I&gt;&lt;SPAN style="FONT-FAMILY: 'Courier New'; COLOR: cadetblue; FONT-SIZE: 10pt; mso-ansi-language: en-us"&gt;-TypeName&lt;/SPAN&gt;&lt;/I&gt;&lt;SPAN style="FONT-FAMILY: 'Courier New'; COLOR: black; FONT-SIZE: 10pt; mso-ansi-language: en-us"&gt; &lt;/SPAN&gt;&lt;SPAN style="FONT-FAMILY: 'Courier New'; COLOR: maroon; FONT-SIZE: 10pt; mso-ansi-language: en-us"&gt;"Microsoft.SqlServer.Management.Smo.UserDefinedFunctionParameter"&lt;/SPAN&gt;&lt;SPAN style="FONT-FAMILY: 'Courier New'; COLOR: black; FONT-SIZE: 10pt; mso-ansi-language: en-us"&gt; &lt;o:p&gt;&lt;/o:p&gt;&lt;/SPAN&gt;&lt;/P&gt;
&lt;P style="LINE-HEIGHT: normal; MARGIN: 0in 0in 0pt; mso-layout-grid-align: none" class=MsoNormal&gt;&lt;SPAN style="FONT-FAMILY: 'Courier New'; COLOR: purple; FONT-SIZE: 10pt; mso-ansi-language: en-us"&gt;$o&lt;/SPAN&gt;&lt;SPAN style="FONT-FAMILY: 'Courier New'; COLOR: black; FONT-SIZE: 10pt; mso-ansi-language: en-us"&gt;.Name &lt;/SPAN&gt;&lt;SPAN style="FONT-FAMILY: 'Courier New'; COLOR: red; FONT-SIZE: 10pt; mso-ansi-language: en-us"&gt;=&lt;/SPAN&gt;&lt;SPAN style="FONT-FAMILY: 'Courier New'; COLOR: black; FONT-SIZE: 10pt; mso-ansi-language: en-us"&gt; &lt;/SPAN&gt;&lt;SPAN style="FONT-FAMILY: 'Courier New'; COLOR: maroon; FONT-SIZE: 10pt; mso-ansi-language: en-us"&gt;"@fileName"&lt;/SPAN&gt;&lt;SPAN style="FONT-FAMILY: 'Courier New'; COLOR: black; FONT-SIZE: 10pt; mso-ansi-language: en-us"&gt;; &lt;/SPAN&gt;&lt;SPAN style="FONT-FAMILY: 'Courier New'; COLOR: purple; FONT-SIZE: 10pt; mso-ansi-language: en-us"&gt;$o&lt;/SPAN&gt;&lt;SPAN style="FONT-FAMILY: 'Courier New'; COLOR: black; FONT-SIZE: 10pt; mso-ansi-language: en-us"&gt;.Parent &lt;/SPAN&gt;&lt;SPAN style="FONT-FAMILY: 'Courier New'; COLOR: red; FONT-SIZE: 10pt; mso-ansi-language: en-us"&gt;=&lt;/SPAN&gt;&lt;SPAN style="FONT-FAMILY: 'Courier New'; COLOR: black; FONT-SIZE: 10pt; mso-ansi-language: en-us"&gt; &lt;/SPAN&gt;&lt;SPAN style="FONT-FAMILY: 'Courier New'; COLOR: purple; FONT-SIZE: 10pt; mso-ansi-language: en-us"&gt;$f&lt;/SPAN&gt;&lt;SPAN style="FONT-FAMILY: 'Courier New'; COLOR: black; FONT-SIZE: 10pt; mso-ansi-language: en-us"&gt;; &lt;/SPAN&gt;&lt;SPAN style="FONT-FAMILY: 'Courier New'; COLOR: green; FONT-SIZE: 10pt; mso-ansi-language: en-us"&gt;#без этого не даст присвоить DataType параметру&lt;o:p&gt;&lt;/o:p&gt;&lt;/SPAN&gt;&lt;/P&gt;
&lt;P style="LINE-HEIGHT: normal; MARGIN: 0in 0in 0pt; mso-layout-grid-align: none" class=MsoNormal&gt;&lt;SPAN style="FONT-FAMILY: 'Courier New'; COLOR: purple; FONT-SIZE: 10pt; mso-ansi-language: en-us"&gt;$o&lt;/SPAN&gt;&lt;SPAN style="FONT-FAMILY: 'Courier New'; COLOR: black; FONT-SIZE: 10pt; mso-ansi-language: en-us"&gt;.DataType &lt;/SPAN&gt;&lt;SPAN style="FONT-FAMILY: 'Courier New'; COLOR: red; FONT-SIZE: 10pt; mso-ansi-language: en-us"&gt;=&lt;/SPAN&gt;&lt;SPAN style="FONT-FAMILY: 'Courier New'; COLOR: black; FONT-SIZE: 10pt; mso-ansi-language: en-us"&gt; [Microsoft.SqlServer.Management.Smo.DataType]::NVarChar(266) &lt;o:p&gt;&lt;/o:p&gt;&lt;/SPAN&gt;&lt;/P&gt;
&lt;P style="LINE-HEIGHT: normal; MARGIN: 0in 0in 0pt; mso-layout-grid-align: none" class=MsoNormal&gt;&lt;SPAN style="FONT-FAMILY: 'Courier New'; COLOR: purple; FONT-SIZE: 10pt; mso-ansi-language: en-us"&gt;$f&lt;/SPAN&gt;&lt;SPAN style="FONT-FAMILY: 'Courier New'; COLOR: black; FONT-SIZE: 10pt; mso-ansi-language: en-us"&gt;.Parameters.Add(&lt;/SPAN&gt;&lt;SPAN style="FONT-FAMILY: 'Courier New'; COLOR: purple; FONT-SIZE: 10pt; mso-ansi-language: en-us"&gt;$o&lt;/SPAN&gt;&lt;SPAN style="FONT-FAMILY: 'Courier New'; COLOR: black; FONT-SIZE: 10pt; mso-ansi-language: en-us"&gt;)&lt;o:p&gt;&lt;/o:p&gt;&lt;/SPAN&gt;&lt;/P&gt;
&lt;P style="LINE-HEIGHT: normal; MARGIN: 0in 0in 0pt; mso-layout-grid-align: none" class=MsoNormal&gt;&lt;SPAN style="FONT-FAMILY: 'Courier New'; COLOR: purple; FONT-SIZE: 10pt; mso-ansi-language: en-us"&gt;$f&lt;/SPAN&gt;&lt;SPAN style="FONT-FAMILY: 'Courier New'; COLOR: black; FONT-SIZE: 10pt; mso-ansi-language: en-us"&gt;.FunctionType &lt;/SPAN&gt;&lt;SPAN style="FONT-FAMILY: 'Courier New'; COLOR: red; FONT-SIZE: 10pt; mso-ansi-language: en-us"&gt;=&lt;/SPAN&gt;&lt;SPAN style="FONT-FAMILY: 'Courier New'; COLOR: black; FONT-SIZE: 10pt; mso-ansi-language: en-us"&gt; [Microsoft.SqlServer.Management.Smo.UserDefinedFunctionType]::Scalar&lt;o:p&gt;&lt;/o:p&gt;&lt;/SPAN&gt;&lt;/P&gt;
&lt;P style="LINE-HEIGHT: normal; MARGIN: 0in 0in 0pt; mso-layout-grid-align: none" class=MsoNormal&gt;&lt;SPAN style="FONT-FAMILY: 'Courier New'; COLOR: purple; FONT-SIZE: 10pt; mso-ansi-language: en-us"&gt;$f&lt;/SPAN&gt;&lt;SPAN style="FONT-FAMILY: 'Courier New'; COLOR: black; FONT-SIZE: 10pt; mso-ansi-language: en-us"&gt;.DataType &lt;/SPAN&gt;&lt;SPAN style="FONT-FAMILY: 'Courier New'; COLOR: red; FONT-SIZE: 10pt; mso-ansi-language: en-us"&gt;=&lt;/SPAN&gt;&lt;SPAN style="FONT-FAMILY: 'Courier New'; COLOR: black; FONT-SIZE: 10pt; mso-ansi-language: en-us"&gt; [Microsoft.SqlServer.Management.Smo.DataType]::NVarChar(5)&lt;o:p&gt;&lt;/o:p&gt;&lt;/SPAN&gt;&lt;/P&gt;
&lt;P style="LINE-HEIGHT: normal; MARGIN: 0in 0in 0pt; mso-layout-grid-align: none" class=MsoNormal&gt;&lt;SPAN style="FONT-FAMILY: 'Courier New'; COLOR: purple; FONT-SIZE: 10pt; mso-ansi-language: en-us"&gt;$f&lt;/SPAN&gt;&lt;SPAN style="FONT-FAMILY: 'Courier New'; COLOR: black; FONT-SIZE: 10pt; mso-ansi-language: en-us"&gt;.&lt;/SPAN&gt;&lt;SPAN style="FONT-FAMILY: 'Courier New'; COLOR: saddlebrown; FONT-SIZE: 10pt; mso-ansi-language: en-us"&gt;Create&lt;/SPAN&gt;&lt;SPAN style="FONT-FAMILY: 'Courier New'; COLOR: black; FONT-SIZE: 10pt; mso-ansi-language: en-us"&gt;()&lt;o:p&gt;&lt;/o:p&gt;&lt;/SPAN&gt;&lt;/P&gt;
&lt;P style="LINE-HEIGHT: normal; MARGIN: 0in 0in 0pt; mso-layout-grid-align: none" class=MsoNormal&gt;&lt;SPAN style="FONT-FAMILY: 'Courier New'; COLOR: black; FONT-SIZE: 10pt; mso-ansi-language: en-us"&gt;&lt;o:p&gt;&amp;nbsp;&lt;/o:p&gt;&lt;/SPAN&gt;&lt;/P&gt;
&lt;P style="LINE-HEIGHT: normal; MARGIN: 0in 0in 0pt; mso-layout-grid-align: none" class=MsoNormal&gt;&lt;SPAN style="FONT-FAMILY: 'Courier New'; COLOR: green; FONT-SIZE: 10pt; mso-ansi-language: en-us"&gt;#Создание CLRной TVF&lt;o:p&gt;&lt;/o:p&gt;&lt;/SPAN&gt;&lt;/P&gt;
&lt;P style="LINE-HEIGHT: normal; MARGIN: 0in 0in 0pt; mso-layout-grid-align: none" class=MsoNormal&gt;&lt;SPAN style="FONT-FAMILY: 'Courier New'; COLOR: purple; FONT-SIZE: 10pt; mso-ansi-language: en-us"&gt;$f&lt;/SPAN&gt;&lt;SPAN style="FONT-FAMILY: 'Courier New'; COLOR: black; FONT-SIZE: 10pt; mso-ansi-language: en-us"&gt; &lt;/SPAN&gt;&lt;SPAN style="FONT-FAMILY: 'Courier New'; COLOR: red; FONT-SIZE: 10pt; mso-ansi-language: en-us"&gt;=&lt;/SPAN&gt;&lt;SPAN style="FONT-FAMILY: 'Courier New'; COLOR: black; FONT-SIZE: 10pt; mso-ansi-language: en-us"&gt; &lt;/SPAN&gt;&lt;B&gt;&lt;SPAN style="FONT-FAMILY: 'Courier New'; COLOR: cadetblue; FONT-SIZE: 10pt; mso-ansi-language: en-us"&gt;New-Object&lt;/SPAN&gt;&lt;/B&gt;&lt;SPAN style="FONT-FAMILY: 'Courier New'; COLOR: black; FONT-SIZE: 10pt; mso-ansi-language: en-us"&gt; &lt;/SPAN&gt;&lt;I&gt;&lt;SPAN style="FONT-FAMILY: 'Courier New'; COLOR: cadetblue; FONT-SIZE: 10pt; mso-ansi-language: en-us"&gt;-TypeName&lt;/SPAN&gt;&lt;/I&gt;&lt;SPAN style="FONT-FAMILY: 'Courier New'; COLOR: black; FONT-SIZE: 10pt; mso-ansi-language: en-us"&gt; &lt;/SPAN&gt;&lt;SPAN style="FONT-FAMILY: 'Courier New'; COLOR: maroon; FONT-SIZE: 10pt; mso-ansi-language: en-us"&gt;"Microsoft.SqlServer.Management.Smo.UserDefinedFunction"&lt;/SPAN&gt;&lt;SPAN style="FONT-FAMILY: 'Courier New'; COLOR: black; FONT-SIZE: 10pt; mso-ansi-language: en-us"&gt; &lt;/SPAN&gt;&lt;I&gt;&lt;SPAN style="FONT-FAMILY: 'Courier New'; COLOR: cadetblue; FONT-SIZE: 10pt; mso-ansi-language: en-us"&gt;-ArgumentList&lt;/SPAN&gt;&lt;/I&gt;&lt;SPAN style="FONT-FAMILY: 'Courier New'; COLOR: black; FONT-SIZE: 10pt; mso-ansi-language: en-us"&gt; &lt;/SPAN&gt;&lt;SPAN style="FONT-FAMILY: 'Courier New'; COLOR: purple; FONT-SIZE: 10pt; mso-ansi-language: en-us"&gt;$db&lt;/SPAN&gt;&lt;SPAN style="FONT-FAMILY: 'Courier New'; COLOR: black; FONT-SIZE: 10pt; mso-ansi-language: en-us"&gt;, &lt;/SPAN&gt;&lt;SPAN style="FONT-FAMILY: 'Courier New'; COLOR: maroon; FONT-SIZE: 10pt; mso-ansi-language: en-us"&gt;"Dir"&lt;/SPAN&gt;&lt;SPAN style="FONT-FAMILY: 'Courier New'; COLOR: black; FONT-SIZE: 10pt; mso-ansi-language: en-us"&gt;&lt;o:p&gt;&lt;/o:p&gt;&lt;/SPAN&gt;&lt;/P&gt;
&lt;P style="LINE-HEIGHT: normal; MARGIN: 0in 0in 0pt; mso-layout-grid-align: none" class=MsoNormal&gt;&lt;SPAN style="FONT-FAMILY: 'Courier New'; COLOR: purple; FONT-SIZE: 10pt; mso-ansi-language: en-us"&gt;$f&lt;/SPAN&gt;&lt;SPAN style="FONT-FAMILY: 'Courier New'; COLOR: black; FONT-SIZE: 10pt; mso-ansi-language: en-us"&gt;.TextMode &lt;/SPAN&gt;&lt;SPAN style="FONT-FAMILY: 'Courier New'; COLOR: red; FONT-SIZE: 10pt; mso-ansi-language: en-us"&gt;=&lt;/SPAN&gt;&lt;SPAN style="FONT-FAMILY: 'Courier New'; COLOR: black; FONT-SIZE: 10pt; mso-ansi-language: en-us"&gt; &lt;/SPAN&gt;&lt;SPAN style="FONT-FAMILY: 'Courier New'; COLOR: blue; FONT-SIZE: 10pt; mso-ansi-language: en-us"&gt;$false&lt;/SPAN&gt;&lt;SPAN style="FONT-FAMILY: 'Courier New'; COLOR: black; FONT-SIZE: 10pt; mso-ansi-language: en-us"&gt;&lt;o:p&gt;&lt;/o:p&gt;&lt;/SPAN&gt;&lt;/P&gt;
&lt;P style="LINE-HEIGHT: normal; MARGIN: 0in 0in 0pt; mso-layout-grid-align: none" class=MsoNormal&gt;&lt;SPAN style="FONT-FAMILY: 'Courier New'; COLOR: purple; FONT-SIZE: 10pt; mso-ansi-language: en-us"&gt;$f&lt;/SPAN&gt;&lt;SPAN style="FONT-FAMILY: 'Courier New'; COLOR: black; FONT-SIZE: 10pt; mso-ansi-language: en-us"&gt;.ImplementationType &lt;/SPAN&gt;&lt;SPAN style="FONT-FAMILY: 'Courier New'; COLOR: red; FONT-SIZE: 10pt; mso-ansi-language: en-us"&gt;=&lt;/SPAN&gt;&lt;SPAN style="FONT-FAMILY: 'Courier New'; COLOR: black; FONT-SIZE: 10pt; mso-ansi-language: en-us"&gt; [Microsoft.SqlServer.Management.Smo.ImplementationType]::SqlClr&lt;o:p&gt;&lt;/o:p&gt;&lt;/SPAN&gt;&lt;/P&gt;
&lt;P style="LINE-HEIGHT: normal; MARGIN: 0in 0in 0pt; mso-layout-grid-align: none" class=MsoNormal&gt;&lt;SPAN style="FONT-FAMILY: 'Courier New'; COLOR: purple; FONT-SIZE: 10pt; mso-ansi-language: en-us"&gt;$f&lt;/SPAN&gt;&lt;SPAN style="FONT-FAMILY: 'Courier New'; COLOR: black; FONT-SIZE: 10pt; mso-ansi-language: en-us"&gt;.AssemblyName &lt;/SPAN&gt;&lt;SPAN style="FONT-FAMILY: 'Courier New'; COLOR: red; FONT-SIZE: 10pt; mso-ansi-language: en-us"&gt;=&lt;/SPAN&gt;&lt;SPAN style="FONT-FAMILY: 'Courier New'; COLOR: black; FONT-SIZE: 10pt; mso-ansi-language: en-us"&gt; &lt;/SPAN&gt;&lt;SPAN style="FONT-FAMILY: 'Courier New'; COLOR: purple; FONT-SIZE: 10pt; mso-ansi-language: en-us"&gt;$asm&lt;/SPAN&gt;&lt;SPAN style="FONT-FAMILY: 'Courier New'; COLOR: black; FONT-SIZE: 10pt; mso-ansi-language: en-us"&gt;.Name&lt;o:p&gt;&lt;/o:p&gt;&lt;/SPAN&gt;&lt;/P&gt;
&lt;P style="LINE-HEIGHT: normal; MARGIN: 0in 0in 0pt; mso-layout-grid-align: none" class=MsoNormal&gt;&lt;SPAN style="FONT-FAMILY: 'Courier New'; COLOR: purple; FONT-SIZE: 10pt; mso-ansi-language: en-us"&gt;$f&lt;/SPAN&gt;&lt;SPAN style="FONT-FAMILY: 'Courier New'; COLOR: black; FONT-SIZE: 10pt; mso-ansi-language: en-us"&gt;.ClassName &lt;/SPAN&gt;&lt;SPAN style="FONT-FAMILY: 'Courier New'; COLOR: red; FONT-SIZE: 10pt; mso-ansi-language: en-us"&gt;=&lt;/SPAN&gt;&lt;SPAN style="FONT-FAMILY: 'Courier New'; COLOR: black; FONT-SIZE: 10pt; mso-ansi-language: en-us"&gt; &lt;/SPAN&gt;&lt;SPAN style="FONT-FAMILY: 'Courier New'; COLOR: maroon; FONT-SIZE: 10pt; mso-ansi-language: en-us"&gt;"FileSystem"&lt;/SPAN&gt;&lt;SPAN style="FONT-FAMILY: 'Courier New'; COLOR: black; FONT-SIZE: 10pt; mso-ansi-language: en-us"&gt; &lt;o:p&gt;&lt;/o:p&gt;&lt;/SPAN&gt;&lt;/P&gt;
&lt;P style="LINE-HEIGHT: normal; MARGIN: 0in 0in 0pt; mso-layout-grid-align: none" class=MsoNormal&gt;&lt;SPAN style="FONT-FAMILY: 'Courier New'; COLOR: purple; FONT-SIZE: 10pt; mso-ansi-language: en-us"&gt;$f&lt;/SPAN&gt;&lt;SPAN style="FONT-FAMILY: 'Courier New'; COLOR: black; FONT-SIZE: 10pt; mso-ansi-language: en-us"&gt;.MethodName &lt;/SPAN&gt;&lt;SPAN style="FONT-FAMILY: 'Courier New'; COLOR: red; FONT-SIZE: 10pt; mso-ansi-language: en-us"&gt;=&lt;/SPAN&gt;&lt;SPAN style="FONT-FAMILY: 'Courier New'; COLOR: black; FONT-SIZE: 10pt; mso-ansi-language: en-us"&gt; &lt;/SPAN&gt;&lt;SPAN style="FONT-FAMILY: 'Courier New'; COLOR: maroon; FONT-SIZE: 10pt; mso-ansi-language: en-us"&gt;"Dir_InitMethod"&lt;/SPAN&gt;&lt;SPAN style="FONT-FAMILY: 'Courier New'; COLOR: black; FONT-SIZE: 10pt; mso-ansi-language: en-us"&gt;&lt;o:p&gt;&lt;/o:p&gt;&lt;/SPAN&gt;&lt;/P&gt;
&lt;P style="LINE-HEIGHT: normal; MARGIN: 0in 0in 0pt; mso-layout-grid-align: none" class=MsoNormal&gt;&lt;SPAN style="FONT-FAMILY: 'Courier New'; COLOR: purple; FONT-SIZE: 10pt; mso-ansi-language: en-us"&gt;$o&lt;/SPAN&gt;&lt;SPAN style="FONT-FAMILY: 'Courier New'; COLOR: black; FONT-SIZE: 10pt; mso-ansi-language: en-us"&gt; &lt;/SPAN&gt;&lt;SPAN style="FONT-FAMILY: 'Courier New'; COLOR: red; FONT-SIZE: 10pt; mso-ansi-language: en-us"&gt;=&lt;/SPAN&gt;&lt;SPAN style="FONT-FAMILY: 'Courier New'; COLOR: black; FONT-SIZE: 10pt; mso-ansi-language: en-us"&gt; &lt;/SPAN&gt;&lt;B&gt;&lt;SPAN style="FONT-FAMILY: 'Courier New'; COLOR: cadetblue; FONT-SIZE: 10pt; mso-ansi-language: en-us"&gt;New-Object&lt;/SPAN&gt;&lt;/B&gt;&lt;SPAN style="FONT-FAMILY: 'Courier New'; COLOR: black; FONT-SIZE: 10pt; mso-ansi-language: en-us"&gt; &lt;/SPAN&gt;&lt;I&gt;&lt;SPAN style="FONT-FAMILY: 'Courier New'; COLOR: cadetblue; FONT-SIZE: 10pt; mso-ansi-language: en-us"&gt;-TypeName&lt;/SPAN&gt;&lt;/I&gt;&lt;SPAN style="FONT-FAMILY: 'Courier New'; COLOR: black; FONT-SIZE: 10pt; mso-ansi-language: en-us"&gt; &lt;/SPAN&gt;&lt;SPAN style="FONT-FAMILY: 'Courier New'; COLOR: maroon; FONT-SIZE: 10pt; mso-ansi-language: en-us"&gt;"Microsoft.SqlServer.Management.Smo.UserDefinedFunctionParameter"&lt;/SPAN&gt;&lt;SPAN style="FONT-FAMILY: 'Courier New'; COLOR: black; FONT-SIZE: 10pt; mso-ansi-language: en-us"&gt; &lt;/SPAN&gt;&lt;I&gt;&lt;SPAN style="FONT-FAMILY: 'Courier New'; COLOR: cadetblue; FONT-SIZE: 10pt; mso-ansi-language: en-us"&gt;-ArgumentList&lt;/SPAN&gt;&lt;/I&gt;&lt;SPAN style="FONT-FAMILY: 'Courier New'; COLOR: black; FONT-SIZE: 10pt; mso-ansi-language: en-us"&gt; &lt;/SPAN&gt;&lt;SPAN style="FONT-FAMILY: 'Courier New'; COLOR: purple; FONT-SIZE: 10pt; mso-ansi-language: en-us"&gt;$f&lt;/SPAN&gt;&lt;SPAN style="FONT-FAMILY: 'Courier New'; COLOR: black; FONT-SIZE: 10pt; mso-ansi-language: en-us"&gt;, &lt;/SPAN&gt;&lt;SPAN style="FONT-FAMILY: 'Courier New'; COLOR: maroon; FONT-SIZE: 10pt; mso-ansi-language: en-us"&gt;"@folder"&lt;/SPAN&gt;&lt;SPAN style="FONT-FAMILY: 'Courier New'; COLOR: black; FONT-SIZE: 10pt; mso-ansi-language: en-us"&gt;, $([Microsoft.SqlServer.Management.Smo.DataType]::NVarChar(266))&lt;o:p&gt;&lt;/o:p&gt;&lt;/SPAN&gt;&lt;/P&gt;
&lt;P style="LINE-HEIGHT: normal; MARGIN: 0in 0in 0pt; mso-layout-grid-align: none" class=MsoNormal&gt;&lt;SPAN style="FONT-FAMILY: 'Courier New'; COLOR: purple; FONT-SIZE: 10pt; mso-ansi-language: en-us"&gt;$f&lt;/SPAN&gt;&lt;SPAN style="FONT-FAMILY: 'Courier New'; COLOR: black; FONT-SIZE: 10pt; mso-ansi-language: en-us"&gt;.Parameters.Add(&lt;/SPAN&gt;&lt;SPAN style="FONT-FAMILY: 'Courier New'; COLOR: purple; FONT-SIZE: 10pt; mso-ansi-language: en-us"&gt;$o&lt;/SPAN&gt;&lt;SPAN style="FONT-FAMILY: 'Courier New'; COLOR: black; FONT-SIZE: 10pt; mso-ansi-language: en-us"&gt;)&lt;o:p&gt;&lt;/o:p&gt;&lt;/SPAN&gt;&lt;/P&gt;
&lt;P style="LINE-HEIGHT: normal; MARGIN: 0in 0in 0pt; mso-layout-grid-align: none" class=MsoNormal&gt;&lt;SPAN style="FONT-FAMILY: 'Courier New'; COLOR: purple; FONT-SIZE: 10pt; mso-ansi-language: en-us"&gt;$o&lt;/SPAN&gt;&lt;SPAN style="FONT-FAMILY: 'Courier New'; COLOR: black; FONT-SIZE: 10pt; mso-ansi-language: en-us"&gt; &lt;/SPAN&gt;&lt;SPAN style="FONT-FAMILY: 'Courier New'; COLOR: red; FONT-SIZE: 10pt; mso-ansi-language: en-us"&gt;=&lt;/SPAN&gt;&lt;SPAN style="FONT-FAMILY: 'Courier New'; COLOR: black; FONT-SIZE: 10pt; mso-ansi-language: en-us"&gt; &lt;/SPAN&gt;&lt;B&gt;&lt;SPAN style="FONT-FAMILY: 'Courier New'; COLOR: cadetblue; FONT-SIZE: 10pt; mso-ansi-language: en-us"&gt;New-Object&lt;/SPAN&gt;&lt;/B&gt;&lt;SPAN style="FONT-FAMILY: 'Courier New'; COLOR: black; FONT-SIZE: 10pt; mso-ansi-language: en-us"&gt; &lt;/SPAN&gt;&lt;I&gt;&lt;SPAN style="FONT-FAMILY: 'Courier New'; COLOR: cadetblue; FONT-SIZE: 10pt; mso-ansi-language: en-us"&gt;-TypeName&lt;/SPAN&gt;&lt;/I&gt;&lt;SPAN style="FONT-FAMILY: 'Courier New'; COLOR: black; FONT-SIZE: 10pt; mso-ansi-language: en-us"&gt; &lt;/SPAN&gt;&lt;SPAN style="FONT-FAMILY: 'Courier New'; COLOR: maroon; FONT-SIZE: 10pt; mso-ansi-language: en-us"&gt;"Microsoft.SqlServer.Management.Smo.UserDefinedFunctionParameter"&lt;/SPAN&gt;&lt;SPAN style="FONT-FAMILY: 'Courier New'; COLOR: black; FONT-SIZE: 10pt; mso-ansi-language: en-us"&gt; &lt;/SPAN&gt;&lt;I&gt;&lt;SPAN style="FONT-FAMILY: 'Courier New'; COLOR: cadetblue; FONT-SIZE: 10pt; mso-ansi-language: en-us"&gt;-ArgumentList&lt;/SPAN&gt;&lt;/I&gt;&lt;SPAN style="FONT-FAMILY: 'Courier New'; COLOR: black; FONT-SIZE: 10pt; mso-ansi-language: en-us"&gt; &lt;/SPAN&gt;&lt;SPAN style="FONT-FAMILY: 'Courier New'; COLOR: purple; FONT-SIZE: 10pt; mso-ansi-language: en-us"&gt;$f&lt;/SPAN&gt;&lt;SPAN style="FONT-FAMILY: 'Courier New'; COLOR: black; FONT-SIZE: 10pt; mso-ansi-language: en-us"&gt;, &lt;/SPAN&gt;&lt;SPAN style="FONT-FAMILY: 'Courier New'; COLOR: maroon; FONT-SIZE: 10pt; mso-ansi-language: en-us"&gt;"@shallowTraversal"&lt;/SPAN&gt;&lt;SPAN style="FONT-FAMILY: 'Courier New'; COLOR: black; FONT-SIZE: 10pt; mso-ansi-language: en-us"&gt;, $([Microsoft.SqlServer.Management.Smo.DataType]::Bit)&lt;o:p&gt;&lt;/o:p&gt;&lt;/SPAN&gt;&lt;/P&gt;
&lt;P style="LINE-HEIGHT: normal; MARGIN: 0in 0in 0pt; mso-layout-grid-align: none" class=MsoNormal&gt;&lt;SPAN style="FONT-FAMILY: 'Courier New'; COLOR: purple; FONT-SIZE: 10pt; mso-ansi-language: en-us"&gt;$f&lt;/SPAN&gt;&lt;SPAN style="FONT-FAMILY: 'Courier New'; COLOR: black; FONT-SIZE: 10pt; mso-ansi-language: en-us"&gt;.Parameters.Add(&lt;/SPAN&gt;&lt;SPAN style="FONT-FAMILY: 'Courier New'; COLOR: purple; FONT-SIZE: 10pt; mso-ansi-language: en-us"&gt;$o&lt;/SPAN&gt;&lt;SPAN style="FONT-FAMILY: 'Courier New'; COLOR: black; FONT-SIZE: 10pt; mso-ansi-language: en-us"&gt;)&lt;o:p&gt;&lt;/o:p&gt;&lt;/SPAN&gt;&lt;/P&gt;
&lt;P style="LINE-HEIGHT: normal; MARGIN: 0in 0in 0pt; mso-layout-grid-align: none" class=MsoNormal&gt;&lt;SPAN style="FONT-FAMILY: 'Courier New'; COLOR: purple; FONT-SIZE: 10pt; mso-ansi-language: en-us"&gt;$f&lt;/SPAN&gt;&lt;SPAN style="FONT-FAMILY: 'Courier New'; COLOR: black; FONT-SIZE: 10pt; mso-ansi-language: en-us"&gt;.FunctionType &lt;/SPAN&gt;&lt;SPAN style="FONT-FAMILY: 'Courier New'; COLOR: red; FONT-SIZE: 10pt; mso-ansi-language: en-us"&gt;=&lt;/SPAN&gt;&lt;SPAN style="FONT-FAMILY: 'Courier New'; COLOR: black; FONT-SIZE: 10pt; mso-ansi-language: en-us"&gt; [Microsoft.SqlServer.Management.Smo.UserDefinedFunctionType]::Table&lt;o:p&gt;&lt;/o:p&gt;&lt;/SPAN&gt;&lt;/P&gt;
&lt;P style="LINE-HEIGHT: normal; MARGIN: 0in 0in 0pt; mso-layout-grid-align: none" class=MsoNormal&gt;&lt;SPAN style="FONT-FAMILY: 'Courier New'; COLOR: purple; FONT-SIZE: 10pt; mso-ansi-language: en-us"&gt;$o&lt;/SPAN&gt;&lt;SPAN style="FONT-FAMILY: 'Courier New'; COLOR: black; FONT-SIZE: 10pt; mso-ansi-language: en-us"&gt; &lt;/SPAN&gt;&lt;SPAN style="FONT-FAMILY: 'Courier New'; COLOR: red; FONT-SIZE: 10pt; mso-ansi-language: en-us"&gt;=&lt;/SPAN&gt;&lt;SPAN style="FONT-FAMILY: 'Courier New'; COLOR: black; FONT-SIZE: 10pt; mso-ansi-language: en-us"&gt; &lt;/SPAN&gt;&lt;B&gt;&lt;SPAN style="FONT-FAMILY: 'Courier New'; COLOR: cadetblue; FONT-SIZE: 10pt; mso-ansi-language: en-us"&gt;New-Object&lt;/SPAN&gt;&lt;/B&gt;&lt;SPAN style="FONT-FAMILY: 'Courier New'; COLOR: black; FONT-SIZE: 10pt; mso-ansi-language: en-us"&gt; &lt;/SPAN&gt;&lt;I&gt;&lt;SPAN style="FONT-FAMILY: 'Courier New'; COLOR: cadetblue; FONT-SIZE: 10pt; mso-ansi-language: en-us"&gt;-TypeName&lt;/SPAN&gt;&lt;/I&gt;&lt;SPAN style="FONT-FAMILY: 'Courier New'; COLOR: black; FONT-SIZE: 10pt; mso-ansi-language: en-us"&gt; &lt;/SPAN&gt;&lt;SPAN style="FONT-FAMILY: 'Courier New'; COLOR: maroon; FONT-SIZE: 10pt; mso-ansi-language: en-us"&gt;"Microsoft.SqlServer.Management.Smo.Column"&lt;/SPAN&gt;&lt;SPAN style="FONT-FAMILY: 'Courier New'; COLOR: black; FONT-SIZE: 10pt; mso-ansi-language: en-us"&gt; &lt;/SPAN&gt;&lt;I&gt;&lt;SPAN style="FONT-FAMILY: 'Courier New'; COLOR: cadetblue; FONT-SIZE: 10pt; mso-ansi-language: en-us"&gt;-ArgumentList&lt;/SPAN&gt;&lt;/I&gt;&lt;SPAN style="FONT-FAMILY: 'Courier New'; COLOR: black; FONT-SIZE: 10pt; mso-ansi-language: en-us"&gt; &lt;/SPAN&gt;&lt;SPAN style="FONT-FAMILY: 'Courier New'; COLOR: purple; FONT-SIZE: 10pt; mso-ansi-language: en-us"&gt;$f&lt;/SPAN&gt;&lt;SPAN style="FONT-FAMILY: 'Courier New'; COLOR: black; FONT-SIZE: 10pt; mso-ansi-language: en-us"&gt;, &lt;/SPAN&gt;&lt;SPAN style="FONT-FAMILY: 'Courier New'; COLOR: maroon; FONT-SIZE: 10pt; mso-ansi-language: en-us"&gt;"ID"&lt;/SPAN&gt;&lt;SPAN style="FONT-FAMILY: 'Courier New'; COLOR: black; FONT-SIZE: 10pt; mso-ansi-language: en-us"&gt;, $([Microsoft.SqlServer.Management.Smo.DataType]::HierarchyId)&lt;o:p&gt;&lt;/o:p&gt;&lt;/SPAN&gt;&lt;/P&gt;
&lt;P style="LINE-HEIGHT: normal; MARGIN: 0in 0in 0pt; mso-layout-grid-align: none" class=MsoNormal&gt;&lt;SPAN style="FONT-FAMILY: 'Courier New'; COLOR: purple; FONT-SIZE: 10pt; mso-ansi-language: en-us"&gt;$f&lt;/SPAN&gt;&lt;SPAN style="FONT-FAMILY: 'Courier New'; COLOR: black; FONT-SIZE: 10pt; mso-ansi-language: en-us"&gt;.Columns.Add(&lt;/SPAN&gt;&lt;SPAN style="FONT-FAMILY: 'Courier New'; COLOR: purple; FONT-SIZE: 10pt; mso-ansi-language: en-us"&gt;$o&lt;/SPAN&gt;&lt;SPAN style="FONT-FAMILY: 'Courier New'; COLOR: black; FONT-SIZE: 10pt; mso-ansi-language: en-us"&gt;)&lt;o:p&gt;&lt;/o:p&gt;&lt;/SPAN&gt;&lt;/P&gt;
&lt;P style="LINE-HEIGHT: normal; MARGIN: 0in 0in 0pt; mso-layout-grid-align: none" class=MsoNormal&gt;&lt;SPAN style="FONT-FAMILY: 'Courier New'; COLOR: purple; FONT-SIZE: 10pt; mso-ansi-language: en-us"&gt;$o&lt;/SPAN&gt;&lt;SPAN style="FONT-FAMILY: 'Courier New'; COLOR: black; FONT-SIZE: 10pt; mso-ansi-language: en-us"&gt; &lt;/SPAN&gt;&lt;SPAN style="FONT-FAMILY: 'Courier New'; COLOR: red; FONT-SIZE: 10pt; mso-ansi-language: en-us"&gt;=&lt;/SPAN&gt;&lt;SPAN style="FONT-FAMILY: 'Courier New'; COLOR: black; FONT-SIZE: 10pt; mso-ansi-language: en-us"&gt; &lt;/SPAN&gt;&lt;B&gt;&lt;SPAN style="FONT-FAMILY: 'Courier New'; COLOR: cadetblue; FONT-SIZE: 10pt; mso-ansi-language: en-us"&gt;New-Object&lt;/SPAN&gt;&lt;/B&gt;&lt;SPAN style="FONT-FAMILY: 'Courier New'; COLOR: black; FONT-SIZE: 10pt; mso-ansi-language: en-us"&gt; &lt;/SPAN&gt;&lt;I&gt;&lt;SPAN style="FONT-FAMILY: 'Courier New'; COLOR: cadetblue; FONT-SIZE: 10pt; mso-ansi-language: en-us"&gt;-TypeName&lt;/SPAN&gt;&lt;/I&gt;&lt;SPAN style="FONT-FAMILY: 'Courier New'; COLOR: black; FONT-SIZE: 10pt; mso-ansi-language: en-us"&gt; &lt;/SPAN&gt;&lt;SPAN style="FONT-FAMILY: 'Courier New'; COLOR: maroon; FONT-SIZE: 10pt; mso-ansi-language: en-us"&gt;"Microsoft.SqlServer.Management.Smo.Column"&lt;/SPAN&gt;&lt;SPAN style="FONT-FAMILY: 'Courier New'; COLOR: black; FONT-SIZE: 10pt; mso-ansi-language: en-us"&gt; &lt;/SPAN&gt;&lt;I&gt;&lt;SPAN style="FONT-FAMILY: 'Courier New'; COLOR: cadetblue; FONT-SIZE: 10pt; mso-ansi-language: en-us"&gt;-ArgumentList&lt;/SPAN&gt;&lt;/I&gt;&lt;SPAN style="FONT-FAMILY: 'Courier New'; COLOR: black; FONT-SIZE: 10pt; mso-ansi-language: en-us"&gt; &lt;/SPAN&gt;&lt;SPAN style="FONT-FAMILY: 'Courier New'; COLOR: purple; FONT-SIZE: 10pt; mso-ansi-language: en-us"&gt;$f&lt;/SPAN&gt;&lt;SPAN style="FONT-FAMILY: 'Courier New'; COLOR: black; FONT-SIZE: 10pt; mso-ansi-language: en-us"&gt;, &lt;/SPAN&gt;&lt;SPAN style="FONT-FAMILY: 'Courier New'; COLOR: maroon; FONT-SIZE: 10pt; mso-ansi-language: en-us"&gt;"FullName"&lt;/SPAN&gt;&lt;SPAN style="FONT-FAMILY: 'Courier New'; COLOR: black; FONT-SIZE: 10pt; mso-ansi-language: en-us"&gt;, $([Microsoft.SqlServer.Management.Smo.DataType]::NVarChar(266))&lt;o:p&gt;&lt;/o:p&gt;&lt;/SPAN&gt;&lt;/P&gt;
&lt;P style="LINE-HEIGHT: normal; MARGIN: 0in 0in 0pt; mso-layout-grid-align: none" class=MsoNormal&gt;&lt;SPAN style="FONT-FAMILY: 'Courier New'; COLOR: purple; FONT-SIZE: 10pt; mso-ansi-language: en-us"&gt;$f&lt;/SPAN&gt;&lt;SPAN style="FONT-FAMILY: 'Courier New'; COLOR: black; FONT-SIZE: 10pt; mso-ansi-language: en-us"&gt;.Columns.Add(&lt;/SPAN&gt;&lt;SPAN style="FONT-FAMILY: 'Courier New'; COLOR: purple; FONT-SIZE: 10pt; mso-ansi-language: en-us"&gt;$o&lt;/SPAN&gt;&lt;SPAN style="FONT-FAMILY: 'Courier New'; COLOR: black; FONT-SIZE: 10pt; mso-ansi-language: en-us"&gt;)&lt;o:p&gt;&lt;/o:p&gt;&lt;/SPAN&gt;&lt;/P&gt;
&lt;P style="LINE-HEIGHT: normal; MARGIN: 0in 0in 0pt; mso-layout-grid-align: none" class=MsoNormal&gt;&lt;SPAN style="FONT-FAMILY: 'Courier New'; COLOR: purple; FONT-SIZE: 10pt; mso-ansi-language: en-us"&gt;$o&lt;/SPAN&gt;&lt;SPAN style="FONT-FAMILY: 'Courier New'; COLOR: black; FONT-SIZE: 10pt; mso-ansi-language: en-us"&gt; &lt;/SPAN&gt;&lt;SPAN style="FONT-FAMILY: 'Courier New'; COLOR: red; FONT-SIZE: 10pt; mso-ansi-language: en-us"&gt;=&lt;/SPAN&gt;&lt;SPAN style="FONT-FAMILY: 'Courier New'; COLOR: black; FONT-SIZE: 10pt; mso-ansi-language: en-us"&gt; &lt;/SPAN&gt;&lt;B&gt;&lt;SPAN style="FONT-FAMILY: 'Courier New'; COLOR: cadetblue; FONT-SIZE: 10pt; mso-ansi-language: en-us"&gt;New-Object&lt;/SPAN&gt;&lt;/B&gt;&lt;SPAN style="FONT-FAMILY: 'Courier New'; COLOR: black; FONT-SIZE: 10pt; mso-ansi-language: en-us"&gt; &lt;/SPAN&gt;&lt;I&gt;&lt;SPAN style="FONT-FAMILY: 'Courier New'; COLOR: cadetblue; FONT-SIZE: 10pt; mso-ansi-language: en-us"&gt;-TypeName&lt;/SPAN&gt;&lt;/I&gt;&lt;SPAN style="FONT-FAMILY: 'Courier New'; COLOR: black; FONT-SIZE: 10pt; mso-ansi-language: en-us"&gt; &lt;/SPAN&gt;&lt;SPAN style="FONT-FAMILY: 'Courier New'; COLOR: maroon; FONT-SIZE: 10pt; mso-ansi-language: en-us"&gt;"Microsoft.SqlServer.Management.Smo.Column"&lt;/SPAN&gt;&lt;SPAN style="FONT-FAMILY: 'Courier New'; COLOR: black; FONT-SIZE: 10pt; mso-ansi-language: en-us"&gt; &lt;/SPAN&gt;&lt;I&gt;&lt;SPAN style="FONT-FAMILY: 'Courier New'; COLOR: cadetblue; FONT-SIZE: 10pt; mso-ansi-language: en-us"&gt;-ArgumentList&lt;/SPAN&gt;&lt;/I&gt;&lt;SPAN style="FONT-FAMILY: 'Courier New'; COLOR: black; FONT-SIZE: 10pt; mso-ansi-language: en-us"&gt; &lt;/SPAN&gt;&lt;SPAN style="FONT-FAMILY: 'Courier New'; COLOR: purple; FONT-SIZE: 10pt; mso-ansi-language: en-us"&gt;$f&lt;/SPAN&gt;&lt;SPAN style="FONT-FAMILY: 'Courier New'; COLOR: black; FONT-SIZE: 10pt; mso-ansi-language: en-us"&gt;, &lt;/SPAN&gt;&lt;SPAN style="FONT-FAMILY: 'Courier New'; COLOR: maroon; FONT-SIZE: 10pt; mso-ansi-language: en-us"&gt;"DateCreated"&lt;/SPAN&gt;&lt;SPAN style="FONT-FAMILY: 'Courier New'; COLOR: black; FONT-SIZE: 10pt; mso-ansi-language: en-us"&gt;, $([Microsoft.SqlServer.Management.Smo.DataType]::DateTime2(3))&lt;o:p&gt;&lt;/o:p&gt;&lt;/SPAN&gt;&lt;/P&gt;
&lt;P style="LINE-HEIGHT: normal; MARGIN: 0in 0in 0pt; mso-layout-grid-align: none" class=MsoNormal&gt;&lt;SPAN style="FONT-FAMILY: 'Courier New'; COLOR: purple; FONT-SIZE: 10pt; mso-ansi-language: en-us"&gt;$f&lt;/SPAN&gt;&lt;SPAN style="FONT-FAMILY: 'Courier New'; COLOR: black; FONT-SIZE: 10pt; mso-ansi-language: en-us"&gt;.Columns.Add(&lt;/SPAN&gt;&lt;SPAN style="FONT-FAMILY: 'Courier New'; COLOR: purple; FONT-SIZE: 10pt; mso-ansi-language: en-us"&gt;$o&lt;/SPAN&gt;&lt;SPAN style="FONT-FAMILY: 'Courier New'; COLOR: black; FONT-SIZE: 10pt; mso-ansi-language: en-us"&gt;)&lt;o:p&gt;&lt;/o:p&gt;&lt;/SPAN&gt;&lt;/P&gt;
&lt;P style="LINE-HEIGHT: normal; MARGIN: 0in 0in 0pt; mso-layout-grid-align: none" class=MsoNormal&gt;&lt;SPAN style="FONT-FAMILY: 'Courier New'; COLOR: purple; FONT-SIZE: 10pt; mso-ansi-language: en-us"&gt;$o&lt;/SPAN&gt;&lt;SPAN style="FONT-FAMILY: 'Courier New'; COLOR: black; FONT-SIZE: 10pt; mso-ansi-language: en-us"&gt; &lt;/SPAN&gt;&lt;SPAN style="FONT-FAMILY: 'Courier New'; COLOR: red; FONT-SIZE: 10pt; mso-ansi-language: en-us"&gt;=&lt;/SPAN&gt;&lt;SPAN style="FONT-FAMILY: 'Courier New'; COLOR: black; FONT-SIZE: 10pt; mso-ansi-language: en-us"&gt; &lt;/SPAN&gt;&lt;B&gt;&lt;SPAN style="FONT-FAMILY: 'Courier New'; COLOR: cadetblue; FONT-SIZE: 10pt; mso-ansi-language: en-us"&gt;New-Object&lt;/SPAN&gt;&lt;/B&gt;&lt;SPAN style="FONT-FAMILY: 'Courier New'; COLOR: black; FONT-SIZE: 10pt; mso-ansi-language: en-us"&gt; &lt;/SPAN&gt;&lt;I&gt;&lt;SPAN style="FONT-FAMILY: 'Courier New'; COLOR: cadetblue; FONT-SIZE: 10pt; mso-ansi-language: en-us"&gt;-TypeName&lt;/SPAN&gt;&lt;/I&gt;&lt;SPAN style="FONT-FAMILY: 'Courier New'; COLOR: black; FONT-SIZE: 10pt; mso-ansi-language: en-us"&gt; &lt;/SPAN&gt;&lt;SPAN style="FONT-FAMILY: 'Courier New'; COLOR: maroon; FONT-SIZE: 10pt; mso-ansi-language: en-us"&gt;"Microsoft.SqlServer.Management.Smo.Column"&lt;/SPAN&gt;&lt;SPAN style="FONT-FAMILY: 'Courier New'; COLOR: black; FONT-SIZE: 10pt; mso-ansi-language: en-us"&gt; &lt;/SPAN&gt;&lt;I&gt;&lt;SPAN style="FONT-FAMILY: 'Courier New'; COLOR: cadetblue; FONT-SIZE: 10pt; mso-ansi-language: en-us"&gt;-ArgumentList&lt;/SPAN&gt;&lt;/I&gt;&lt;SPAN style="FONT-FAMILY: 'Courier New'; COLOR: black; FONT-SIZE: 10pt; mso-ansi-language: en-us"&gt; &lt;/SPAN&gt;&lt;SPAN style="FONT-FAMILY: 'Courier New'; COLOR: purple; FONT-SIZE: 10pt; mso-ansi-language: en-us"&gt;$f&lt;/SPAN&gt;&lt;SPAN style="FONT-FAMILY: 'Courier New'; COLOR: black; FONT-SIZE: 10pt; mso-ansi-language: en-us"&gt;, &lt;/SPAN&gt;&lt;SPAN style="FONT-FAMILY: 'Courier New'; COLOR: maroon; FONT-SIZE: 10pt; mso-ansi-language: en-us"&gt;"DateModified"&lt;/SPAN&gt;&lt;SPAN style="FONT-FAMILY: 'Courier New'; COLOR: black; FONT-SIZE: 10pt; mso-ansi-language: en-us"&gt;, $([Microsoft.SqlServer.Management.Smo.DataType]::DateTime2(3))&lt;o:p&gt;&lt;/o:p&gt;&lt;/SPAN&gt;&lt;/P&gt;
&lt;P style="LINE-HEIGHT: normal; MARGIN: 0in 0in 0pt; mso-layout-grid-align: none" class=MsoNormal&gt;&lt;SPAN style="FONT-FAMILY: 'Courier New'; COLOR: purple; FONT-SIZE: 10pt; mso-ansi-language: en-us"&gt;$f&lt;/SPAN&gt;&lt;SPAN style="FONT-FAMILY: 'Courier New'; COLOR: black; FONT-SIZE: 10pt; mso-ansi-language: en-us"&gt;.Columns.Add(&lt;/SPAN&gt;&lt;SPAN style="FONT-FAMILY: 'Courier New'; COLOR: purple; FONT-SIZE: 10pt; mso-ansi-language: en-us"&gt;$o&lt;/SPAN&gt;&lt;SPAN style="FONT-FAMILY: 'Courier New'; COLOR: black; FONT-SIZE: 10pt; mso-ansi-language: en-us"&gt;)&lt;o:p&gt;&lt;/o:p&gt;&lt;/SPAN&gt;&lt;/P&gt;
&lt;P style="LINE-HEIGHT: normal; MARGIN: 0in 0in 0pt; mso-layout-grid-align: none" class=MsoNormal&gt;&lt;SPAN style="FONT-FAMILY: 'Courier New'; COLOR: purple; FONT-SIZE: 10pt; mso-ansi-language: en-us"&gt;$o&lt;/SPAN&gt;&lt;SPAN style="FONT-FAMILY: 'Courier New'; COLOR: black; FONT-SIZE: 10pt; mso-ansi-language: en-us"&gt; &lt;/SPAN&gt;&lt;SPAN style="FONT-FAMILY: 'Courier New'; COLOR: red; FONT-SIZE: 10pt; mso-ansi-language: en-us"&gt;=&lt;/SPAN&gt;&lt;SPAN style="FONT-FAMILY: 'Courier New'; COLOR: black; FONT-SIZE: 10pt; mso-ansi-language: en-us"&gt; &lt;/SPAN&gt;&lt;B&gt;&lt;SPAN style="FONT-FAMILY: 'Courier New'; COLOR: cadetblue; FONT-SIZE: 10pt; mso-ansi-language: en-us"&gt;New-Object&lt;/SPAN&gt;&lt;/B&gt;&lt;SPAN style="FONT-FAMILY: 'Courier New'; COLOR: black; FONT-SIZE: 10pt; mso-ansi-language: en-us"&gt; &lt;/SPAN&gt;&lt;I&gt;&lt;SPAN style="FONT-FAMILY: 'Courier New'; COLOR: cadetblue; FONT-SIZE: 10pt; mso-ansi-language: en-us"&gt;-TypeName&lt;/SPAN&gt;&lt;/I&gt;&lt;SPAN style="FONT-FAMILY: 'Courier New'; COLOR: black; FONT-SIZE: 10pt; mso-ansi-language: en-us"&gt; &lt;/SPAN&gt;&lt;SPAN style="FONT-FAMILY: 'Courier New'; COLOR: maroon; FONT-SIZE: 10pt; mso-ansi-language: en-us"&gt;"Microsoft.SqlServer.Management.Smo.Column"&lt;/SPAN&gt;&lt;SPAN style="FONT-FAMILY: 'Courier New'; COLOR: black; FONT-SIZE: 10pt; mso-ansi-language: en-us"&gt; &lt;/SPAN&gt;&lt;I&gt;&lt;SPAN style="FONT-FAMILY: 'Courier New'; COLOR: cadetblue; FONT-SIZE: 10pt; mso-ansi-language: en-us"&gt;-ArgumentList&lt;/SPAN&gt;&lt;/I&gt;&lt;SPAN style="FONT-FAMILY: 'Courier New'; COLOR: black; FONT-SIZE: 10pt; mso-ansi-language: en-us"&gt; &lt;/SPAN&gt;&lt;SPAN style="FONT-FAMILY: 'Courier New'; COLOR: purple; FONT-SIZE: 10pt; mso-ansi-language: en-us"&gt;$f&lt;/SPAN&gt;&lt;SPAN style="FONT-FAMILY: 'Courier New'; COLOR: black; FONT-SIZE: 10pt; mso-ansi-language: en-us"&gt;, &lt;/SPAN&gt;&lt;SPAN style="FONT-FAMILY: 'Courier New'; COLOR: maroon; FONT-SIZE: 10pt; mso-ansi-language: en-us"&gt;"LastAccessed"&lt;/SPAN&gt;&lt;SPAN style="FONT-FAMILY: 'Courier New'; COLOR: black; FONT-SIZE: 10pt; mso-ansi-language: en-us"&gt;, $([Microsoft.SqlServer.Management.Smo.DataType]::DateTime2(3))&lt;o:p&gt;&lt;/o:p&gt;&lt;/SPAN&gt;&lt;/P&gt;
&lt;P style="LINE-HEIGHT: normal; MARGIN: 0in 0in 0pt; mso-layout-grid-align: none" class=MsoNormal&gt;&lt;SPAN style="FONT-FAMILY: 'Courier New'; COLOR: purple; FONT-SIZE: 10pt; mso-ansi-language: en-us"&gt;$f&lt;/SPAN&gt;&lt;SPAN style="FONT-FAMILY: 'Courier New'; COLOR: black; FONT-SIZE: 10pt; mso-ansi-language: en-us"&gt;.Columns.Add(&lt;/SPAN&gt;&lt;SPAN style="FONT-FAMILY: 'Courier New'; COLOR: purple; FONT-SIZE: 10pt; mso-ansi-language: en-us"&gt;$o&lt;/SPAN&gt;&lt;SPAN style="FONT-FAMILY: 'Courier New'; COLOR: black; FONT-SIZE: 10pt; mso-ansi-language: en-us"&gt;)&lt;o:p&gt;&lt;/o:p&gt;&lt;/SPAN&gt;&lt;/P&gt;
&lt;P style="LINE-HEIGHT: normal; MARGIN: 0in 0in 0pt; mso-layout-grid-align: none" class=MsoNormal&gt;&lt;SPAN style="FONT-FAMILY: 'Courier New'; COLOR: purple; FONT-SIZE: 10pt; mso-ansi-language: en-us"&gt;$o&lt;/SPAN&gt;&lt;SPAN style="FONT-FAMILY: 'Courier New'; COLOR: black; FONT-SIZE: 10pt; mso-ansi-language: en-us"&gt; &lt;/SPAN&gt;&lt;SPAN style="FONT-FAMILY: 'Courier New'; COLOR: red; FONT-SIZE: 10pt; mso-ansi-language: en-us"&gt;=&lt;/SPAN&gt;&lt;SPAN style="FONT-FAMILY: 'Courier New'; COLOR: black; FONT-SIZE: 10pt; mso-ansi-language: en-us"&gt; &lt;/SPAN&gt;&lt;B&gt;&lt;SPAN style="FONT-FAMILY: 'Courier New'; COLOR: cadetblue; FONT-SIZE: 10pt; mso-ansi-language: en-us"&gt;New-Object&lt;/SPAN&gt;&lt;/B&gt;&lt;SPAN style="FONT-FAMILY: 'Courier New'; COLOR: black; FONT-SIZE: 10pt; mso-ansi-language: en-us"&gt; &lt;/SPAN&gt;&lt;I&gt;&lt;SPAN style="FONT-FAMILY: 'Courier New'; COLOR: cadetblue; FONT-SIZE: 10pt; mso-ansi-language: en-us"&gt;-TypeName&lt;/SPAN&gt;&lt;/I&gt;&lt;SPAN style="FONT-FAMILY: 'Courier New'; COLOR: black; FONT-SIZE: 10pt; mso-ansi-language: en-us"&gt; &lt;/SPAN&gt;&lt;SPAN style="FONT-FAMILY: 'Courier New'; COLOR: maroon; FONT-SIZE: 10pt; mso-ansi-language: en-us"&gt;"Microsoft.SqlServer.Management.Smo.Column"&lt;/SPAN&gt;&lt;SPAN style="FONT-FAMILY: 'Courier New'; COLOR: black; FONT-SIZE: 10pt; mso-ansi-language: en-us"&gt; &lt;/SPAN&gt;&lt;I&gt;&lt;SPAN style="FONT-FAMILY: 'Courier New'; COLOR: cadetblue; FONT-SIZE: 10pt; mso-ansi-language: en-us"&gt;-ArgumentList&lt;/SPAN&gt;&lt;/I&gt;&lt;SPAN style="FONT-FAMILY: 'Courier New'; COLOR: black; FONT-SIZE: 10pt; mso-ansi-language: en-us"&gt; &lt;/SPAN&gt;&lt;SPAN style="FONT-FAMILY: 'Courier New'; COLOR: purple; FONT-SIZE: 10pt; mso-ansi-language: en-us"&gt;$f&lt;/SPAN&gt;&lt;SPAN style="FONT-FAMILY: 'Courier New'; COLOR: black; FONT-SIZE: 10pt; mso-ansi-language: en-us"&gt;, &lt;/SPAN&gt;&lt;SPAN style="FONT-FAMILY: 'Courier New'; COLOR: maroon; FONT-SIZE: 10pt; mso-ansi-language: en-us"&gt;"Properties"&lt;/SPAN&gt;&lt;SPAN style="FONT-FAMILY: 'Courier New'; COLOR: black; FONT-SIZE: 10pt; mso-ansi-language: en-us"&gt;, $([Microsoft.SqlServer.Management.Smo.DataType]::Xml(&lt;/SPAN&gt;&lt;SPAN style="FONT-FAMILY: 'Courier New'; COLOR: maroon; FONT-SIZE: 10pt; mso-ansi-language: en-us"&gt;""&lt;/SPAN&gt;&lt;SPAN style="FONT-FAMILY: 'Courier New'; COLOR: black; FONT-SIZE: 10pt; mso-ansi-language: en-us"&gt;))&lt;o:p&gt;&lt;/o:p&gt;&lt;/SPAN&gt;&lt;/P&gt;
&lt;P style="LINE-HEIGHT: normal; MARGIN: 0in 0in 0pt; mso-layout-grid-align: none" class=MsoNormal&gt;&lt;SPAN style="FONT-FAMILY: 'Courier New'; COLOR: purple; FONT-SIZE: 10pt; mso-ansi-language: en-us"&gt;$f&lt;/SPAN&gt;&lt;SPAN style="FONT-FAMILY: 'Courier New'; COLOR: black; FONT-SIZE: 10pt; mso-ansi-language: en-us"&gt;.Columns.Add(&lt;/SPAN&gt;&lt;SPAN style="FONT-FAMILY: 'Courier New'; COLOR: purple; FONT-SIZE: 10pt; mso-ansi-language: en-us"&gt;$o&lt;/SPAN&gt;&lt;SPAN style="FONT-FAMILY: 'Courier New'; COLOR: black; FONT-SIZE: 10pt; mso-ansi-language: en-us"&gt;)&lt;o:p&gt;&lt;/o:p&gt;&lt;/SPAN&gt;&lt;/P&gt;
&lt;P style="LINE-HEIGHT: normal; MARGIN: 0in 0in 0pt; mso-layout-grid-align: none" class=MsoNormal&gt;&lt;SPAN style="FONT-FAMILY: 'Courier New'; COLOR: purple; FONT-SIZE: 10pt; mso-ansi-language: en-us"&gt;$o&lt;/SPAN&gt;&lt;SPAN style="FONT-FAMILY: 'Courier New'; COLOR: black; FONT-SIZE: 10pt; mso-ansi-language: en-us"&gt; &lt;/SPAN&gt;&lt;SPAN style="FONT-FAMILY: 'Courier New'; COLOR: red; FONT-SIZE: 10pt; mso-ansi-language: en-us"&gt;=&lt;/SPAN&gt;&lt;SPAN style="FONT-FAMILY: 'Courier New'; COLOR: black; FONT-SIZE: 10pt; mso-ansi-language: en-us"&gt; &lt;/SPAN&gt;&lt;B&gt;&lt;SPAN style="FONT-FAMILY: 'Courier New'; COLOR: cadetblue; FONT-SIZE: 10pt; mso-ansi-language: en-us"&gt;New-Object&lt;/SPAN&gt;&lt;/B&gt;&lt;SPAN style="FONT-FAMILY: 'Courier New'; COLOR: black; FONT-SIZE: 10pt; mso-ansi-language: en-us"&gt; &lt;/SPAN&gt;&lt;I&gt;&lt;SPAN style="FONT-FAMILY: 'Courier New'; COLOR: cadetblue; FONT-SIZE: 10pt; mso-ansi-language: en-us"&gt;-TypeName&lt;/SPAN&gt;&lt;/I&gt;&lt;SPAN style="FONT-FAMILY: 'Courier New'; COLOR: black; FONT-SIZE: 10pt; mso-ansi-language: en-us"&gt; &lt;/SPAN&gt;&lt;SPAN style="FONT-FAMILY: 'Courier New'; COLOR: maroon; FONT-SIZE: 10pt; mso-ansi-language: en-us"&gt;"Microsoft.SqlServer.Management.Smo.Column"&lt;/SPAN&gt;&lt;SPAN style="FONT-FAMILY: 'Courier New'; COLOR: black; FONT-SIZE: 10pt; mso-ansi-language: en-us"&gt; &lt;/SPAN&gt;&lt;I&gt;&lt;SPAN style="FONT-FAMILY: 'Courier New'; COLOR: cadetblue; FONT-SIZE: 10pt; mso-ansi-language: en-us"&gt;-ArgumentList&lt;/SPAN&gt;&lt;/I&gt;&lt;SPAN style="FONT-FAMILY: 'Courier New'; COLOR: black; FONT-SIZE: 10pt; mso-ansi-language: en-us"&gt; &lt;/SPAN&gt;&lt;SPAN style="FONT-FAMILY: 'Courier New'; COLOR: purple; FONT-SIZE: 10pt; mso-ansi-language: en-us"&gt;$f&lt;/SPAN&gt;&lt;SPAN style="FONT-FAMILY: 'Courier New'; COLOR: black; FONT-SIZE: 10pt; mso-ansi-language: en-us"&gt;, &lt;/SPAN&gt;&lt;SPAN style="FONT-FAMILY: 'Courier New'; COLOR: maroon; FONT-SIZE: 10pt; mso-ansi-language: en-us"&gt;"Size"&lt;/SPAN&gt;&lt;SPAN style="FONT-FAMILY: 'Courier New'; COLOR: black; FONT-SIZE: 10pt; mso-ansi-language: en-us"&gt;, $([Microsoft.SqlServer.Management.Smo.DataType]::BigInt)&lt;o:p&gt;&lt;/o:p&gt;&lt;/SPAN&gt;&lt;/P&gt;
&lt;P style="LINE-HEIGHT: normal; MARGIN: 0in 0in 0pt; mso-layout-grid-align: none" class=MsoNormal&gt;&lt;SPAN style="FONT-FAMILY: 'Courier New'; COLOR: purple; FONT-SIZE: 10pt; mso-ansi-language: en-us"&gt;$f&lt;/SPAN&gt;&lt;SPAN style="FONT-FAMILY: 'Courier New'; COLOR: black; FONT-SIZE: 10pt; mso-ansi-language: en-us"&gt;.Columns.Add(&lt;/SPAN&gt;&lt;SPAN style="FONT-FAMILY: 'Courier New'; COLOR: purple; FONT-SIZE: 10pt; mso-ansi-language: en-us"&gt;$o&lt;/SPAN&gt;&lt;SPAN style="FONT-FAMILY: 'Courier New'; COLOR: black; FONT-SIZE: 10pt; mso-ansi-language: en-us"&gt;)&lt;o:p&gt;&lt;/o:p&gt;&lt;/SPAN&gt;&lt;/P&gt;
&lt;P style="LINE-HEIGHT: normal; MARGIN: 0in 0in 0pt; mso-layout-grid-align: none" class=MsoNormal&gt;&lt;SPAN style="FONT-FAMILY: 'Courier New'; COLOR: purple; FONT-SIZE: 10pt; mso-ansi-language: en-us"&gt;$o&lt;/SPAN&gt;&lt;SPAN style="FONT-FAMILY: 'Courier New'; COLOR: black; FONT-SIZE: 10pt; mso-ansi-language: en-us"&gt; &lt;/SPAN&gt;&lt;SPAN style="FONT-FAMILY: 'Courier New'; COLOR: red; FONT-SIZE: 10pt; mso-ansi-language: en-us"&gt;=&lt;/SPAN&gt;&lt;SPAN style="FONT-FAMILY: 'Courier New'; COLOR: black; FONT-SIZE: 10pt; mso-ansi-language: en-us"&gt; &lt;/SPAN&gt;&lt;B&gt;&lt;SPAN style="FONT-FAMILY: 'Courier New'; COLOR: cadetblue; FONT-SIZE: 10pt; mso-ansi-language: en-us"&gt;New-Object&lt;/SPAN&gt;&lt;/B&gt;&lt;SPAN style="FONT-FAMILY: 'Courier New'; COLOR: black; FONT-SIZE: 10pt; mso-ansi-language: en-us"&gt; &lt;/SPAN&gt;&lt;I&gt;&lt;SPAN style="FONT-FAMILY: 'Courier New'; COLOR: cadetblue; FONT-SIZE: 10pt; mso-ansi-language: en-us"&gt;-TypeName&lt;/SPAN&gt;&lt;/I&gt;&lt;SPAN style="FONT-FAMILY: 'Courier New'; COLOR: black; FONT-SIZE: 10pt; mso-ansi-language: en-us"&gt; &lt;/SPAN&gt;&lt;SPAN style="FONT-FAMILY: 'Courier New'; COLOR: maroon; FONT-SIZE: 10pt; mso-ansi-language: en-us"&gt;"Microsoft.SqlServer.Management.Smo.Column"&lt;/SPAN&gt;&lt;SPAN style="FONT-FAMILY: 'Courier New'; COLOR: black; FONT-SIZE: 10pt; mso-ansi-language: en-us"&gt; &lt;/SPAN&gt;&lt;I&gt;&lt;SPAN style="FONT-FAMILY: 'Courier New'; COLOR: cadetblue; FONT-SIZE: 10pt; mso-ansi-language: en-us"&gt;-ArgumentList&lt;/SPAN&gt;&lt;/I&gt;&lt;SPAN style="FONT-FAMILY: 'Courier New'; COLOR: black; FONT-SIZE: 10pt; mso-ansi-language: en-us"&gt; &lt;/SPAN&gt;&lt;SPAN style="FONT-FAMILY: 'Courier New'; COLOR: purple; FONT-SIZE: 10pt; mso-ansi-language: en-us"&gt;$f&lt;/SPAN&gt;&lt;SPAN style="FONT-FAMILY: 'Courier New'; COLOR: black; FONT-SIZE: 10pt; mso-ansi-language: en-us"&gt;, &lt;/SPAN&gt;&lt;SPAN style="FONT-FAMILY: 'Courier New'; COLOR: maroon; FONT-SIZE: 10pt; mso-ansi-language: en-us"&gt;"IsDir"&lt;/SPAN&gt;&lt;SPAN style="FONT-FAMILY: 'Courier New'; COLOR: black; FONT-SIZE: 10pt; mso-ansi-language: en-us"&gt;, $([&lt;/SPAN&gt;&lt;SPAN style="FONT-FAMILY: 'Courier New'; COLOR: teal; FONT-SIZE: 10pt; mso-ansi-language: en-us"&gt;Microsoft.SqlServer.Management.Smo.DataType&lt;/SPAN&gt;&lt;SPAN style="FONT-FAMILY: 'Courier New'; COLOR: black; FONT-SIZE: 10pt; mso-ansi-language: en-us"&gt;]::&lt;/SPAN&gt;&lt;SPAN style="FONT-FAMILY: 'Courier New'; COLOR: saddlebrown; FONT-SIZE: 10pt; mso-ansi-language: en-us"&gt;Bit&lt;/SPAN&gt;&lt;SPAN style="FONT-FAMILY: 'Courier New'; COLOR: black; FONT-SIZE: 10pt; mso-ansi-language: en-us"&gt;)&lt;o:p&gt;&lt;/o:p&gt;&lt;/SPAN&gt;&lt;/P&gt;
&lt;P style="LINE-HEIGHT: normal; MARGIN: 0in 0in 0pt; mso-layout-grid-align: none" class=MsoNormal&gt;&lt;SPAN style="FONT-FAMILY: 'Courier New'; COLOR: purple; FONT-SIZE: 10pt; mso-ansi-language: en-us"&gt;$f&lt;/SPAN&gt;&lt;SPAN style="FONT-FAMILY: 'Courier New'; COLOR: black; FONT-SIZE: 10pt; mso-ansi-language: en-us"&gt;.&lt;/SPAN&gt;&lt;SPAN style="FONT-FAMILY: 'Courier New'; COLOR: saddlebrown; FONT-SIZE: 10pt; mso-ansi-language: en-us"&gt;Columns&lt;/SPAN&gt;&lt;SPAN style="FONT-FAMILY: 'Courier New'; COLOR: black; FONT-SIZE: 10pt; mso-ansi-language: en-us"&gt;.&lt;/SPAN&gt;&lt;SPAN style="FONT-FAMILY: 'Courier New'; COLOR: saddlebrown; FONT-SIZE: 10pt; mso-ansi-language: en-us"&gt;Add&lt;/SPAN&gt;&lt;SPAN style="FONT-FAMILY: 'Courier New'; COLOR: black; FONT-SIZE: 10pt; mso-ansi-language: en-us"&gt;(&lt;/SPAN&gt;&lt;SPAN style="FONT-FAMILY: 'Courier New'; COLOR: purple; FONT-SIZE: 10pt; mso-ansi-language: en-us"&gt;$o&lt;/SPAN&gt;&lt;SPAN style="FONT-FAMILY: 'Courier New'; COLOR: black; FONT-SIZE: 10pt; mso-ansi-language: en-us"&gt;)&lt;o:p&gt;&lt;/o:p&gt;&lt;/SPAN&gt;&lt;/P&gt;
&lt;P style="LINE-HEIGHT: normal; MARGIN: 0in 0in 0pt; mso-layout-grid-align: none" class=MsoNormal&gt;&lt;SPAN style="FONT-FAMILY: 'Courier New'; COLOR: purple; FONT-SIZE: 10pt; mso-ansi-language: en-us"&gt;$f&lt;/SPAN&gt;&lt;SPAN style="FONT-FAMILY: 'Courier New'; COLOR: black; FONT-SIZE: 10pt; mso-ansi-language: en-us"&gt;.&lt;/SPAN&gt;&lt;SPAN style="FONT-FAMILY: 'Courier New'; COLOR: saddlebrown; FONT-SIZE: 10pt; mso-ansi-language: en-us"&gt;TableVariableName&lt;/SPAN&gt;&lt;SPAN style="FONT-FAMILY: 'Courier New'; COLOR: black; FONT-SIZE: 10pt; mso-ansi-language: en-us"&gt; &lt;/SPAN&gt;&lt;SPAN style="FONT-FAMILY: 'Courier New'; COLOR: red; FONT-SIZE: 10pt; mso-ansi-language: en-us"&gt;=&lt;/SPAN&gt;&lt;SPAN style="FONT-FAMILY: 'Courier New'; COLOR: black; FONT-SIZE: 10pt; mso-ansi-language: en-us"&gt; &lt;/SPAN&gt;&lt;SPAN style="FONT-FAMILY: 'Courier New'; COLOR: maroon; FONT-SIZE: 10pt; mso-ansi-language: en-us"&gt;""&lt;/SPAN&gt;&lt;SPAN style="FONT-FAMILY: 'Courier New'; COLOR: black; FONT-SIZE: 10pt; mso-ansi-language: en-us"&gt;&lt;o:p&gt;&lt;/o:p&gt;&lt;/SPAN&gt;&lt;/P&gt;
&lt;P style="LINE-HEIGHT: normal; MARGIN: 0in 0in 0pt; mso-layout-grid-align: none" class=MsoNormal&gt;&lt;SPAN style="FONT-FAMILY: 'Courier New'; COLOR: purple; FONT-SIZE: 10pt; mso-ansi-language: en-us"&gt;$f&lt;/SPAN&gt;&lt;SPAN style="FONT-FAMILY: 'Courier New'; COLOR: black; FONT-SIZE: 10pt; mso-ansi-language: en-us"&gt;.&lt;/SPAN&gt;&lt;SPAN style="FONT-FAMILY: 'Courier New'; COLOR: saddlebrown; FONT-SIZE: 10pt; mso-ansi-language: en-us"&gt;Create&lt;/SPAN&gt;&lt;SPAN style="FONT-FAMILY: 'Courier New'; COLOR: black; FONT-SIZE: 10pt; mso-ansi-language: en-us"&gt;()&lt;o:p&gt;&lt;/o:p&gt;&lt;/SPAN&gt;&lt;/P&gt;
&lt;P style="LINE-HEIGHT: normal; MARGIN: 0in 0in 0pt; mso-layout-grid-align: none" class=MsoNormal&gt;&lt;SPAN style="FONT-FAMILY: 'Courier New'; COLOR: black; FONT-SIZE: 10pt; mso-ansi-language: en-us"&gt;&lt;o:p&gt;&amp;nbsp;&lt;/o:p&gt;&lt;/SPAN&gt;&lt;/P&gt;
&lt;P style="MARGIN: 0in 2.55pt 0pt 0in" class=MsoNormal&gt;&lt;SPAN style="LINE-HEIGHT: 115%; FONT-FAMILY: 'Courier New'; COLOR: purple; FONT-SIZE: 10pt; mso-ansi-language: en-us"&gt;$srv&lt;/SPAN&gt;&lt;SPAN style="LINE-HEIGHT: 115%; FONT-FAMILY: 'Courier New'; COLOR: black; FONT-SIZE: 10pt; mso-ansi-language: en-us"&gt;.&lt;/SPAN&gt;&lt;SPAN style="LINE-HEIGHT: 115%; FONT-FAMILY: 'Courier New'; COLOR: saddlebrown; FONT-SIZE: 10pt; mso-ansi-language: en-us"&gt;ConnectionContext&lt;/SPAN&gt;&lt;SPAN style="LINE-HEIGHT: 115%; FONT-FAMILY: 'Courier New'; COLOR: black; FONT-SIZE: 10pt; mso-ansi-language: en-us"&gt;.&lt;/SPAN&gt;&lt;SPAN style="LINE-HEIGHT: 115%; FONT-FAMILY: 'Courier New'; COLOR: saddlebrown; FONT-SIZE: 10pt; mso-ansi-language: en-us"&gt;CapturedSql&lt;/SPAN&gt;&lt;SPAN style="LINE-HEIGHT: 115%; FONT-FAMILY: 'Courier New'; COLOR: black; FONT-SIZE: 10pt; mso-ansi-language: en-us"&gt;.&lt;/SPAN&gt;&lt;SPAN style="LINE-HEIGHT: 115%; FONT-FAMILY: 'Courier New'; COLOR: saddlebrown; FONT-SIZE: 10pt; mso-ansi-language: en-us"&gt;Text&lt;/SPAN&gt;&lt;SPAN style="LINE-HEIGHT: 115%; FONT-FAMILY: 'Courier New'; COLOR: black; FONT-SIZE: 10pt; mso-ansi-language: en-us"&gt; | &lt;/SPAN&gt;&lt;B&gt;&lt;SPAN style="LINE-HEIGHT: 115%; FONT-FAMILY: 'Courier New'; COLOR: cadetblue; FONT-SIZE: 10pt; mso-ansi-language: en-us"&gt;%&lt;/SPAN&gt;&lt;/B&gt;&lt;SPAN style="LINE-HEIGHT: 115%; FONT-FAMILY: 'Courier New'; COLOR: black; FONT-SIZE: 10pt; mso-ansi-language: en-us"&gt;{ &lt;/SPAN&gt;&lt;B&gt;&lt;SPAN style="LINE-HEIGHT: 115%; FONT-FAMILY: 'Courier New'; COLOR: cadetblue; FONT-SIZE: 10pt; mso-ansi-language: en-us"&gt;Write-Host&lt;/SPAN&gt;&lt;/B&gt;&lt;SPAN style="LINE-HEIGHT: 115%; FONT-FAMILY: 'Courier New'; COLOR: black; FONT-SIZE: 10pt; mso-ansi-language: en-us"&gt; &lt;/SPAN&gt;&lt;SPAN style="LINE-HEIGHT: 115%; FONT-FAMILY: 'Courier New'; COLOR: navy; FONT-SIZE: 10pt; mso-ansi-language: en-us"&gt;$_&lt;/SPAN&gt;&lt;SPAN style="LINE-HEIGHT: 115%; FONT-FAMILY: 'Courier New'; COLOR: black; FONT-SIZE: 10pt; mso-ansi-language: en-us"&gt;}&lt;/SPAN&gt;&lt;SPAN style="LINE-HEIGHT: 115%; FONT-FAMILY: 'Courier New'; COLOR: black; FONT-SIZE: 10pt" lang=RU&gt;&lt;o:p&gt;&lt;/o:p&gt;&lt;/SPAN&gt;&lt;/P&gt;
&lt;P style="MARGIN: 0in 2.55pt 0pt 0in" class=MsoNormal&gt;&lt;FONT size=3&gt;&lt;FONT face=Calibri&gt;&lt;SPAN lang=RU&gt;Скрипт&lt;/SPAN&gt;&lt;SPAN style="mso-ansi-language: en-us" lang=RU&gt; &lt;/SPAN&gt;&lt;SPAN lang=RU&gt;9&lt;/SPAN&gt;&lt;/FONT&gt;&lt;/FONT&gt;&lt;/P&gt;
&lt;P style="MARGIN: 0in 2.55pt 0pt 0in" class=MsoNormal&gt;&lt;SPAN style="mso-ansi-language: en-us"&gt;&lt;o:p&gt;&lt;FONT size=3 face=Calibri&gt;&amp;nbsp;&lt;/FONT&gt;&lt;/o:p&gt;&lt;/SPAN&gt;&lt;/P&gt;
&lt;P style="MARGIN: 0in 2.55pt 0pt 0in" class=MsoNormal&gt;&lt;SPAN style="mso-ansi-language: en-us"&gt;&lt;o:p&gt;&lt;A href="http://blogs.msdn.com/blogfiles/alexejs/WindowsLiveWriter/SMO.CaptureSQL_92EB/image009_2.png" mce_href="http://blogs.msdn.com/blogfiles/alexejs/WindowsLiveWriter/SMO.CaptureSQL_92EB/image009_2.png"&gt;&lt;IMG style="BORDER-BOTTOM: 0px; BORDER-LEFT: 0px; DISPLAY: inline; BORDER-TOP: 0px; BORDER-RIGHT: 0px" title=image009 border=0 alt=image009 src="http://blogs.msdn.com/blogfiles/alexejs/WindowsLiveWriter/SMO.CaptureSQL_92EB/image009_thumb.png" width=1047 height=721 mce_src="http://blogs.msdn.com/blogfiles/alexejs/WindowsLiveWriter/SMO.CaptureSQL_92EB/image009_thumb.png"&gt;&lt;/A&gt; &lt;/o:p&gt;&lt;/SPAN&gt;&lt;/P&gt;
&lt;P style="MARGIN: 0in 2.55pt 0pt 0in" class=MsoNormal&gt;&lt;SPAN style="mso-ansi-language: en-us; mso-no-proof: yes"&gt;&lt;v:shape style="WIDTH: 467.25pt; HEIGHT: 320.25pt; VISIBILITY: visible; mso-wrap-style: square" id=Picture_x0020_1 type="#_x0000_t75" o:spid="_x0000_i1025"&gt;&lt;v:imagedata mce_src="file:///C:\Users\alexejs\AppData\Local\Temp\1\msohtmlclip1\01\clip_image005.png" o:title="" src="file:///C:\Users\alexejs\AppData\Local\Temp\1\msohtmlclip1\01\clip_image005.png"&gt;&lt;FONT size=3 face=Calibri&gt;&lt;/FONT&gt;&lt;/v:imagedata&gt;&lt;/v:shape&gt;&lt;/SPAN&gt;&lt;/P&gt;
&lt;P style="MARGIN: 0in 2.55pt 0pt 0in" class=MsoNormal&gt;&lt;SPAN lang=RU&gt;&lt;FONT size=3 face=Calibri&gt;Рис.5&lt;/FONT&gt;&lt;/SPAN&gt;&lt;/P&gt;
&lt;P style="MARGIN: 0in 2.55pt 0pt 0in" class=MsoNormal&gt;&lt;SPAN lang=RU&gt;&lt;o:p&gt;&lt;FONT size=3 face=Calibri&gt;&amp;nbsp;&lt;/FONT&gt;&lt;/o:p&gt;&lt;/SPAN&gt;&lt;/P&gt;
&lt;P style="MARGIN: 0in 2.55pt 0pt 0in" class=MsoNormal&gt;&lt;FONT size=3&gt;&lt;FONT face=Calibri&gt;&lt;SPAN lang=RU&gt;В случае, когда дерево зависимостей от объекта априорно неизвестно, следует прибегнуть к Microsoft.SqlServer.Management.Smo.DependencyТree, DependencyCollection и кодогенерации &lt;/SPAN&gt;&lt;SPAN style="mso-ansi-language: en-us"&gt;DDL&lt;/SPAN&gt;&lt;SPAN lang=RU&gt; средствами скриптера, как показывалось в &lt;A href="http://blogs.msdn.com/alexejs/archive/2009/08/26/ps1.aspx" mce_href="http://blogs.msdn.com/alexejs/archive/2009/08/26/ps1.aspx"&gt;предыдущем посте&lt;/A&gt;.&lt;/SPAN&gt;&lt;/FONT&gt;&lt;/FONT&gt;&lt;/P&gt;&lt;img src="http://blogs.msdn.com/aggbug.aspx?PostID=9889245" width="1" height="1"&gt;</description></item><item><title>Автоматический редеплоймент сборки. PS1</title><link>http://blogs.msdn.com/alexejs/archive/2009/08/26/ps1.aspx</link><pubDate>Wed, 26 Aug 2009 11:14:00 GMT</pubDate><guid isPermaLink="false">91d46819-8472-40ad-a661-2c78acb4018c:9884876</guid><dc:creator>alexejs</dc:creator><slash:comments>0</slash:comments><comments>http://blogs.msdn.com/alexejs/comments/9884876.aspx</comments><wfw:commentRss>http://blogs.msdn.com/alexejs/commentrss.aspx?PostID=9884876</wfw:commentRss><description>&lt;P style="LINE-HEIGHT: normal; MARGIN: 0in 0in 0pt; mso-layout-grid-align: none" class=MsoNormal&gt;&lt;FONT size=3&gt;&lt;FONT face=Calibri&gt;&lt;SPAN lang=RU&gt;Я ожидал, что в комментах к предыдущему посту какая-нибудь добрая душа выложит Powershellьный вариант кода, и я с радостью им воспользуюсь, чтобы всякий раз не открывать Visual Studio. Нет, никто не сподобился. Пассивная масса. &lt;/SPAN&gt;&lt;/FONT&gt;&lt;/FONT&gt;&lt;/P&gt;
&lt;P style="LINE-HEIGHT: normal; MARGIN: 0in 0in 0pt; mso-layout-grid-align: none" class=MsoNormal&gt;&lt;FONT size=3&gt;&lt;FONT face=Calibri&gt;&lt;SPAN lang=RU&gt;Пришлось самому на старости лет засучать рукава и, кряхтя, осваивать &lt;/SPAN&gt;&lt;SPAN style="mso-ansi-language: EN-US"&gt;PowerShell&lt;/SPAN&gt;&lt;SPAN lang=RU&gt;. Какой забавный язык! (с) граф типа отец Боярского в "Собаке на сене". &lt;/SPAN&gt;&lt;/FONT&gt;&lt;/FONT&gt;&lt;/P&gt;
&lt;P style="LINE-HEIGHT: normal; MARGIN: 0in 0in 0pt; mso-layout-grid-align: none" class=MsoNormal&gt;&lt;FONT size=3&gt;&lt;FONT face=Calibri&gt;&lt;SPAN lang=RU&gt;Ну, не взыщите. Приведенный ниже скрипт на &lt;/SPAN&gt;&lt;SPAN style="mso-ansi-language: EN-US"&gt;PowerShell&lt;/SPAN&gt;&lt;SPAN lang=RU&gt; является аналогом сишарпейного кода "&lt;A href="http://blogs.msdn.com/alexejs/archive/2009/08/24/9882457.aspx" mce_href="http://blogs.msdn.com/alexejs/archive/2009/08/24/9882457.aspx"&gt;Автоматический редеплоймент сборки&lt;/A&gt;"\Скрипт 4. &lt;/SPAN&gt;&lt;/FONT&gt;&lt;/FONT&gt;&lt;/P&gt;
&lt;P style="LINE-HEIGHT: normal; MARGIN: 0in 0in 0pt; mso-layout-grid-align: none" class=MsoNormal&gt;&lt;SPAN lang=RU&gt;&lt;?xml:namespace prefix = o ns = "urn:schemas-microsoft-com:office:office" /&gt;&lt;o:p&gt;&lt;FONT size=3 face=Calibri&gt;&amp;nbsp;&lt;/FONT&gt;&lt;/o:p&gt;&lt;/SPAN&gt;&lt;/P&gt;
&lt;P style="LINE-HEIGHT: normal; MARGIN: 0in 0in 0pt; mso-layout-grid-align: none" class=MsoNormal&gt;&lt;SPAN lang=RU&gt;&lt;FONT size=3 face=Calibri&gt;Имеется dll, из которой на SQL Server по имени &lt;/FONT&gt;&lt;/SPAN&gt;&lt;SPAN style="FONT-FAMILY: 'Courier New'; COLOR: purple; FONT-SIZE: 10pt" lang=RU&gt;$&lt;/SPAN&gt;&lt;SPAN style="FONT-FAMILY: 'Courier New'; COLOR: purple; FONT-SIZE: 10pt; mso-ansi-language: EN-US"&gt;srvName&lt;/SPAN&gt;&lt;FONT size=3&gt;&lt;FONT face=Calibri&gt; &lt;SPAN lang=RU&gt;в базе &lt;/SPAN&gt;&lt;/FONT&gt;&lt;/FONT&gt;&lt;SPAN style="FONT-FAMILY: 'Courier New'; COLOR: purple; FONT-SIZE: 10pt" lang=RU&gt;$&lt;/SPAN&gt;&lt;SPAN style="FONT-FAMILY: 'Courier New'; COLOR: purple; FONT-SIZE: 10pt; mso-ansi-language: EN-US"&gt;dbName&lt;/SPAN&gt;&lt;FONT size=3&gt;&lt;FONT face=Calibri&gt; &lt;SPAN lang=RU&gt;сделана сборка по имени &lt;/SPAN&gt;&lt;/FONT&gt;&lt;/FONT&gt;&lt;SPAN style="FONT-FAMILY: 'Courier New'; COLOR: purple; FONT-SIZE: 10pt" lang=RU&gt;$&lt;/SPAN&gt;&lt;SPAN style="FONT-FAMILY: 'Courier New'; COLOR: purple; FONT-SIZE: 10pt; mso-ansi-language: EN-US"&gt;asmName&lt;/SPAN&gt;&lt;SPAN lang=RU&gt;&lt;FONT size=3 face=Calibri&gt;, а из нее разные процедуры и функции. В dll чего-нибудь поменяли, и сборку нужно передеплоить: убить все ее процедуры и функции, саму сборку, создать ее заново, пересоздать существовавшие на ее основе процедуры и функции. Если от ее процедур и функций успели стать зависимыми еще какие-нибудь объекты, цепочка, соответственно, удлиняется с двух сторон.&lt;/FONT&gt;&lt;/SPAN&gt;&lt;/P&gt;
&lt;P style="LINE-HEIGHT: normal; MARGIN: 0in 0in 0pt; mso-layout-grid-align: none" class=MsoNormal&gt;&lt;SPAN lang=RU&gt;&lt;o:p&gt;&lt;FONT size=3 face=Calibri&gt;&amp;nbsp;&lt;/FONT&gt;&lt;/o:p&gt;&lt;/SPAN&gt;&lt;/P&gt;
&lt;P style="LINE-HEIGHT: normal; MARGIN: 0in 0in 0pt; mso-layout-grid-align: none" class=MsoNormal&gt;&lt;SPAN lang=RU&gt;&lt;FONT size=3 face=Calibri&gt;Если изменение в dll означало, что из нее удалились или добавились какие-нибудь методы, на основе которых существовали или предстоит создать SQLные модули, $scriptToCreate надо сохранить в файл, сделать возможность его откорректировать и уже потом выполнять.&lt;/FONT&gt;&lt;/SPAN&gt;&lt;/P&gt;
&lt;P style="LINE-HEIGHT: normal; MARGIN: 0in 0in 0pt; mso-layout-grid-align: none" class=MsoNormal&gt;&lt;SPAN lang=RU&gt;&lt;o:p&gt;&lt;FONT size=3 face=Calibri&gt;&amp;nbsp;&lt;/FONT&gt;&lt;/o:p&gt;&lt;/SPAN&gt;&lt;/P&gt;
&lt;P style="LINE-HEIGHT: normal; MARGIN: 0in 0in 0pt; mso-layout-grid-align: none" class=MsoNormal&gt;&lt;SPAN style="FONT-FAMILY: 'Courier New'; COLOR: black; FONT-SIZE: 10pt" lang=RU&gt;[&lt;/SPAN&gt;&lt;SPAN style="FONT-FAMILY: 'Courier New'; COLOR: teal; FONT-SIZE: 10pt; mso-ansi-language: EN-US"&gt;reflection&lt;/SPAN&gt;&lt;SPAN style="FONT-FAMILY: 'Courier New'; COLOR: teal; FONT-SIZE: 10pt" lang=RU&gt;.&lt;/SPAN&gt;&lt;SPAN style="FONT-FAMILY: 'Courier New'; COLOR: teal; FONT-SIZE: 10pt; mso-ansi-language: EN-US"&gt;assembly&lt;/SPAN&gt;&lt;SPAN style="FONT-FAMILY: 'Courier New'; COLOR: black; FONT-SIZE: 10pt" lang=RU&gt;]::&lt;/SPAN&gt;&lt;SPAN style="FONT-FAMILY: 'Courier New'; COLOR: saddlebrown; FONT-SIZE: 10pt; mso-ansi-language: EN-US"&gt;LoadWithPartialName&lt;/SPAN&gt;&lt;SPAN style="FONT-FAMILY: 'Courier New'; COLOR: black; FONT-SIZE: 10pt" lang=RU&gt;(&lt;/SPAN&gt;&lt;SPAN style="FONT-FAMILY: 'Courier New'; COLOR: maroon; FONT-SIZE: 10pt" lang=RU&gt;"&lt;/SPAN&gt;&lt;SPAN style="FONT-FAMILY: 'Courier New'; COLOR: maroon; FONT-SIZE: 10pt; mso-ansi-language: EN-US"&gt;Microsoft&lt;/SPAN&gt;&lt;SPAN style="FONT-FAMILY: 'Courier New'; COLOR: maroon; FONT-SIZE: 10pt" lang=RU&gt;.&lt;/SPAN&gt;&lt;SPAN style="FONT-FAMILY: 'Courier New'; COLOR: maroon; FONT-SIZE: 10pt; mso-ansi-language: EN-US"&gt;SqlServer&lt;/SPAN&gt;&lt;SPAN style="FONT-FAMILY: 'Courier New'; COLOR: maroon; FONT-SIZE: 10pt" lang=RU&gt;.&lt;/SPAN&gt;&lt;SPAN style="FONT-FAMILY: 'Courier New'; COLOR: maroon; FONT-SIZE: 10pt; mso-ansi-language: EN-US"&gt;Smo&lt;/SPAN&gt;&lt;SPAN style="FONT-FAMILY: 'Courier New'; COLOR: maroon; FONT-SIZE: 10pt" lang=RU&gt;"&lt;/SPAN&gt;&lt;SPAN style="FONT-FAMILY: 'Courier New'; COLOR: black; FONT-SIZE: 10pt" lang=RU&gt;) | &lt;/SPAN&gt;&lt;B&gt;&lt;SPAN style="FONT-FAMILY: 'Courier New'; COLOR: cadetblue; FONT-SIZE: 10pt; mso-ansi-language: EN-US"&gt;Out&lt;/SPAN&gt;&lt;/B&gt;&lt;B&gt;&lt;SPAN style="FONT-FAMILY: 'Courier New'; COLOR: cadetblue; FONT-SIZE: 10pt" lang=RU&gt;-&lt;/SPAN&gt;&lt;/B&gt;&lt;B&gt;&lt;SPAN style="FONT-FAMILY: 'Courier New'; COLOR: cadetblue; FONT-SIZE: 10pt; mso-ansi-language: EN-US"&gt;Null&lt;/SPAN&gt;&lt;/B&gt;&lt;SPAN style="FONT-FAMILY: 'Courier New'; COLOR: black; FONT-SIZE: 10pt" lang=RU&gt;&lt;o:p&gt;&lt;/o:p&gt;&lt;/SPAN&gt;&lt;/P&gt;
&lt;P style="LINE-HEIGHT: normal; MARGIN: 0in 0in 0pt; mso-layout-grid-align: none" class=MsoNormal&gt;&lt;SPAN style="FONT-FAMILY: 'Courier New'; COLOR: black; FONT-SIZE: 10pt" lang=RU&gt;&lt;o:p&gt;&amp;nbsp;&lt;/o:p&gt;&lt;/SPAN&gt;&lt;/P&gt;
&lt;P style="LINE-HEIGHT: normal; MARGIN: 0in 0in 0pt; mso-layout-grid-align: none" class=MsoNormal&gt;&lt;SPAN style="FONT-FAMILY: 'Courier New'; COLOR: blue; FONT-SIZE: 10pt; mso-ansi-language: EN-US"&gt;function&lt;/SPAN&gt;&lt;SPAN style="FONT-FAMILY: 'Courier New'; COLOR: black; FONT-SIZE: 10pt"&gt; &lt;/SPAN&gt;&lt;SPAN style="FONT-FAMILY: 'Courier New'; COLOR: cadetblue; FONT-SIZE: 10pt; mso-ansi-language: EN-US"&gt;Main&lt;/SPAN&gt;&lt;SPAN style="FONT-FAMILY: 'Courier New'; COLOR: black; FONT-SIZE: 10pt" lang=RU&gt;()&lt;o:p&gt;&lt;/o:p&gt;&lt;/SPAN&gt;&lt;/P&gt;
&lt;P style="LINE-HEIGHT: normal; MARGIN: 0in 0in 0pt; mso-layout-grid-align: none" class=MsoNormal&gt;&lt;SPAN style="FONT-FAMILY: 'Courier New'; COLOR: black; FONT-SIZE: 10pt" lang=RU&gt;{&lt;o:p&gt;&lt;/o:p&gt;&lt;/SPAN&gt;&lt;/P&gt;
&lt;P style="LINE-HEIGHT: normal; MARGIN: 0in 0in 0pt; mso-layout-grid-align: none" class=MsoNormal&gt;&lt;SPAN style="FONT-FAMILY: 'Courier New'; COLOR: black; FONT-SIZE: 10pt; mso-ansi-language: EN-US"&gt;cls&lt;/SPAN&gt;&lt;SPAN style="FONT-FAMILY: 'Courier New'; COLOR: black; FONT-SIZE: 10pt" lang=RU&gt;&lt;o:p&gt;&lt;/o:p&gt;&lt;/SPAN&gt;&lt;/P&gt;
&lt;P style="LINE-HEIGHT: normal; MARGIN: 0in 0in 0pt; mso-layout-grid-align: none" class=MsoNormal&gt;&lt;SPAN style="FONT-FAMILY: 'Courier New'; COLOR: black; FONT-SIZE: 10pt" lang=RU&gt;&lt;o:p&gt;&amp;nbsp;&lt;/o:p&gt;&lt;/SPAN&gt;&lt;/P&gt;
&lt;P style="LINE-HEIGHT: normal; MARGIN: 0in 0in 0pt; mso-layout-grid-align: none" class=MsoNormal&gt;&lt;SPAN style="FONT-FAMILY: 'Courier New'; COLOR: purple; FONT-SIZE: 10pt" lang=RU&gt;$&lt;/SPAN&gt;&lt;SPAN style="FONT-FAMILY: 'Courier New'; COLOR: purple; FONT-SIZE: 10pt; mso-ansi-language: EN-US"&gt;srvName&lt;/SPAN&gt;&lt;SPAN style="FONT-FAMILY: 'Courier New'; COLOR: black; FONT-SIZE: 10pt; mso-ansi-language: EN-US"&gt; &lt;/SPAN&gt;&lt;SPAN style="FONT-FAMILY: 'Courier New'; COLOR: red; FONT-SIZE: 10pt; mso-ansi-language: EN-US"&gt;=&lt;/SPAN&gt;&lt;SPAN style="FONT-FAMILY: 'Courier New'; COLOR: black; FONT-SIZE: 10pt; mso-ansi-language: EN-US"&gt; &lt;/SPAN&gt;&lt;SPAN style="FONT-FAMILY: 'Courier New'; COLOR: maroon; FONT-SIZE: 10pt; mso-ansi-language: EN-US"&gt;""&lt;/SPAN&gt;&lt;SPAN style="FONT-FAMILY: 'Courier New'; COLOR: black; FONT-SIZE: 10pt; mso-ansi-language: EN-US"&gt;; &lt;/SPAN&gt;&lt;SPAN style="FONT-FAMILY: 'Courier New'; COLOR: purple; FONT-SIZE: 10pt; mso-ansi-language: EN-US"&gt;$dbName&lt;/SPAN&gt;&lt;SPAN style="FONT-FAMILY: 'Courier New'; COLOR: black; FONT-SIZE: 10pt; mso-ansi-language: EN-US"&gt; &lt;/SPAN&gt;&lt;SPAN style="FONT-FAMILY: 'Courier New'; COLOR: red; FONT-SIZE: 10pt; mso-ansi-language: EN-US"&gt;=&lt;/SPAN&gt;&lt;SPAN style="FONT-FAMILY: 'Courier New'; COLOR: black; FONT-SIZE: 10pt; mso-ansi-language: EN-US"&gt; &lt;/SPAN&gt;&lt;SPAN style="FONT-FAMILY: 'Courier New'; COLOR: maroon; FONT-SIZE: 10pt; mso-ansi-language: EN-US"&gt;"TestFS"&lt;/SPAN&gt;&lt;SPAN style="FONT-FAMILY: 'Courier New'; COLOR: black; FONT-SIZE: 10pt; mso-ansi-language: EN-US"&gt;; &lt;/SPAN&gt;&lt;SPAN style="FONT-FAMILY: 'Courier New'; COLOR: purple; FONT-SIZE: 10pt; mso-ansi-language: EN-US"&gt;$asmName&lt;/SPAN&gt;&lt;SPAN style="FONT-FAMILY: 'Courier New'; COLOR: black; FONT-SIZE: 10pt; mso-ansi-language: EN-US"&gt; &lt;/SPAN&gt;&lt;SPAN style="FONT-FAMILY: 'Courier New'; COLOR: red; FONT-SIZE: 10pt; mso-ansi-language: EN-US"&gt;=&lt;/SPAN&gt;&lt;SPAN style="FONT-FAMILY: 'Courier New'; COLOR: black; FONT-SIZE: 10pt; mso-ansi-language: EN-US"&gt; &lt;/SPAN&gt;&lt;SPAN style="FONT-FAMILY: 'Courier New'; COLOR: maroon; FONT-SIZE: 10pt; mso-ansi-language: EN-US"&gt;"MyAssembly"&lt;/SPAN&gt;&lt;SPAN style="FONT-FAMILY: 'Courier New'; COLOR: black; FONT-SIZE: 10pt; mso-ansi-language: EN-US"&gt;&lt;o:p&gt;&lt;/o:p&gt;&lt;/SPAN&gt;&lt;/P&gt;
&lt;P style="LINE-HEIGHT: normal; MARGIN: 0in 0in 0pt; mso-layout-grid-align: none" class=MsoNormal&gt;&lt;SPAN style="FONT-FAMILY: 'Courier New'; COLOR: purple; FONT-SIZE: 10pt; mso-ansi-language: EN-US"&gt;$srv&lt;/SPAN&gt;&lt;SPAN style="FONT-FAMILY: 'Courier New'; COLOR: black; FONT-SIZE: 10pt; mso-ansi-language: EN-US"&gt; &lt;/SPAN&gt;&lt;SPAN style="FONT-FAMILY: 'Courier New'; COLOR: red; FONT-SIZE: 10pt; mso-ansi-language: EN-US"&gt;=&lt;/SPAN&gt;&lt;SPAN style="FONT-FAMILY: 'Courier New'; COLOR: black; FONT-SIZE: 10pt; mso-ansi-language: EN-US"&gt; &lt;/SPAN&gt;&lt;B&gt;&lt;SPAN style="FONT-FAMILY: 'Courier New'; COLOR: cadetblue; FONT-SIZE: 10pt; mso-ansi-language: EN-US"&gt;new-object&lt;/SPAN&gt;&lt;/B&gt;&lt;SPAN style="FONT-FAMILY: 'Courier New'; COLOR: black; FONT-SIZE: 10pt; mso-ansi-language: EN-US"&gt; &lt;/SPAN&gt;&lt;I&gt;&lt;SPAN style="FONT-FAMILY: 'Courier New'; COLOR: cadetblue; FONT-SIZE: 10pt; mso-ansi-language: EN-US"&gt;-TypeName&lt;/SPAN&gt;&lt;/I&gt;&lt;SPAN style="FONT-FAMILY: 'Courier New'; COLOR: black; FONT-SIZE: 10pt; mso-ansi-language: EN-US"&gt; &lt;/SPAN&gt;&lt;SPAN style="FONT-FAMILY: 'Courier New'; COLOR: maroon; FONT-SIZE: 10pt; mso-ansi-language: EN-US"&gt;"Microsoft.SqlServer.Management.Smo.Server"&lt;/SPAN&gt;&lt;SPAN style="FONT-FAMILY: 'Courier New'; COLOR: black; FONT-SIZE: 10pt; mso-ansi-language: EN-US"&gt; &lt;/SPAN&gt;&lt;I&gt;&lt;SPAN style="FONT-FAMILY: 'Courier New'; COLOR: cadetblue; FONT-SIZE: 10pt; mso-ansi-language: EN-US"&gt;-ArgumentList&lt;/SPAN&gt;&lt;/I&gt;&lt;SPAN style="FONT-FAMILY: 'Courier New'; COLOR: black; FONT-SIZE: 10pt; mso-ansi-language: EN-US"&gt; &lt;/SPAN&gt;&lt;SPAN style="FONT-FAMILY: 'Courier New'; COLOR: purple; FONT-SIZE: 10pt; mso-ansi-language: EN-US"&gt;$srvName&lt;/SPAN&gt;&lt;SPAN style="FONT-FAMILY: 'Courier New'; COLOR: black; FONT-SIZE: 10pt; mso-ansi-language: EN-US"&gt;&lt;o:p&gt;&lt;/o:p&gt;&lt;/SPAN&gt;&lt;/P&gt;
&lt;P style="LINE-HEIGHT: normal; MARGIN: 0in 0in 0pt; mso-layout-grid-align: none" class=MsoNormal&gt;&lt;SPAN style="FONT-FAMILY: 'Courier New'; COLOR: purple; FONT-SIZE: 10pt; mso-ansi-language: EN-US"&gt;$db&lt;/SPAN&gt;&lt;SPAN style="FONT-FAMILY: 'Courier New'; COLOR: black; FONT-SIZE: 10pt; mso-ansi-language: EN-US"&gt; &lt;/SPAN&gt;&lt;SPAN style="FONT-FAMILY: 'Courier New'; COLOR: red; FONT-SIZE: 10pt; mso-ansi-language: EN-US"&gt;=&lt;/SPAN&gt;&lt;SPAN style="FONT-FAMILY: 'Courier New'; COLOR: black; FONT-SIZE: 10pt; mso-ansi-language: EN-US"&gt; &lt;/SPAN&gt;&lt;SPAN style="FONT-FAMILY: 'Courier New'; COLOR: purple; FONT-SIZE: 10pt; mso-ansi-language: EN-US"&gt;$srv&lt;/SPAN&gt;&lt;SPAN style="FONT-FAMILY: 'Courier New'; COLOR: black; FONT-SIZE: 10pt; mso-ansi-language: EN-US"&gt;.Databases[&lt;/SPAN&gt;&lt;SPAN style="FONT-FAMILY: 'Courier New'; COLOR: purple; FONT-SIZE: 10pt; mso-ansi-language: EN-US"&gt;$dbName&lt;/SPAN&gt;&lt;SPAN style="FONT-FAMILY: 'Courier New'; COLOR: black; FONT-SIZE: 10pt; mso-ansi-language: EN-US"&gt;]&lt;o:p&gt;&lt;/o:p&gt;&lt;/SPAN&gt;&lt;/P&gt;
&lt;P style="LINE-HEIGHT: normal; MARGIN: 0in 0in 0pt; mso-layout-grid-align: none" class=MsoNormal&gt;&lt;SPAN style="FONT-FAMILY: 'Courier New'; COLOR: purple; FONT-SIZE: 10pt; mso-ansi-language: EN-US"&gt;$asm&lt;/SPAN&gt;&lt;SPAN style="FONT-FAMILY: 'Courier New'; COLOR: black; FONT-SIZE: 10pt; mso-ansi-language: EN-US"&gt; &lt;/SPAN&gt;&lt;SPAN style="FONT-FAMILY: 'Courier New'; COLOR: red; FONT-SIZE: 10pt; mso-ansi-language: EN-US"&gt;=&lt;/SPAN&gt;&lt;SPAN style="FONT-FAMILY: 'Courier New'; COLOR: black; FONT-SIZE: 10pt; mso-ansi-language: EN-US"&gt; &lt;/SPAN&gt;&lt;SPAN style="FONT-FAMILY: 'Courier New'; COLOR: purple; FONT-SIZE: 10pt; mso-ansi-language: EN-US"&gt;$db&lt;/SPAN&gt;&lt;SPAN style="FONT-FAMILY: 'Courier New'; COLOR: black; FONT-SIZE: 10pt; mso-ansi-language: EN-US"&gt;.Assemblies[&lt;/SPAN&gt;&lt;SPAN style="FONT-FAMILY: 'Courier New'; COLOR: purple; FONT-SIZE: 10pt; mso-ansi-language: EN-US"&gt;$asmName&lt;/SPAN&gt;&lt;SPAN style="FONT-FAMILY: 'Courier New'; COLOR: black; FONT-SIZE: 10pt; mso-ansi-language: EN-US"&gt;];&lt;o:p&gt;&lt;/o:p&gt;&lt;/SPAN&gt;&lt;/P&gt;
&lt;P style="LINE-HEIGHT: normal; MARGIN: 0in 0in 0pt; mso-layout-grid-align: none" class=MsoNormal&gt;&lt;SPAN style="FONT-FAMILY: 'Courier New'; COLOR: black; FONT-SIZE: 10pt; mso-ansi-language: EN-US"&gt;&lt;o:p&gt;&amp;nbsp;&lt;/o:p&gt;&lt;/SPAN&gt;&lt;/P&gt;
&lt;P style="LINE-HEIGHT: normal; MARGIN: 0in 0in 0pt; mso-layout-grid-align: none" class=MsoNormal&gt;&lt;SPAN style="FONT-FAMILY: 'Courier New'; COLOR: purple; FONT-SIZE: 10pt; mso-ansi-language: EN-US"&gt;$scr&lt;/SPAN&gt;&lt;SPAN style="FONT-FAMILY: 'Courier New'; COLOR: black; FONT-SIZE: 10pt; mso-ansi-language: EN-US"&gt; &lt;/SPAN&gt;&lt;SPAN style="FONT-FAMILY: 'Courier New'; COLOR: red; FONT-SIZE: 10pt; mso-ansi-language: EN-US"&gt;=&lt;/SPAN&gt;&lt;SPAN style="FONT-FAMILY: 'Courier New'; COLOR: black; FONT-SIZE: 10pt; mso-ansi-language: EN-US"&gt; &lt;/SPAN&gt;&lt;B&gt;&lt;SPAN style="FONT-FAMILY: 'Courier New'; COLOR: cadetblue; FONT-SIZE: 10pt; mso-ansi-language: EN-US"&gt;New-Object&lt;/SPAN&gt;&lt;/B&gt;&lt;SPAN style="FONT-FAMILY: 'Courier New'; COLOR: black; FONT-SIZE: 10pt; mso-ansi-language: EN-US"&gt; &lt;/SPAN&gt;&lt;I&gt;&lt;SPAN style="FONT-FAMILY: 'Courier New'; COLOR: cadetblue; FONT-SIZE: 10pt; mso-ansi-language: EN-US"&gt;-TypeName&lt;/SPAN&gt;&lt;/I&gt;&lt;SPAN style="FONT-FAMILY: 'Courier New'; COLOR: black; FONT-SIZE: 10pt; mso-ansi-language: EN-US"&gt; &lt;/SPAN&gt;&lt;SPAN style="FONT-FAMILY: 'Courier New'; COLOR: maroon; FONT-SIZE: 10pt; mso-ansi-language: EN-US"&gt;"Microsoft.SqlServer.Management.Smo.Scripter"&lt;/SPAN&gt;&lt;SPAN style="FONT-FAMILY: 'Courier New'; COLOR: black; FONT-SIZE: 10pt; mso-ansi-language: EN-US"&gt; &lt;/SPAN&gt;&lt;I&gt;&lt;SPAN style="FONT-FAMILY: 'Courier New'; COLOR: cadetblue; FONT-SIZE: 10pt; mso-ansi-language: EN-US"&gt;-ArgumentList&lt;/SPAN&gt;&lt;/I&gt;&lt;SPAN style="FONT-FAMILY: 'Courier New'; COLOR: black; FONT-SIZE: 10pt; mso-ansi-language: EN-US"&gt; &lt;/SPAN&gt;&lt;SPAN style="FONT-FAMILY: 'Courier New'; COLOR: purple; FONT-SIZE: 10pt; mso-ansi-language: EN-US"&gt;$srv&lt;/SPAN&gt;&lt;SPAN style="FONT-FAMILY: 'Courier New'; COLOR: black; FONT-SIZE: 10pt; mso-ansi-language: EN-US"&gt;&lt;o:p&gt;&lt;/o:p&gt;&lt;/SPAN&gt;&lt;/P&gt;
&lt;P style="LINE-HEIGHT: normal; MARGIN: 0in 0in 0pt; mso-layout-grid-align: none" class=MsoNormal&gt;&lt;SPAN style="FONT-FAMILY: 'Courier New'; COLOR: purple; FONT-SIZE: 10pt; mso-ansi-language: EN-US"&gt;$scr&lt;/SPAN&gt;&lt;SPAN style="FONT-FAMILY: 'Courier New'; COLOR: black; FONT-SIZE: 10pt; mso-ansi-language: EN-US"&gt;.Options.SchemaQualify &lt;/SPAN&gt;&lt;SPAN style="FONT-FAMILY: 'Courier New'; COLOR: red; FONT-SIZE: 10pt; mso-ansi-language: EN-US"&gt;=&lt;/SPAN&gt;&lt;SPAN style="FONT-FAMILY: 'Courier New'; COLOR: black; FONT-SIZE: 10pt; mso-ansi-language: EN-US"&gt; &lt;/SPAN&gt;&lt;SPAN style="FONT-FAMILY: 'Courier New'; COLOR: blue; FONT-SIZE: 10pt; mso-ansi-language: EN-US"&gt;$true&lt;/SPAN&gt;&lt;SPAN style="FONT-FAMILY: 'Courier New'; COLOR: black; FONT-SIZE: 10pt; mso-ansi-language: EN-US"&gt; &lt;/SPAN&gt;&lt;SPAN style="FONT-FAMILY: 'Courier New'; COLOR: green; FONT-SIZE: 10pt; mso-ansi-language: EN-US"&gt;#чтобы объекты скриптовались со своими схемами (dbo, ...)&lt;o:p&gt;&lt;/o:p&gt;&lt;/SPAN&gt;&lt;/P&gt;
&lt;P style="LINE-HEIGHT: normal; MARGIN: 0in 0in 0pt; mso-layout-grid-align: none" class=MsoNormal&gt;&lt;SPAN style="FONT-FAMILY: 'Courier New'; COLOR: purple; FONT-SIZE: 10pt; mso-ansi-language: EN-US"&gt;$scr&lt;/SPAN&gt;&lt;SPAN style="FONT-FAMILY: 'Courier New'; COLOR: black; FONT-SIZE: 10pt; mso-ansi-language: EN-US"&gt;.Options.IncludeIfNotExists &lt;/SPAN&gt;&lt;SPAN style="FONT-FAMILY: 'Courier New'; COLOR: red; FONT-SIZE: 10pt; mso-ansi-language: EN-US"&gt;=&lt;/SPAN&gt;&lt;SPAN style="FONT-FAMILY: 'Courier New'; COLOR: black; FONT-SIZE: 10pt; mso-ansi-language: EN-US"&gt; &lt;/SPAN&gt;&lt;SPAN style="FONT-FAMILY: 'Courier New'; COLOR: blue; FONT-SIZE: 10pt; mso-ansi-language: EN-US"&gt;$true&lt;/SPAN&gt;&lt;SPAN style="FONT-FAMILY: 'Courier New'; COLOR: black; FONT-SIZE: 10pt; mso-ansi-language: EN-US"&gt; &lt;/SPAN&gt;&lt;SPAN style="FONT-FAMILY: 'Courier New'; COLOR: green; FONT-SIZE: 10pt; mso-ansi-language: EN-US"&gt;#предваряются оператором if exists при удалении и if not exists при создании&lt;o:p&gt;&lt;/o:p&gt;&lt;/SPAN&gt;&lt;/P&gt;
&lt;P style="LINE-HEIGHT: normal; MARGIN: 0in 0in 0pt; mso-layout-grid-align: none" class=MsoNormal&gt;&lt;SPAN style="FONT-FAMILY: 'Courier New'; COLOR: purple; FONT-SIZE: 10pt" lang=RU&gt;$&lt;/SPAN&gt;&lt;SPAN style="FONT-FAMILY: 'Courier New'; COLOR: purple; FONT-SIZE: 10pt; mso-ansi-language: EN-US"&gt;scr&lt;/SPAN&gt;&lt;SPAN style="FONT-FAMILY: 'Courier New'; COLOR: black; FONT-SIZE: 10pt" lang=RU&gt;.&lt;/SPAN&gt;&lt;SPAN style="FONT-FAMILY: 'Courier New'; COLOR: black; FONT-SIZE: 10pt; mso-ansi-language: EN-US"&gt;Options&lt;/SPAN&gt;&lt;SPAN style="FONT-FAMILY: 'Courier New'; COLOR: black; FONT-SIZE: 10pt" lang=RU&gt;.&lt;/SPAN&gt;&lt;SPAN style="FONT-FAMILY: 'Courier New'; COLOR: black; FONT-SIZE: 10pt; mso-ansi-language: EN-US"&gt;ScriptDrops&lt;/SPAN&gt;&lt;SPAN style="FONT-FAMILY: 'Courier New'; COLOR: black; FONT-SIZE: 10pt"&gt; &lt;/SPAN&gt;&lt;SPAN style="FONT-FAMILY: 'Courier New'; COLOR: red; FONT-SIZE: 10pt" lang=RU&gt;=&lt;/SPAN&gt;&lt;SPAN style="FONT-FAMILY: 'Courier New'; COLOR: black; FONT-SIZE: 10pt" lang=RU&gt; &lt;/SPAN&gt;&lt;SPAN style="FONT-FAMILY: 'Courier New'; COLOR: blue; FONT-SIZE: 10pt" lang=RU&gt;$&lt;/SPAN&gt;&lt;SPAN style="FONT-FAMILY: 'Courier New'; COLOR: blue; FONT-SIZE: 10pt; mso-ansi-language: EN-US"&gt;true&lt;/SPAN&gt;&lt;SPAN style="FONT-FAMILY: 'Courier New'; COLOR: black; FONT-SIZE: 10pt"&gt; &lt;/SPAN&gt;&lt;SPAN style="FONT-FAMILY: 'Courier New'; COLOR: green; FONT-SIZE: 10pt" lang=RU&gt;#создается скрипт на удаление&lt;o:p&gt;&lt;/o:p&gt;&lt;/SPAN&gt;&lt;/P&gt;
&lt;P style="LINE-HEIGHT: normal; MARGIN: 0in 0in 0pt; mso-layout-grid-align: none" class=MsoNormal&gt;&lt;SPAN style="FONT-FAMILY: 'Courier New'; COLOR: purple; FONT-SIZE: 10pt" lang=RU&gt;$&lt;/SPAN&gt;&lt;SPAN style="FONT-FAMILY: 'Courier New'; COLOR: purple; FONT-SIZE: 10pt; mso-ansi-language: EN-US"&gt;scr&lt;/SPAN&gt;&lt;SPAN style="FONT-FAMILY: 'Courier New'; COLOR: black; FONT-SIZE: 10pt" lang=RU&gt;.&lt;/SPAN&gt;&lt;SPAN style="FONT-FAMILY: 'Courier New'; COLOR: black; FONT-SIZE: 10pt; mso-ansi-language: EN-US"&gt;Options&lt;/SPAN&gt;&lt;SPAN style="FONT-FAMILY: 'Courier New'; COLOR: black; FONT-SIZE: 10pt" lang=RU&gt;.&lt;/SPAN&gt;&lt;SPAN style="FONT-FAMILY: 'Courier New'; COLOR: black; FONT-SIZE: 10pt; mso-ansi-language: EN-US"&gt;WithDependencies&lt;/SPAN&gt;&lt;SPAN style="FONT-FAMILY: 'Courier New'; COLOR: black; FONT-SIZE: 10pt"&gt; &lt;/SPAN&gt;&lt;SPAN style="FONT-FAMILY: 'Courier New'; COLOR: red; FONT-SIZE: 10pt" lang=RU&gt;=&lt;/SPAN&gt;&lt;SPAN style="FONT-FAMILY: 'Courier New'; COLOR: black; FONT-SIZE: 10pt" lang=RU&gt; &lt;/SPAN&gt;&lt;SPAN style="FONT-FAMILY: 'Courier New'; COLOR: blue; FONT-SIZE: 10pt" lang=RU&gt;$&lt;/SPAN&gt;&lt;SPAN style="FONT-FAMILY: 'Courier New'; COLOR: blue; FONT-SIZE: 10pt; mso-ansi-language: EN-US"&gt;true&lt;/SPAN&gt;&lt;SPAN style="FONT-FAMILY: 'Courier New'; COLOR: black; FONT-SIZE: 10pt"&gt; &lt;/SPAN&gt;&lt;SPAN style="FONT-FAMILY: 'Courier New'; COLOR: green; FONT-SIZE: 10pt" lang=RU&gt;#при генерации скрипта на удаление означает, что в скрипт также включаются &lt;/SPAN&gt;&lt;SPAN style="FONT-FAMILY: 'Courier New'; COLOR: green; FONT-SIZE: 10pt; mso-ansi-language: EN-US"&gt;referencing&lt;/SPAN&gt;&lt;SPAN style="FONT-FAMILY: 'Courier New'; COLOR: green; FONT-SIZE: 10pt"&gt; &lt;/SPAN&gt;&lt;SPAN style="FONT-FAMILY: 'Courier New'; COLOR: green; FONT-SIZE: 10pt; mso-ansi-language: EN-US"&gt;objects&lt;/SPAN&gt;&lt;SPAN style="FONT-FAMILY: 'Courier New'; COLOR: green; FONT-SIZE: 10pt" lang=RU&gt;, т.е. которые зависят от данного&lt;o:p&gt;&lt;/o:p&gt;&lt;/SPAN&gt;&lt;/P&gt;
&lt;P style="LINE-HEIGHT: normal; MARGIN: 0in 0in 0pt; mso-layout-grid-align: none" class=MsoNormal&gt;&lt;SPAN style="FONT-FAMILY: 'Courier New'; COLOR: purple; FONT-SIZE: 10pt" lang=RU&gt;$&lt;/SPAN&gt;&lt;SPAN style="FONT-FAMILY: 'Courier New'; COLOR: purple; FONT-SIZE: 10pt; mso-ansi-language: EN-US"&gt;scr&lt;/SPAN&gt;&lt;SPAN style="FONT-FAMILY: 'Courier New'; COLOR: black; FONT-SIZE: 10pt" lang=RU&gt;.&lt;/SPAN&gt;&lt;SPAN style="FONT-FAMILY: 'Courier New'; COLOR: black; FONT-SIZE: 10pt; mso-ansi-language: EN-US"&gt;Options&lt;/SPAN&gt;&lt;SPAN style="FONT-FAMILY: 'Courier New'; COLOR: black; FONT-SIZE: 10pt" lang=RU&gt;.&lt;/SPAN&gt;&lt;SPAN style="FONT-FAMILY: 'Courier New'; COLOR: black; FONT-SIZE: 10pt; mso-ansi-language: EN-US"&gt;DriUniqueKeys&lt;/SPAN&gt;&lt;SPAN style="FONT-FAMILY: 'Courier New'; COLOR: black; FONT-SIZE: 10pt"&gt; &lt;/SPAN&gt;&lt;SPAN style="FONT-FAMILY: 'Courier New'; COLOR: red; FONT-SIZE: 10pt" lang=RU&gt;=&lt;/SPAN&gt;&lt;SPAN style="FONT-FAMILY: 'Courier New'; COLOR: black; FONT-SIZE: 10pt" lang=RU&gt; &lt;/SPAN&gt;&lt;SPAN style="FONT-FAMILY: 'Courier New'; COLOR: blue; FONT-SIZE: 10pt" lang=RU&gt;$&lt;/SPAN&gt;&lt;SPAN style="FONT-FAMILY: 'Courier New'; COLOR: blue; FONT-SIZE: 10pt; mso-ansi-language: EN-US"&gt;true&lt;/SPAN&gt;&lt;SPAN style="FONT-FAMILY: 'Courier New'; COLOR: black; FONT-SIZE: 10pt"&gt; &lt;/SPAN&gt;&lt;SPAN style="FONT-FAMILY: 'Courier New'; COLOR: green; FONT-SIZE: 10pt" lang=RU&gt;#таблице &lt;/SPAN&gt;&lt;SPAN style="FONT-FAMILY: 'Courier New'; COLOR: green; FONT-SIZE: 10pt; mso-ansi-language: EN-US"&gt;TestFTS&lt;/SPAN&gt;&lt;SPAN style="FONT-FAMILY: 'Courier New'; COLOR: green; FONT-SIZE: 10pt" lang=RU&gt; требуется ограничение &lt;/SPAN&gt;&lt;SPAN style="FONT-FAMILY: 'Courier New'; COLOR: green; FONT-SIZE: 10pt; mso-ansi-language: EN-US"&gt;unique&lt;/SPAN&gt;&lt;SPAN style="FONT-FAMILY: 'Courier New'; COLOR: green; FONT-SIZE: 10pt" lang=RU&gt; на &lt;/SPAN&gt;&lt;SPAN style="FONT-FAMILY: 'Courier New'; COLOR: green; FONT-SIZE: 10pt; mso-ansi-language: EN-US"&gt;rowguidcol&lt;/SPAN&gt;&lt;SPAN style="FONT-FAMILY: 'Courier New'; COLOR: green; FONT-SIZE: 10pt" lang=RU&gt;, его также нужно заскриптовать&lt;o:p&gt;&lt;/o:p&gt;&lt;/SPAN&gt;&lt;/P&gt;
&lt;P style="LINE-HEIGHT: normal; MARGIN: 0in 0in 0pt; mso-layout-grid-align: none" class=MsoNormal&gt;&lt;SPAN style="FONT-FAMILY: 'Courier New'; COLOR: black; FONT-SIZE: 10pt" lang=RU&gt;&lt;o:p&gt;&amp;nbsp;&lt;/o:p&gt;&lt;/SPAN&gt;&lt;/P&gt;
&lt;P style="LINE-HEIGHT: normal; MARGIN: 0in 0in 0pt; mso-layout-grid-align: none" class=MsoNormal&gt;&lt;SPAN style="FONT-FAMILY: 'Courier New'; COLOR: purple; FONT-SIZE: 10pt; mso-ansi-language: EN-US"&gt;$sb&lt;/SPAN&gt;&lt;SPAN style="FONT-FAMILY: 'Courier New'; COLOR: black; FONT-SIZE: 10pt; mso-ansi-language: EN-US"&gt; &lt;/SPAN&gt;&lt;SPAN style="FONT-FAMILY: 'Courier New'; COLOR: red; FONT-SIZE: 10pt; mso-ansi-language: EN-US"&gt;=&lt;/SPAN&gt;&lt;SPAN style="FONT-FAMILY: 'Courier New'; COLOR: black; FONT-SIZE: 10pt; mso-ansi-language: EN-US"&gt; &lt;/SPAN&gt;&lt;B&gt;&lt;SPAN style="FONT-FAMILY: 'Courier New'; COLOR: cadetblue; FONT-SIZE: 10pt; mso-ansi-language: EN-US"&gt;New-Object&lt;/SPAN&gt;&lt;/B&gt;&lt;SPAN style="FONT-FAMILY: 'Courier New'; COLOR: black; FONT-SIZE: 10pt; mso-ansi-language: EN-US"&gt; &lt;/SPAN&gt;&lt;I&gt;&lt;SPAN style="FONT-FAMILY: 'Courier New'; COLOR: cadetblue; FONT-SIZE: 10pt; mso-ansi-language: EN-US"&gt;-TypeName&lt;/SPAN&gt;&lt;/I&gt;&lt;SPAN style="FONT-FAMILY: 'Courier New'; COLOR: black; FONT-SIZE: 10pt; mso-ansi-language: EN-US"&gt; &lt;/SPAN&gt;&lt;SPAN style="FONT-FAMILY: 'Courier New'; COLOR: maroon; FONT-SIZE: 10pt; mso-ansi-language: EN-US"&gt;"System.Text.StringBuilder"&lt;/SPAN&gt;&lt;SPAN style="FONT-FAMILY: 'Courier New'; COLOR: black; FONT-SIZE: 10pt; mso-ansi-language: EN-US"&gt;&lt;o:p&gt;&lt;/o:p&gt;&lt;/SPAN&gt;&lt;/P&gt;
&lt;P style="LINE-HEIGHT: normal; MARGIN: 0in 0in 0pt; mso-layout-grid-align: none" class=MsoNormal&gt;&lt;SPAN style="FONT-FAMILY: 'Courier New'; COLOR: purple; FONT-SIZE: 10pt; mso-ansi-language: EN-US"&gt;$scr&lt;/SPAN&gt;&lt;SPAN style="FONT-FAMILY: 'Courier New'; COLOR: black; FONT-SIZE: 10pt; mso-ansi-language: EN-US"&gt;.&lt;/SPAN&gt;&lt;SPAN style="FONT-FAMILY: 'Courier New'; COLOR: saddlebrown; FONT-SIZE: 10pt; mso-ansi-language: EN-US"&gt;Script&lt;/SPAN&gt;&lt;SPAN style="FONT-FAMILY: 'Courier New'; COLOR: black; FONT-SIZE: 10pt; mso-ansi-language: EN-US"&gt;(@(&lt;/SPAN&gt;&lt;SPAN style="FONT-FAMILY: 'Courier New'; COLOR: purple; FONT-SIZE: 10pt; mso-ansi-language: EN-US"&gt;$asm&lt;/SPAN&gt;&lt;SPAN style="FONT-FAMILY: 'Courier New'; COLOR: black; FONT-SIZE: 10pt; mso-ansi-language: EN-US"&gt;)) | &lt;/SPAN&gt;&lt;B&gt;&lt;SPAN style="FONT-FAMILY: 'Courier New'; COLOR: cadetblue; FONT-SIZE: 10pt; mso-ansi-language: EN-US"&gt;ForEach-Object&lt;/SPAN&gt;&lt;/B&gt;&lt;SPAN style="FONT-FAMILY: 'Courier New'; COLOR: black; FONT-SIZE: 10pt; mso-ansi-language: EN-US"&gt; &lt;/SPAN&gt;&lt;I&gt;&lt;SPAN style="FONT-FAMILY: 'Courier New'; COLOR: cadetblue; FONT-SIZE: 10pt; mso-ansi-language: EN-US"&gt;-Process&lt;/SPAN&gt;&lt;/I&gt;&lt;SPAN style="FONT-FAMILY: 'Courier New'; COLOR: black; FONT-SIZE: 10pt; mso-ansi-language: EN-US"&gt; { [&lt;/SPAN&gt;&lt;SPAN style="FONT-FAMILY: 'Courier New'; COLOR: teal; FONT-SIZE: 10pt; mso-ansi-language: EN-US"&gt;Void&lt;/SPAN&gt;&lt;SPAN style="FONT-FAMILY: 'Courier New'; COLOR: black; FONT-SIZE: 10pt; mso-ansi-language: EN-US"&gt;] &lt;/SPAN&gt;&lt;SPAN style="FONT-FAMILY: 'Courier New'; COLOR: purple; FONT-SIZE: 10pt; mso-ansi-language: EN-US"&gt;$sb&lt;/SPAN&gt;&lt;SPAN style="FONT-FAMILY: 'Courier New'; COLOR: black; FONT-SIZE: 10pt; mso-ansi-language: EN-US"&gt;.&lt;/SPAN&gt;&lt;SPAN style="FONT-FAMILY: 'Courier New'; COLOR: saddlebrown; FONT-SIZE: 10pt; mso-ansi-language: EN-US"&gt;Append&lt;/SPAN&gt;&lt;SPAN style="FONT-FAMILY: 'Courier New'; COLOR: black; FONT-SIZE: 10pt; mso-ansi-language: EN-US"&gt;(&lt;/SPAN&gt;&lt;SPAN style="FONT-FAMILY: 'Courier New'; COLOR: navy; FONT-SIZE: 10pt; mso-ansi-language: EN-US"&gt;$_&lt;/SPAN&gt;&lt;SPAN style="FONT-FAMILY: 'Courier New'; COLOR: black; FONT-SIZE: 10pt; mso-ansi-language: EN-US"&gt; &lt;/SPAN&gt;&lt;SPAN style="FONT-FAMILY: 'Courier New'; COLOR: red; FONT-SIZE: 10pt; mso-ansi-language: EN-US"&gt;+&lt;/SPAN&gt;&lt;SPAN style="FONT-FAMILY: 'Courier New'; COLOR: black; FONT-SIZE: 10pt; mso-ansi-language: EN-US"&gt; &lt;/SPAN&gt;&lt;SPAN style="FONT-FAMILY: 'Courier New'; COLOR: maroon; FONT-SIZE: 10pt; mso-ansi-language: EN-US"&gt;"`n`n"&lt;/SPAN&gt;&lt;SPAN style="FONT-FAMILY: 'Courier New'; COLOR: black; FONT-SIZE: 10pt; mso-ansi-language: EN-US"&gt;) } &lt;/SPAN&gt;&lt;SPAN style="FONT-FAMILY: 'Courier New'; COLOR: green; FONT-SIZE: 10pt; mso-ansi-language: EN-US"&gt;#[void], чтобы избежать uncaptured output в ф-ции, к-й будет относиться к ее рез-там&lt;o:p&gt;&lt;/o:p&gt;&lt;/SPAN&gt;&lt;/P&gt;
&lt;P style="LINE-HEIGHT: normal; MARGIN: 0in 0in 0pt; mso-layout-grid-align: none" class=MsoNormal&gt;&lt;SPAN style="FONT-FAMILY: 'Courier New'; COLOR: purple; FONT-SIZE: 10pt; mso-ansi-language: EN-US"&gt;$scriptToDrop&lt;/SPAN&gt;&lt;SPAN style="FONT-FAMILY: 'Courier New'; COLOR: black; FONT-SIZE: 10pt; mso-ansi-language: EN-US"&gt; &lt;/SPAN&gt;&lt;SPAN style="FONT-FAMILY: 'Courier New'; COLOR: red; FONT-SIZE: 10pt; mso-ansi-language: EN-US"&gt;=&lt;/SPAN&gt;&lt;SPAN style="FONT-FAMILY: 'Courier New'; COLOR: black; FONT-SIZE: 10pt; mso-ansi-language: EN-US"&gt; &lt;/SPAN&gt;&lt;SPAN style="FONT-FAMILY: 'Courier New'; COLOR: purple; FONT-SIZE: 10pt; mso-ansi-language: EN-US"&gt;$sb&lt;/SPAN&gt;&lt;SPAN style="FONT-FAMILY: 'Courier New'; COLOR: black; FONT-SIZE: 10pt; mso-ansi-language: EN-US"&gt;.&lt;/SPAN&gt;&lt;SPAN style="FONT-FAMILY: 'Courier New'; COLOR: saddlebrown; FONT-SIZE: 10pt; mso-ansi-language: EN-US"&gt;ToString&lt;/SPAN&gt;&lt;SPAN style="FONT-FAMILY: 'Courier New'; COLOR: black; FONT-SIZE: 10pt; mso-ansi-language: EN-US"&gt;(); &lt;/SPAN&gt;&lt;SPAN style="FONT-FAMILY: 'Courier New'; COLOR: purple; FONT-SIZE: 10pt; mso-ansi-language: EN-US"&gt;$sb&lt;/SPAN&gt;&lt;SPAN style="FONT-FAMILY: 'Courier New'; COLOR: black; FONT-SIZE: 10pt; mso-ansi-language: EN-US"&gt;.&lt;/SPAN&gt;&lt;SPAN style="FONT-FAMILY: 'Courier New'; COLOR: saddlebrown; FONT-SIZE: 10pt; mso-ansi-language: EN-US"&gt;Length&lt;/SPAN&gt;&lt;SPAN style="FONT-FAMILY: 'Courier New'; COLOR: black; FONT-SIZE: 10pt; mso-ansi-language: EN-US"&gt; &lt;/SPAN&gt;&lt;SPAN style="FONT-FAMILY: 'Courier New'; COLOR: red; FONT-SIZE: 10pt; mso-ansi-language: EN-US"&gt;=&lt;/SPAN&gt;&lt;SPAN style="FONT-FAMILY: 'Courier New'; COLOR: black; FONT-SIZE: 10pt; mso-ansi-language: EN-US"&gt; 0&lt;o:p&gt;&lt;/o:p&gt;&lt;/SPAN&gt;&lt;/P&gt;
&lt;P style="LINE-HEIGHT: normal; MARGIN: 0in 0in 0pt; mso-layout-grid-align: none" class=MsoNormal&gt;&lt;SPAN style="FONT-FAMILY: 'Courier New'; COLOR: black; FONT-SIZE: 10pt; mso-ansi-language: EN-US"&gt;&lt;o:p&gt;&amp;nbsp;&lt;/o:p&gt;&lt;/SPAN&gt;&lt;/P&gt;
&lt;P style="LINE-HEIGHT: normal; MARGIN: 0in 0in 0pt; mso-layout-grid-align: none" class=MsoNormal&gt;&lt;SPAN style="FONT-FAMILY: 'Courier New'; COLOR: purple; FONT-SIZE: 10pt" lang=RU&gt;$&lt;/SPAN&gt;&lt;SPAN style="FONT-FAMILY: 'Courier New'; COLOR: purple; FONT-SIZE: 10pt; mso-ansi-language: EN-US"&gt;scr&lt;/SPAN&gt;&lt;SPAN style="FONT-FAMILY: 'Courier New'; COLOR: black; FONT-SIZE: 10pt" lang=RU&gt;.&lt;/SPAN&gt;&lt;SPAN style="FONT-FAMILY: 'Courier New'; COLOR: saddlebrown; FONT-SIZE: 10pt; mso-ansi-language: EN-US"&gt;Options&lt;/SPAN&gt;&lt;SPAN style="FONT-FAMILY: 'Courier New'; COLOR: black; FONT-SIZE: 10pt" lang=RU&gt;.&lt;/SPAN&gt;&lt;SPAN style="FONT-FAMILY: 'Courier New'; COLOR: saddlebrown; FONT-SIZE: 10pt; mso-ansi-language: EN-US"&gt;ScriptDrops&lt;/SPAN&gt;&lt;SPAN style="FONT-FAMILY: 'Courier New'; COLOR: black; FONT-SIZE: 10pt"&gt; &lt;/SPAN&gt;&lt;SPAN style="FONT-FAMILY: 'Courier New'; COLOR: red; FONT-SIZE: 10pt" lang=RU&gt;=&lt;/SPAN&gt;&lt;SPAN style="FONT-FAMILY: 'Courier New'; COLOR: black; FONT-SIZE: 10pt" lang=RU&gt; &lt;/SPAN&gt;&lt;SPAN style="FONT-FAMILY: 'Courier New'; COLOR: blue; FONT-SIZE: 10pt" lang=RU&gt;$&lt;/SPAN&gt;&lt;SPAN style="FONT-FAMILY: 'Courier New'; COLOR: blue; FONT-SIZE: 10pt; mso-ansi-language: EN-US"&gt;false&lt;/SPAN&gt;&lt;SPAN style="FONT-FAMILY: 'Courier New'; COLOR: black; FONT-SIZE: 10pt"&gt; &lt;/SPAN&gt;&lt;SPAN style="FONT-FAMILY: 'Courier New'; COLOR: green; FONT-SIZE: 10pt" lang=RU&gt;#генерируется скрипт на создание&lt;o:p&gt;&lt;/o:p&gt;&lt;/SPAN&gt;&lt;/P&gt;
&lt;P style="LINE-HEIGHT: normal; MARGIN: 0in 0in 0pt; mso-layout-grid-align: none" class=MsoNormal&gt;&lt;SPAN style="FONT-FAMILY: 'Courier New'; COLOR: purple; FONT-SIZE: 10pt" lang=RU&gt;$&lt;/SPAN&gt;&lt;SPAN style="FONT-FAMILY: 'Courier New'; COLOR: purple; FONT-SIZE: 10pt; mso-ansi-language: EN-US"&gt;dt&lt;/SPAN&gt;&lt;SPAN style="FONT-FAMILY: 'Courier New'; COLOR: black; FONT-SIZE: 10pt"&gt; &lt;/SPAN&gt;&lt;SPAN style="FONT-FAMILY: 'Courier New'; COLOR: red; FONT-SIZE: 10pt" lang=RU&gt;=&lt;/SPAN&gt;&lt;SPAN style="FONT-FAMILY: 'Courier New'; COLOR: black; FONT-SIZE: 10pt" lang=RU&gt; &lt;/SPAN&gt;&lt;SPAN style="FONT-FAMILY: 'Courier New'; COLOR: purple; FONT-SIZE: 10pt" lang=RU&gt;$&lt;/SPAN&gt;&lt;SPAN style="FONT-FAMILY: 'Courier New'; COLOR: purple; FONT-SIZE: 10pt; mso-ansi-language: EN-US"&gt;scr&lt;/SPAN&gt;&lt;SPAN style="FONT-FAMILY: 'Courier New'; COLOR: black; FONT-SIZE: 10pt" lang=RU&gt;.&lt;/SPAN&gt;&lt;SPAN style="FONT-FAMILY: 'Courier New'; COLOR: saddlebrown; FONT-SIZE: 10pt; mso-ansi-language: EN-US"&gt;DiscoverDependencies&lt;/SPAN&gt;&lt;SPAN style="FONT-FAMILY: 'Courier New'; COLOR: black; FONT-SIZE: 10pt" lang=RU&gt;(@(&lt;/SPAN&gt;&lt;SPAN style="FONT-FAMILY: 'Courier New'; COLOR: purple; FONT-SIZE: 10pt" lang=RU&gt;$&lt;/SPAN&gt;&lt;SPAN style="FONT-FAMILY: 'Courier New'; COLOR: purple; FONT-SIZE: 10pt; mso-ansi-language: EN-US"&gt;asm&lt;/SPAN&gt;&lt;SPAN style="FONT-FAMILY: 'Courier New'; COLOR: black; FONT-SIZE: 10pt" lang=RU&gt;), &lt;/SPAN&gt;&lt;SPAN style="FONT-FAMILY: 'Courier New'; COLOR: blue; FONT-SIZE: 10pt" lang=RU&gt;$&lt;/SPAN&gt;&lt;SPAN style="FONT-FAMILY: 'Courier New'; COLOR: blue; FONT-SIZE: 10pt; mso-ansi-language: EN-US"&gt;false&lt;/SPAN&gt;&lt;SPAN style="FONT-FAMILY: 'Courier New'; COLOR: black; FONT-SIZE: 10pt" lang=RU&gt;) &lt;/SPAN&gt;&lt;SPAN style="FONT-FAMILY: 'Courier New'; COLOR: green; FONT-SIZE: 10pt" lang=RU&gt;#&lt;/SPAN&gt;&lt;SPAN style="FONT-FAMILY: 'Courier New'; COLOR: green; FONT-SIZE: 10pt; mso-ansi-language: EN-US"&gt;parent&lt;/SPAN&gt;&lt;SPAN style="FONT-FAMILY: 'Courier New'; COLOR: green; FONT-SIZE: 10pt" lang=RU&gt; = &lt;/SPAN&gt;&lt;SPAN style="FONT-FAMILY: 'Courier New'; COLOR: green; FONT-SIZE: 10pt; mso-ansi-language: EN-US"&gt;false&lt;/SPAN&gt;&lt;SPAN style="FONT-FAMILY: 'Courier New'; COLOR: green; FONT-SIZE: 10pt" lang=RU&gt; означает, что под связанными объектами понимаются не родительские, а дочерние, т.е. &lt;/SPAN&gt;&lt;SPAN style="FONT-FAMILY: 'Courier New'; COLOR: green; FONT-SIZE: 10pt; mso-ansi-language: EN-US"&gt;referencing&lt;/SPAN&gt;&lt;SPAN style="FONT-FAMILY: 'Courier New'; COLOR: green; FONT-SIZE: 10pt" lang=RU&gt; &lt;o:p&gt;&lt;/o:p&gt;&lt;/SPAN&gt;&lt;/P&gt;
&lt;P style="LINE-HEIGHT: normal; MARGIN: 0in 0in 0pt; mso-layout-grid-align: none" class=MsoNormal&gt;&lt;SPAN style="FONT-FAMILY: 'Courier New'; COLOR: purple; FONT-SIZE: 10pt" lang=RU&gt;$&lt;/SPAN&gt;&lt;SPAN style="FONT-FAMILY: 'Courier New'; COLOR: purple; FONT-SIZE: 10pt; mso-ansi-language: EN-US"&gt;dc&lt;/SPAN&gt;&lt;SPAN style="FONT-FAMILY: 'Courier New'; COLOR: black; FONT-SIZE: 10pt"&gt; &lt;/SPAN&gt;&lt;SPAN style="FONT-FAMILY: 'Courier New'; COLOR: red; FONT-SIZE: 10pt" lang=RU&gt;=&lt;/SPAN&gt;&lt;SPAN style="FONT-FAMILY: 'Courier New'; COLOR: black; FONT-SIZE: 10pt" lang=RU&gt; &lt;/SPAN&gt;&lt;SPAN style="FONT-FAMILY: 'Courier New'; COLOR: purple; FONT-SIZE: 10pt" lang=RU&gt;$&lt;/SPAN&gt;&lt;SPAN style="FONT-FAMILY: 'Courier New'; COLOR: purple; FONT-SIZE: 10pt; mso-ansi-language: EN-US"&gt;scr&lt;/SPAN&gt;&lt;SPAN style="FONT-FAMILY: 'Courier New'; COLOR: black; FONT-SIZE: 10pt" lang=RU&gt;.&lt;/SPAN&gt;&lt;SPAN style="FONT-FAMILY: 'Courier New'; COLOR: saddlebrown; FONT-SIZE: 10pt; mso-ansi-language: EN-US"&gt;WalkDependencies&lt;/SPAN&gt;&lt;SPAN style="FONT-FAMILY: 'Courier New'; COLOR: black; FONT-SIZE: 10pt" lang=RU&gt;(&lt;/SPAN&gt;&lt;SPAN style="FONT-FAMILY: 'Courier New'; COLOR: purple; FONT-SIZE: 10pt" lang=RU&gt;$&lt;/SPAN&gt;&lt;SPAN style="FONT-FAMILY: 'Courier New'; COLOR: purple; FONT-SIZE: 10pt; mso-ansi-language: EN-US"&gt;dt&lt;/SPAN&gt;&lt;SPAN style="FONT-FAMILY: 'Courier New'; COLOR: black; FONT-SIZE: 10pt" lang=RU&gt;) &lt;/SPAN&gt;&lt;SPAN style="FONT-FAMILY: 'Courier New'; COLOR: green; FONT-SIZE: 10pt" lang=RU&gt;#скрипт получается в порядке от дочерних объектов к родительским, что неправильно, т.к. сначала должен создаваться родительский объект, а уже потом дочерние на его основе&lt;o:p&gt;&lt;/o:p&gt;&lt;/SPAN&gt;&lt;/P&gt;
&lt;P style="LINE-HEIGHT: normal; MARGIN: 0in 0in 0pt; mso-layout-grid-align: none" class=MsoNormal&gt;&lt;SPAN style="FONT-FAMILY: 'Courier New'; COLOR: purple; FONT-SIZE: 10pt; mso-ansi-language: EN-US"&gt;$dc1&lt;/SPAN&gt;&lt;SPAN style="FONT-FAMILY: 'Courier New'; COLOR: black; FONT-SIZE: 10pt; mso-ansi-language: EN-US"&gt; &lt;/SPAN&gt;&lt;SPAN style="FONT-FAMILY: 'Courier New'; COLOR: red; FONT-SIZE: 10pt; mso-ansi-language: EN-US"&gt;=&lt;/SPAN&gt;&lt;SPAN style="FONT-FAMILY: 'Courier New'; COLOR: black; FONT-SIZE: 10pt; mso-ansi-language: EN-US"&gt; &lt;/SPAN&gt;&lt;B&gt;&lt;SPAN style="FONT-FAMILY: 'Courier New'; COLOR: cadetblue; FONT-SIZE: 10pt; mso-ansi-language: EN-US"&gt;New-Object&lt;/SPAN&gt;&lt;/B&gt;&lt;SPAN style="FONT-FAMILY: 'Courier New'; COLOR: black; FONT-SIZE: 10pt; mso-ansi-language: EN-US"&gt; &lt;/SPAN&gt;&lt;I&gt;&lt;SPAN style="FONT-FAMILY: 'Courier New'; COLOR: cadetblue; FONT-SIZE: 10pt; mso-ansi-language: EN-US"&gt;-TypeName&lt;/SPAN&gt;&lt;/I&gt;&lt;SPAN style="FONT-FAMILY: 'Courier New'; COLOR: black; FONT-SIZE: 10pt; mso-ansi-language: EN-US"&gt; &lt;/SPAN&gt;&lt;SPAN style="FONT-FAMILY: 'Courier New'; COLOR: maroon; FONT-SIZE: 10pt; mso-ansi-language: EN-US"&gt;"Microsoft.SqlServer.Management.Smo.DependencyCollection"&lt;/SPAN&gt;&lt;SPAN style="FONT-FAMILY: 'Courier New'; COLOR: black; FONT-SIZE: 10pt; mso-ansi-language: EN-US"&gt;&lt;o:p&gt;&lt;/o:p&gt;&lt;/SPAN&gt;&lt;/P&gt;
&lt;P style="LINE-HEIGHT: normal; MARGIN: 0in 0in 0pt; mso-layout-grid-align: none" class=MsoNormal&gt;&lt;SPAN style="FONT-FAMILY: 'Courier New'; COLOR: blue; FONT-SIZE: 10pt; mso-ansi-language: EN-US"&gt;for&lt;/SPAN&gt;&lt;SPAN style="FONT-FAMILY: 'Courier New'; COLOR: black; FONT-SIZE: 10pt; mso-ansi-language: EN-US"&gt; (&lt;/SPAN&gt;&lt;SPAN style="FONT-FAMILY: 'Courier New'; COLOR: purple; FONT-SIZE: 10pt; mso-ansi-language: EN-US"&gt;$i&lt;/SPAN&gt;&lt;SPAN style="FONT-FAMILY: 'Courier New'; COLOR: black; FONT-SIZE: 10pt; mso-ansi-language: EN-US"&gt; &lt;/SPAN&gt;&lt;SPAN style="FONT-FAMILY: 'Courier New'; COLOR: red; FONT-SIZE: 10pt; mso-ansi-language: EN-US"&gt;=&lt;/SPAN&gt;&lt;SPAN style="FONT-FAMILY: 'Courier New'; COLOR: black; FONT-SIZE: 10pt; mso-ansi-language: EN-US"&gt; &lt;/SPAN&gt;&lt;SPAN style="FONT-FAMILY: 'Courier New'; COLOR: purple; FONT-SIZE: 10pt; mso-ansi-language: EN-US"&gt;$dc&lt;/SPAN&gt;&lt;SPAN style="FONT-FAMILY: 'Courier New'; COLOR: black; FONT-SIZE: 10pt; mso-ansi-language: EN-US"&gt;.Count; &lt;/SPAN&gt;&lt;SPAN style="FONT-FAMILY: 'Courier New'; COLOR: purple; FONT-SIZE: 10pt; mso-ansi-language: EN-US"&gt;$i&lt;/SPAN&gt;&lt;SPAN style="FONT-FAMILY: 'Courier New'; COLOR: black; FONT-SIZE: 10pt; mso-ansi-language: EN-US"&gt; &lt;/SPAN&gt;&lt;SPAN style="FONT-FAMILY: 'Courier New'; COLOR: red; FONT-SIZE: 10pt; mso-ansi-language: EN-US"&gt;-gt&lt;/SPAN&gt;&lt;SPAN style="FONT-FAMILY: 'Courier New'; COLOR: black; FONT-SIZE: 10pt; mso-ansi-language: EN-US"&gt; 0; &lt;/SPAN&gt;&lt;SPAN style="FONT-FAMILY: 'Courier New'; COLOR: purple; FONT-SIZE: 10pt; mso-ansi-language: EN-US"&gt;$i&lt;/SPAN&gt;&lt;SPAN style="FONT-FAMILY: 'Courier New'; COLOR: black; FONT-SIZE: 10pt; mso-ansi-language: EN-US"&gt;--) { [&lt;/SPAN&gt;&lt;SPAN style="FONT-FAMILY: 'Courier New'; COLOR: teal; FONT-SIZE: 10pt; mso-ansi-language: EN-US"&gt;Void&lt;/SPAN&gt;&lt;SPAN style="FONT-FAMILY: 'Courier New'; COLOR: black; FONT-SIZE: 10pt; mso-ansi-language: EN-US"&gt;] &lt;/SPAN&gt;&lt;SPAN style="FONT-FAMILY: 'Courier New'; COLOR: purple; FONT-SIZE: 10pt; mso-ansi-language: EN-US"&gt;$dc1&lt;/SPAN&gt;&lt;SPAN style="FONT-FAMILY: 'Courier New'; COLOR: black; FONT-SIZE: 10pt; mso-ansi-language: EN-US"&gt;.Add(&lt;/SPAN&gt;&lt;SPAN style="FONT-FAMILY: 'Courier New'; COLOR: purple; FONT-SIZE: 10pt; mso-ansi-language: EN-US"&gt;$dc&lt;/SPAN&gt;&lt;SPAN style="FONT-FAMILY: 'Courier New'; COLOR: black; FONT-SIZE: 10pt; mso-ansi-language: EN-US"&gt;[&lt;/SPAN&gt;&lt;SPAN style="FONT-FAMILY: 'Courier New'; COLOR: purple; FONT-SIZE: 10pt; mso-ansi-language: EN-US"&gt;$i&lt;/SPAN&gt;&lt;SPAN style="FONT-FAMILY: 'Courier New'; COLOR: black; FONT-SIZE: 10pt; mso-ansi-language: EN-US"&gt; &lt;/SPAN&gt;&lt;SPAN style="FONT-FAMILY: 'Courier New'; COLOR: red; FONT-SIZE: 10pt; mso-ansi-language: EN-US"&gt;-&lt;/SPAN&gt;&lt;SPAN style="FONT-FAMILY: 'Courier New'; COLOR: black; FONT-SIZE: 10pt; mso-ansi-language: EN-US"&gt; 1]) } &lt;/SPAN&gt;&lt;SPAN style="FONT-FAMILY: 'Courier New'; COLOR: green; FONT-SIZE: 10pt; mso-ansi-language: EN-US"&gt;#переставляем в обратном порядке&lt;o:p&gt;&lt;/o:p&gt;&lt;/SPAN&gt;&lt;/P&gt;
&lt;P style="LINE-HEIGHT: normal; MARGIN: 0in 0in 0pt; mso-layout-grid-align: none" class=MsoNormal&gt;&lt;SPAN style="FONT-FAMILY: 'Courier New'; COLOR: purple; FONT-SIZE: 10pt; mso-ansi-language: EN-US"&gt;$scr&lt;/SPAN&gt;&lt;SPAN style="FONT-FAMILY: 'Courier New'; COLOR: black; FONT-SIZE: 10pt; mso-ansi-language: EN-US"&gt;.&lt;/SPAN&gt;&lt;SPAN style="FONT-FAMILY: 'Courier New'; COLOR: saddlebrown; FONT-SIZE: 10pt; mso-ansi-language: EN-US"&gt;ScriptWithList&lt;/SPAN&gt;&lt;SPAN style="FONT-FAMILY: 'Courier New'; COLOR: black; FONT-SIZE: 10pt; mso-ansi-language: EN-US"&gt;(&lt;/SPAN&gt;&lt;SPAN style="FONT-FAMILY: 'Courier New'; COLOR: purple; FONT-SIZE: 10pt; mso-ansi-language: EN-US"&gt;$dc1&lt;/SPAN&gt;&lt;SPAN style="FONT-FAMILY: 'Courier New'; COLOR: black; FONT-SIZE: 10pt; mso-ansi-language: EN-US"&gt;) | &lt;/SPAN&gt;&lt;B&gt;&lt;SPAN style="FONT-FAMILY: 'Courier New'; COLOR: cadetblue; FONT-SIZE: 10pt; mso-ansi-language: EN-US"&gt;ForEach-Object&lt;/SPAN&gt;&lt;/B&gt;&lt;SPAN style="FONT-FAMILY: 'Courier New'; COLOR: black; FONT-SIZE: 10pt; mso-ansi-language: EN-US"&gt; &lt;/SPAN&gt;&lt;I&gt;&lt;SPAN style="FONT-FAMILY: 'Courier New'; COLOR: cadetblue; FONT-SIZE: 10pt; mso-ansi-language: EN-US"&gt;-Process&lt;/SPAN&gt;&lt;/I&gt;&lt;SPAN style="FONT-FAMILY: 'Courier New'; COLOR: black; FONT-SIZE: 10pt; mso-ansi-language: EN-US"&gt; { [&lt;/SPAN&gt;&lt;SPAN style="FONT-FAMILY: 'Courier New'; COLOR: teal; FONT-SIZE: 10pt; mso-ansi-language: EN-US"&gt;void&lt;/SPAN&gt;&lt;SPAN style="FONT-FAMILY: 'Courier New'; COLOR: black; FONT-SIZE: 10pt; mso-ansi-language: EN-US"&gt;] &lt;/SPAN&gt;&lt;SPAN style="FONT-FAMILY: 'Courier New'; COLOR: purple; FONT-SIZE: 10pt; mso-ansi-language: EN-US"&gt;$sb&lt;/SPAN&gt;&lt;SPAN style="FONT-FAMILY: 'Courier New'; COLOR: black; FONT-SIZE: 10pt; mso-ansi-language: EN-US"&gt;.&lt;/SPAN&gt;&lt;SPAN style="FONT-FAMILY: 'Courier New'; COLOR: saddlebrown; FONT-SIZE: 10pt; mso-ansi-language: EN-US"&gt;Append&lt;/SPAN&gt;&lt;SPAN style="FONT-FAMILY: 'Courier New'; COLOR: black; FONT-SIZE: 10pt; mso-ansi-language: EN-US"&gt;(&lt;/SPAN&gt;&lt;SPAN style="FONT-FAMILY: 'Courier New'; COLOR: navy; FONT-SIZE: 10pt; mso-ansi-language: EN-US"&gt;$_&lt;/SPAN&gt;&lt;SPAN style="FONT-FAMILY: 'Courier New'; COLOR: black; FONT-SIZE: 10pt; mso-ansi-language: EN-US"&gt; &lt;/SPAN&gt;&lt;SPAN style="FONT-FAMILY: 'Courier New'; COLOR: red; FONT-SIZE: 10pt; mso-ansi-language: EN-US"&gt;+&lt;/SPAN&gt;&lt;SPAN style="FONT-FAMILY: 'Courier New'; COLOR: black; FONT-SIZE: 10pt; mso-ansi-language: EN-US"&gt; &lt;/SPAN&gt;&lt;SPAN style="FONT-FAMILY: 'Courier New'; COLOR: maroon; FONT-SIZE: 10pt; mso-ansi-language: EN-US"&gt;"`n`n"&lt;/SPAN&gt;&lt;SPAN style="FONT-FAMILY: 'Courier New'; COLOR: black; FONT-SIZE: 10pt; mso-ansi-language: EN-US"&gt;) } &lt;/SPAN&gt;&lt;SPAN style="FONT-FAMILY: 'Courier New'; COLOR: green; FONT-SIZE: 10pt; mso-ansi-language: EN-US"&gt;#генерим скрипты от явно построенной коллекции связанных объектов&lt;o:p&gt;&lt;/o:p&gt;&lt;/SPAN&gt;&lt;/P&gt;
&lt;P style="LINE-HEIGHT: normal; MARGIN: 0in 0in 0pt; mso-layout-grid-align: none" class=MsoNormal&gt;&lt;SPAN style="FONT-FAMILY: 'Courier New'; COLOR: black; FONT-SIZE: 10pt; mso-ansi-language: EN-US"&gt;&lt;SPAN style="mso-spacerun: yes"&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp; &lt;/SPAN&gt;&lt;o:p&gt;&lt;/o:p&gt;&lt;/SPAN&gt;&lt;/P&gt;
&lt;P style="LINE-HEIGHT: normal; MARGIN: 0in 0in 0pt; mso-layout-grid-align: none" class=MsoNormal&gt;&lt;SPAN style="FONT-FAMILY: 'Courier New'; COLOR: purple; FONT-SIZE: 10pt; mso-ansi-language: EN-US"&gt;$scriptToCreate&lt;/SPAN&gt;&lt;SPAN style="FONT-FAMILY: 'Courier New'; COLOR: black; FONT-SIZE: 10pt; mso-ansi-language: EN-US"&gt; &lt;/SPAN&gt;&lt;SPAN style="FONT-FAMILY: 'Courier New'; COLOR: red; FONT-SIZE: 10pt; mso-ansi-language: EN-US"&gt;=&lt;/SPAN&gt;&lt;SPAN style="FONT-FAMILY: 'Courier New'; COLOR: black; FONT-SIZE: 10pt; mso-ansi-language: EN-US"&gt; &lt;/SPAN&gt;&lt;SPAN style="FONT-FAMILY: 'Courier New'; COLOR: purple; FONT-SIZE: 10pt; mso-ansi-language: EN-US"&gt;$sb&lt;/SPAN&gt;&lt;SPAN style="FONT-FAMILY: 'Courier New'; COLOR: black; FONT-SIZE: 10pt; mso-ansi-language: EN-US"&gt;.&lt;/SPAN&gt;&lt;SPAN style="FONT-FAMILY: 'Courier New'; COLOR: saddlebrown; FONT-SIZE: 10pt; mso-ansi-language: EN-US"&gt;ToString&lt;/SPAN&gt;&lt;SPAN style="FONT-FAMILY: 'Courier New'; COLOR: black; FONT-SIZE: 10pt; mso-ansi-language: EN-US"&gt;();&lt;o:p&gt;&lt;/o:p&gt;&lt;/SPAN&gt;&lt;/P&gt;
&lt;P style="LINE-HEIGHT: normal; MARGIN: 0in 0in 0pt; mso-layout-grid-align: none" class=MsoNormal&gt;&lt;SPAN style="FONT-FAMILY: 'Courier New'; COLOR: purple; FONT-SIZE: 10pt; mso-ansi-language: EN-US"&gt;$scriptToCreate&lt;/SPAN&gt;&lt;SPAN style="FONT-FAMILY: 'Courier New'; COLOR: black; FONT-SIZE: 10pt; mso-ansi-language: EN-US"&gt; &lt;/SPAN&gt;&lt;SPAN style="FONT-FAMILY: 'Courier New'; COLOR: red; FONT-SIZE: 10pt; mso-ansi-language: EN-US"&gt;=&lt;/SPAN&gt;&lt;SPAN style="FONT-FAMILY: 'Courier New'; COLOR: black; FONT-SIZE: 10pt; mso-ansi-language: EN-US"&gt; ReplaceAssemblyBytesToFilePath &lt;/SPAN&gt;&lt;SPAN style="FONT-FAMILY: 'Courier New'; COLOR: purple; FONT-SIZE: 10pt; mso-ansi-language: EN-US"&gt;$scriptToCreate&lt;/SPAN&gt;&lt;SPAN style="FONT-FAMILY: 'Courier New'; COLOR: black; FONT-SIZE: 10pt; mso-ansi-language: EN-US"&gt; &lt;/SPAN&gt;&lt;SPAN style="FONT-FAMILY: 'Courier New'; COLOR: purple; FONT-SIZE: 10pt; mso-ansi-language: EN-US"&gt;$asm&lt;/SPAN&gt;&lt;SPAN style="FONT-FAMILY: 'Courier New'; COLOR: black; FONT-SIZE: 10pt; mso-ansi-language: EN-US"&gt;.&lt;/SPAN&gt;&lt;SPAN style="FONT-FAMILY: 'Courier New'; COLOR: saddlebrown; FONT-SIZE: 10pt; mso-ansi-language: EN-US"&gt;SqlAssemblyFiles&lt;/SPAN&gt;&lt;SPAN style="FONT-FAMILY: 'Courier New'; COLOR: black; FONT-SIZE: 10pt; mso-ansi-language: EN-US"&gt;&lt;o:p&gt;&lt;/o:p&gt;&lt;/SPAN&gt;&lt;/P&gt;
&lt;P style="LINE-HEIGHT: normal; MARGIN: 0in 0in 0pt; mso-layout-grid-align: none" class=MsoNormal&gt;&lt;SPAN style="FONT-FAMILY: 'Courier New'; COLOR: black; FONT-SIZE: 10pt; mso-ansi-language: EN-US"&gt;&lt;o:p&gt;&amp;nbsp;&lt;/o:p&gt;&lt;/SPAN&gt;&lt;/P&gt;
&lt;P style="LINE-HEIGHT: normal; MARGIN: 0in 0in 0pt; mso-layout-grid-align: none" class=MsoNormal&gt;&lt;B&gt;&lt;SPAN style="FONT-FAMILY: 'Courier New'; COLOR: cadetblue; FONT-SIZE: 10pt; mso-ansi-language: EN-US"&gt;Write&lt;/SPAN&gt;&lt;/B&gt;&lt;B&gt;&lt;SPAN style="FONT-FAMILY: 'Courier New'; COLOR: cadetblue; FONT-SIZE: 10pt" lang=RU&gt;-&lt;/SPAN&gt;&lt;/B&gt;&lt;B&gt;&lt;SPAN style="FONT-FAMILY: 'Courier New'; COLOR: cadetblue; FONT-SIZE: 10pt; mso-ansi-language: EN-US"&gt;Host&lt;/SPAN&gt;&lt;/B&gt;&lt;SPAN style="FONT-FAMILY: 'Courier New'; COLOR: black; FONT-SIZE: 10pt"&gt; &lt;/SPAN&gt;&lt;SPAN style="FONT-FAMILY: 'Courier New'; COLOR: maroon; FONT-SIZE: 10pt" lang=RU&gt;"Вы согласны с тем, что будут выполнены следующие скрипты:`&lt;/SPAN&gt;&lt;SPAN style="FONT-FAMILY: 'Courier New'; COLOR: maroon; FONT-SIZE: 10pt; mso-ansi-language: EN-US"&gt;n&lt;/SPAN&gt;&lt;SPAN style="FONT-FAMILY: 'Courier New'; COLOR: maroon; FONT-SIZE: 10pt" lang=RU&gt;"&lt;/SPAN&gt;&lt;SPAN style="FONT-FAMILY: 'Courier New'; COLOR: black; FONT-SIZE: 10pt" lang=RU&gt;&lt;o:p&gt;&lt;/o:p&gt;&lt;/SPAN&gt;&lt;/P&gt;
&lt;P style="LINE-HEIGHT: normal; MARGIN: 0in 0in 0pt; mso-layout-grid-align: none" class=MsoNormal&gt;&lt;SPAN style="FONT-FAMILY: 'Courier New'; COLOR: purple; FONT-SIZE: 10pt; mso-ansi-language: EN-US"&gt;$scriptToDrop&lt;/SPAN&gt;&lt;SPAN style="FONT-FAMILY: 'Courier New'; COLOR: black; FONT-SIZE: 10pt; mso-ansi-language: EN-US"&gt;&lt;o:p&gt;&lt;/o:p&gt;&lt;/SPAN&gt;&lt;/P&gt;
&lt;P style="LINE-HEIGHT: normal; MARGIN: 0in 0in 0pt; mso-layout-grid-align: none" class=MsoNormal&gt;&lt;SPAN style="FONT-FAMILY: 'Courier New'; COLOR: purple; FONT-SIZE: 10pt; mso-ansi-language: EN-US"&gt;$scriptToCreate&lt;/SPAN&gt;&lt;SPAN style="FONT-FAMILY: 'Courier New'; COLOR: black; FONT-SIZE: 10pt; mso-ansi-language: EN-US"&gt;&lt;o:p&gt;&lt;/o:p&gt;&lt;/SPAN&gt;&lt;/P&gt;
&lt;P style="LINE-HEIGHT: normal; MARGIN: 0in 0in 0pt; mso-layout-grid-align: none" class=MsoNormal&gt;&lt;B&gt;&lt;SPAN style="FONT-FAMILY: 'Courier New'; COLOR: cadetblue; FONT-SIZE: 10pt; mso-ansi-language: EN-US"&gt;Write-Host&lt;/SPAN&gt;&lt;/B&gt;&lt;SPAN style="FONT-FAMILY: 'Courier New'; COLOR: black; FONT-SIZE: 10pt; mso-ansi-language: EN-US"&gt; &lt;/SPAN&gt;&lt;SPAN style="FONT-FAMILY: 'Courier New'; COLOR: maroon; FONT-SIZE: 10pt; mso-ansi-language: EN-US"&gt;"[Y/N]?"&lt;/SPAN&gt;&lt;SPAN style="FONT-FAMILY: 'Courier New'; COLOR: black; FONT-SIZE: 10pt; mso-ansi-language: EN-US"&gt;&lt;o:p&gt;&lt;/o:p&gt;&lt;/SPAN&gt;&lt;/P&gt;
&lt;P style="LINE-HEIGHT: normal; MARGIN: 0in 0in 0pt; mso-layout-grid-align: none" class=MsoNormal&gt;&lt;SPAN style="FONT-FAMILY: 'Courier New'; COLOR: black; FONT-SIZE: 10pt; mso-ansi-language: EN-US"&gt;[&lt;/SPAN&gt;&lt;SPAN style="FONT-FAMILY: 'Courier New'; COLOR: teal; FONT-SIZE: 10pt; mso-ansi-language: EN-US"&gt;char&lt;/SPAN&gt;&lt;SPAN style="FONT-FAMILY: 'Courier New'; COLOR: black; FONT-SIZE: 10pt; mso-ansi-language: EN-US"&gt;] &lt;/SPAN&gt;&lt;SPAN style="FONT-FAMILY: 'Courier New'; COLOR: purple; FONT-SIZE: 10pt; mso-ansi-language: EN-US"&gt;$key&lt;/SPAN&gt;&lt;SPAN style="FONT-FAMILY: 'Courier New'; COLOR: black; FONT-SIZE: 10pt; mso-ansi-language: EN-US"&gt; &lt;/SPAN&gt;&lt;SPAN style="FONT-FAMILY: 'Courier New'; COLOR: red; FONT-SIZE: 10pt; mso-ansi-language: EN-US"&gt;=&lt;/SPAN&gt;&lt;SPAN style="FONT-FAMILY: 'Courier New'; COLOR: black; FONT-SIZE: 10pt; mso-ansi-language: EN-US"&gt; &lt;/SPAN&gt;&lt;SPAN style="FONT-FAMILY: 'Courier New'; COLOR: navy; FONT-SIZE: 10pt; mso-ansi-language: EN-US"&gt;$host&lt;/SPAN&gt;&lt;SPAN style="FONT-FAMILY: 'Courier New'; COLOR: black; FONT-SIZE: 10pt; mso-ansi-language: EN-US"&gt;.UI.RawUI.ReadKey(&lt;/SPAN&gt;&lt;SPAN style="FONT-FAMILY: 'Courier New'; COLOR: maroon; FONT-SIZE: 10pt; mso-ansi-language: EN-US"&gt;"NoEcho,IncludeKeyDown"&lt;/SPAN&gt;&lt;SPAN style="FONT-FAMILY: 'Courier New'; COLOR: black; FONT-SIZE: 10pt; mso-ansi-language: EN-US"&gt;).Character&lt;o:p&gt;&lt;/o:p&gt;&lt;/SPAN&gt;&lt;/P&gt;
&lt;P style="LINE-HEIGHT: normal; MARGIN: 0in 0in 0pt; mso-layout-grid-align: none" class=MsoNormal&gt;&lt;SPAN style="FONT-FAMILY: 'Courier New'; COLOR: black; FONT-SIZE: 10pt; mso-ansi-language: EN-US"&gt;&lt;o:p&gt;&amp;nbsp;&lt;/o:p&gt;&lt;/SPAN&gt;&lt;/P&gt;
&lt;P style="LINE-HEIGHT: normal; MARGIN: 0in 0in 0pt; mso-layout-grid-align: none" class=MsoNormal&gt;&lt;SPAN style="FONT-FAMILY: 'Courier New'; COLOR: blue; FONT-SIZE: 10pt; mso-ansi-language: EN-US"&gt;if&lt;/SPAN&gt;&lt;SPAN style="FONT-FAMILY: 'Courier New'; COLOR: black; FONT-SIZE: 10pt; mso-ansi-language: EN-US"&gt; (&lt;/SPAN&gt;&lt;SPAN style="FONT-FAMILY: 'Courier New'; COLOR: purple; FONT-SIZE: 10pt; mso-ansi-language: EN-US"&gt;$key&lt;/SPAN&gt;&lt;SPAN style="FONT-FAMILY: 'Courier New'; COLOR: black; FONT-SIZE: 10pt; mso-ansi-language: EN-US"&gt;.ToString().ToUpper() &lt;/SPAN&gt;&lt;SPAN style="FONT-FAMILY: 'Courier New'; COLOR: red; FONT-SIZE: 10pt; mso-ansi-language: EN-US"&gt;-eq&lt;/SPAN&gt;&lt;SPAN style="FONT-FAMILY: 'Courier New'; COLOR: black; FONT-SIZE: 10pt; mso-ansi-language: EN-US"&gt; &lt;/SPAN&gt;&lt;SPAN style="FONT-FAMILY: 'Courier New'; COLOR: maroon; FONT-SIZE: 10pt; mso-ansi-language: EN-US"&gt;"Y"&lt;/SPAN&gt;&lt;SPAN style="FONT-FAMILY: 'Courier New'; COLOR: black; FONT-SIZE: 10pt; mso-ansi-language: EN-US"&gt;) { &lt;/SPAN&gt;&lt;SPAN style="FONT-FAMILY: 'Courier New'; COLOR: purple; FONT-SIZE: 10pt; mso-ansi-language: EN-US"&gt;$db&lt;/SPAN&gt;&lt;SPAN style="FONT-FAMILY: 'Courier New'; COLOR: black; FONT-SIZE: 10pt; mso-ansi-language: EN-US"&gt;.&lt;/SPAN&gt;&lt;SPAN style="FONT-FAMILY: 'Courier New'; COLOR: saddlebrown; FONT-SIZE: 10pt; mso-ansi-language: EN-US"&gt;ExecuteNonQuery&lt;/SPAN&gt;&lt;SPAN style="FONT-FAMILY: 'Courier New'; COLOR: black; FONT-SIZE: 10pt; mso-ansi-language: EN-US"&gt;(&lt;/SPAN&gt;&lt;SPAN style="FONT-FAMILY: 'Courier New'; COLOR: purple; FONT-SIZE: 10pt; mso-ansi-language: EN-US"&gt;$scriptToDrop&lt;/SPAN&gt;&lt;SPAN style="FONT-FAMILY: 'Courier New'; COLOR: black; FONT-SIZE: 10pt; mso-ansi-language: EN-US"&gt;); &lt;/SPAN&gt;&lt;SPAN style="FONT-FAMILY: 'Courier New'; COLOR: purple; FONT-SIZE: 10pt; mso-ansi-language: EN-US"&gt;$db&lt;/SPAN&gt;&lt;SPAN style="FONT-FAMILY: 'Courier New'; COLOR: black; FONT-SIZE: 10pt; mso-ansi-language: EN-US"&gt;.&lt;/SPAN&gt;&lt;SPAN style="FONT-FAMILY: 'Courier New'; COLOR: saddlebrown; FONT-SIZE: 10pt; mso-ansi-language: EN-US"&gt;ExecuteNonQuery&lt;/SPAN&gt;&lt;SPAN style="FONT-FAMILY: 'Courier New'; COLOR: black; FONT-SIZE: 10pt; mso-ansi-language: EN-US"&gt;(&lt;/SPAN&gt;&lt;SPAN style="FONT-FAMILY: 'Courier New'; COLOR: purple; FONT-SIZE: 10pt; mso-ansi-language: EN-US"&gt;$scriptToCreate&lt;/SPAN&gt;&lt;SPAN style="FONT-FAMILY: 'Courier New'; COLOR: black; FONT-SIZE: 10pt; mso-ansi-language: EN-US"&gt;) }&lt;o:p&gt;&lt;/o:p&gt;&lt;/SPAN&gt;&lt;/P&gt;
&lt;P style="LINE-HEIGHT: normal; MARGIN: 0in 0in 0pt; mso-layout-grid-align: none" class=MsoNormal&gt;&lt;SPAN style="FONT-FAMILY: 'Courier New'; COLOR: black; FONT-SIZE: 10pt; mso-ansi-language: EN-US"&gt;}&lt;o:p&gt;&lt;/o:p&gt;&lt;/SPAN&gt;&lt;/P&gt;
&lt;P style="LINE-HEIGHT: normal; MARGIN: 0in 0in 0pt; mso-layout-grid-align: none" class=MsoNormal&gt;&lt;SPAN style="FONT-FAMILY: 'Courier New'; COLOR: black; FONT-SIZE: 10pt; mso-ansi-language: EN-US"&gt;&lt;o:p&gt;&amp;nbsp;&lt;/o:p&gt;&lt;/SPAN&gt;&lt;/P&gt;
&lt;P style="LINE-HEIGHT: normal; MARGIN: 0in 0in 0pt; mso-layout-grid-align: none" class=MsoNormal&gt;&lt;SPAN style="FONT-FAMILY: 'Courier New'; COLOR: green; FONT-SIZE: 10pt" lang=RU&gt;#&amp;lt;&lt;/SPAN&gt;&lt;SPAN style="FONT-FAMILY: 'Courier New'; COLOR: green; FONT-SIZE: 10pt; mso-ansi-language: EN-US"&gt;summary&lt;/SPAN&gt;&lt;SPAN style="FONT-FAMILY: 'Courier New'; COLOR: green; FONT-SIZE: 10pt" lang=RU&gt;&amp;gt;&lt;o:p&gt;&lt;/o:p&gt;&lt;/SPAN&gt;&lt;/P&gt;
&lt;P style="LINE-HEIGHT: normal; MARGIN: 0in 0in 0pt; mso-layout-grid-align: none" class=MsoNormal&gt;&lt;SPAN style="FONT-FAMILY: 'Courier New'; COLOR: green; FONT-SIZE: 10pt" lang=RU&gt;#Процедура производит замену в скрипте создания сборки &lt;o:p&gt;&lt;/o:p&gt;&lt;/SPAN&gt;&lt;/P&gt;
&lt;P style="LINE-HEIGHT: normal; MARGIN: 0in 0in 0pt; mso-layout-grid-align: none" class=MsoNormal&gt;&lt;SPAN style="FONT-FAMILY: 'Courier New'; COLOR: green; FONT-SIZE: 10pt; mso-ansi-language: EN-US"&gt;#create assembly ... from 0x4D5A900003000 ... with permission_set = ...&lt;o:p&gt;&lt;/o:p&gt;&lt;/SPAN&gt;&lt;/P&gt;
&lt;P style="LINE-HEIGHT: normal; MARGIN: 0in 0in 0pt; mso-layout-grid-align: none" class=MsoNormal&gt;&lt;SPAN style="FONT-FAMILY: 'Courier New'; COLOR: green; FONT-SIZE: 10pt" lang=RU&gt;#бинарщины на пути к файлам этой сборки:&lt;o:p&gt;&lt;/o:p&gt;&lt;/SPAN&gt;&lt;/P&gt;
&lt;P style="LINE-HEIGHT: normal; MARGIN: 0in 0in 0pt; mso-layout-grid-align: none" class=MsoNormal&gt;&lt;SPAN style="FONT-FAMILY: 'Courier New'; COLOR: green; FONT-SIZE: 10pt; mso-ansi-language: EN-US"&gt;#create assembly ... from 'C:\...\bin\Debug\ClassLibrary1.dll' with permission_set ...&lt;o:p&gt;&lt;/o:p&gt;&lt;/SPAN&gt;&lt;/P&gt;
&lt;P style="LINE-HEIGHT: normal; MARGIN: 0in 0in 0pt; mso-layout-grid-align: none" class=MsoNormal&gt;&lt;SPAN style="FONT-FAMILY: 'Courier New'; COLOR: green; FONT-SIZE: 10pt" lang=RU&gt;#&amp;lt;/&lt;/SPAN&gt;&lt;SPAN style="FONT-FAMILY: 'Courier New'; COLOR: green; FONT-SIZE: 10pt; mso-ansi-language: EN-US"&gt;summary&lt;/SPAN&gt;&lt;SPAN style="FONT-FAMILY: 'Courier New'; COLOR: green; FONT-SIZE: 10pt" lang=RU&gt;&amp;gt;&lt;o:p&gt;&lt;/o:p&gt;&lt;/SPAN&gt;&lt;/P&gt;
&lt;P style="LINE-HEIGHT: normal; MARGIN: 0in 0in 0pt; mso-layout-grid-align: none" class=MsoNormal&gt;&lt;SPAN style="FONT-FAMILY: 'Courier New'; COLOR: green; FONT-SIZE: 10pt" lang=RU&gt;#&amp;lt;&lt;/SPAN&gt;&lt;SPAN style="FONT-FAMILY: 'Courier New'; COLOR: green; FONT-SIZE: 10pt; mso-ansi-language: EN-US"&gt;param&lt;/SPAN&gt;&lt;SPAN style="FONT-FAMILY: 'Courier New'; COLOR: green; FONT-SIZE: 10pt"&gt; &lt;/SPAN&gt;&lt;SPAN style="FONT-FAMILY: 'Courier New'; COLOR: green; FONT-SIZE: 10pt; mso-ansi-language: EN-US"&gt;name&lt;/SPAN&gt;&lt;SPAN style="FONT-FAMILY: 'Courier New'; COLOR: green; FONT-SIZE: 10pt" lang=RU&gt;="&lt;/SPAN&gt;&lt;SPAN style="FONT-FAMILY: 'Courier New'; COLOR: green; FONT-SIZE: 10pt; mso-ansi-language: EN-US"&gt;scriptToCreate&lt;/SPAN&gt;&lt;SPAN style="FONT-FAMILY: 'Courier New'; COLOR: green; FONT-SIZE: 10pt" lang=RU&gt;"&amp;gt;&lt;o:p&gt;&lt;/o:p&gt;&lt;/SPAN&gt;&lt;/P&gt;
&lt;P style="LINE-HEIGHT: normal; MARGIN: 0in 0in 0pt; mso-layout-grid-align: none" class=MsoNormal&gt;&lt;SPAN style="FONT-FAMILY: 'Courier New'; COLOR: green; FONT-SIZE: 10pt" lang=RU&gt;#Сгенеренный скрипт создания сборки и, возможно, других объектов.&lt;o:p&gt;&lt;/o:p&gt;&lt;/SPAN&gt;&lt;/P&gt;
&lt;P style="LINE-HEIGHT: normal; MARGIN: 0in 0in 0pt; mso-layout-grid-align: none" class=MsoNormal&gt;&lt;SPAN style="FONT-FAMILY: 'Courier New'; COLOR: green; FONT-SIZE: 10pt" lang=RU&gt;#Однако предполагается, что в этом скрипте оператор &lt;/SPAN&gt;&lt;SPAN style="FONT-FAMILY: 'Courier New'; COLOR: green; FONT-SIZE: 10pt; mso-ansi-language: EN-US"&gt;create&lt;/SPAN&gt;&lt;SPAN style="FONT-FAMILY: 'Courier New'; COLOR: green; FONT-SIZE: 10pt"&gt; &lt;/SPAN&gt;&lt;SPAN style="FONT-FAMILY: 'Courier New'; COLOR: green; FONT-SIZE: 10pt; mso-ansi-language: EN-US"&gt;assembly&lt;/SPAN&gt;&lt;SPAN style="FONT-FAMILY: 'Courier New'; COLOR: green; FONT-SIZE: 10pt" lang=RU&gt; один.&lt;o:p&gt;&lt;/o:p&gt;&lt;/SPAN&gt;&lt;/P&gt;
&lt;P style="LINE-HEIGHT: normal; MARGIN: 0in 0in 0pt; mso-layout-grid-align: none" class=MsoNormal&gt;&lt;SPAN style="FONT-FAMILY: 'Courier New'; COLOR: green; FONT-SIZE: 10pt" lang=RU&gt;#В противном случае каждую сборку надо скриптовать отдельно.&lt;o:p&gt;&lt;/o:p&gt;&lt;/SPAN&gt;&lt;/P&gt;
&lt;P style="LINE-HEIGHT: normal; MARGIN: 0in 0in 0pt; mso-layout-grid-align: none" class=MsoNormal&gt;&lt;SPAN style="FONT-FAMILY: 'Courier New'; COLOR: green; FONT-SIZE: 10pt; mso-ansi-language: EN-US"&gt;#&amp;lt;/param&amp;gt;&lt;o:p&gt;&lt;/o:p&gt;&lt;/SPAN&gt;&lt;/P&gt;
&lt;P style="LINE-HEIGHT: normal; MARGIN: 0in 0in 0pt; mso-layout-grid-align: none" class=MsoNormal&gt;&lt;SPAN style="FONT-FAMILY: 'Courier New'; COLOR: green; FONT-SIZE: 10pt; mso-ansi-language: EN-US"&gt;#&amp;lt;param name="files"&amp;gt;Файлы из SqlAssembly.SqlAssemblyFiles&amp;lt;/param&amp;gt;&lt;o:p&gt;&lt;/o:p&gt;&lt;/SPAN&gt;&lt;/P&gt;
&lt;P style="LINE-HEIGHT: normal; MARGIN: 0in 0in 0pt; mso-layout-grid-align: none" class=MsoNormal&gt;&lt;SPAN style="FONT-FAMILY: 'Courier New'; COLOR: green; FONT-SIZE: 10pt; mso-ansi-language: EN-US"&gt;#&amp;lt;returns&amp;gt;&amp;lt;/returns&amp;gt;&lt;o:p&gt;&lt;/o:p&gt;&lt;/SPAN&gt;&lt;/P&gt;
&lt;P style="LINE-HEIGHT: normal; MARGIN: 0in 0in 0pt; mso-layout-grid-align: none" class=MsoNormal&gt;&lt;SPAN style="FONT-FAMILY: 'Courier New'; COLOR: blue; FONT-SIZE: 10pt; mso-ansi-language: EN-US"&gt;function&lt;/SPAN&gt;&lt;SPAN style="FONT-FAMILY: 'Courier New'; COLOR: black; FONT-SIZE: 10pt; mso-ansi-language: EN-US"&gt; &lt;/SPAN&gt;&lt;SPAN style="FONT-FAMILY: 'Courier New'; COLOR: cadetblue; FONT-SIZE: 10pt; mso-ansi-language: EN-US"&gt;ReplaceAssemblyBytesToFilePath&lt;/SPAN&gt;&lt;SPAN style="FONT-FAMILY: 'Courier New'; COLOR: black; FONT-SIZE: 10pt; mso-ansi-language: EN-US"&gt;(&lt;/SPAN&gt;&lt;SPAN style="FONT-FAMILY: 'Courier New'; COLOR: purple; FONT-SIZE: 10pt; mso-ansi-language: EN-US"&gt;$scriptToCreate&lt;/SPAN&gt;&lt;SPAN style="FONT-FAMILY: 'Courier New'; COLOR: black; FONT-SIZE: 10pt; mso-ansi-language: EN-US"&gt;, &lt;/SPAN&gt;&lt;SPAN style="FONT-FAMILY: 'Courier New'; COLOR: purple; FONT-SIZE: 10pt; mso-ansi-language: EN-US"&gt;$files&lt;/SPAN&gt;&lt;SPAN style="FONT-FAMILY: 'Courier New'; COLOR: black; FONT-SIZE: 10pt; mso-ansi-language: EN-US"&gt;)&lt;o:p&gt;&lt;/o:p&gt;&lt;/SPAN&gt;&lt;/P&gt;
&lt;P style="LINE-HEIGHT: normal; MARGIN: 0in 0in 0pt; mso-layout-grid-align: none" class=MsoNormal&gt;&lt;SPAN style="FONT-FAMILY: 'Courier New'; COLOR: black; FONT-SIZE: 10pt; mso-ansi-language: EN-US"&gt;{&lt;o:p&gt;&lt;/o:p&gt;&lt;/SPAN&gt;&lt;/P&gt;
&lt;P style="LINE-HEIGHT: normal; MARGIN: 0in 0in 0pt; mso-layout-grid-align: none" class=MsoNormal&gt;&lt;SPAN style="FONT-FAMILY: 'Courier New'; COLOR: purple; FONT-SIZE: 10pt; mso-ansi-language: EN-US"&gt;$pattern&lt;/SPAN&gt;&lt;SPAN style="FONT-FAMILY: 'Courier New'; COLOR: black; FONT-SIZE: 10pt; mso-ansi-language: EN-US"&gt; &lt;/SPAN&gt;&lt;SPAN style="FONT-FAMILY: 'Courier New'; COLOR: red; FONT-SIZE: 10pt; mso-ansi-language: EN-US"&gt;=&lt;/SPAN&gt;&lt;SPAN style="FONT-FAMILY: 'Courier New'; COLOR: black; FONT-SIZE: 10pt; mso-ansi-language: EN-US"&gt; &lt;/SPAN&gt;&lt;B&gt;&lt;SPAN style="FONT-FAMILY: 'Courier New'; COLOR: cadetblue; FONT-SIZE: 10pt; mso-ansi-language: EN-US"&gt;new-object&lt;/SPAN&gt;&lt;/B&gt;&lt;SPAN style="FONT-FAMILY: 'Courier New'; COLOR: black; FONT-SIZE: 10pt; mso-ansi-language: EN-US"&gt; &lt;/SPAN&gt;&lt;I&gt;&lt;SPAN style="FONT-FAMILY: 'Courier New'; COLOR: cadetblue; FONT-SIZE: 10pt; mso-ansi-language: EN-US"&gt;-TypeName&lt;/SPAN&gt;&lt;/I&gt;&lt;SPAN style="FONT-FAMILY: 'Courier New'; COLOR: black; FONT-SIZE: 10pt; mso-ansi-language: EN-US"&gt; &lt;/SPAN&gt;&lt;SPAN style="FONT-FAMILY: 'Courier New'; COLOR: maroon; FONT-SIZE: 10pt; mso-ansi-language: EN-US"&gt;"Text.RegularExpressions.Regex"&lt;/SPAN&gt;&lt;SPAN style="FONT-FAMILY: 'Courier New'; COLOR: black; FONT-SIZE: 10pt; mso-ansi-language: EN-US"&gt; &lt;/SPAN&gt;&lt;I&gt;&lt;SPAN style="FONT-FAMILY: 'Courier New'; COLOR: cadetblue; FONT-SIZE: 10pt; mso-ansi-language: EN-US"&gt;-ArgumentList&lt;/SPAN&gt;&lt;/I&gt;&lt;SPAN style="FONT-FAMILY: 'Courier New'; COLOR: black; FONT-SIZE: 10pt; mso-ansi-language: EN-US"&gt; &lt;/SPAN&gt;&lt;SPAN style="FONT-FAMILY: 'Courier New'; COLOR: maroon; FONT-SIZE: 10pt; mso-ansi-language: EN-US"&gt;"create assembly \[\w+\]\r\nauthorization \[\w+\]\r\nfrom "&lt;/SPAN&gt;&lt;SPAN style="FONT-FAMILY: 'Courier New'; COLOR: black; FONT-SIZE: 10pt; mso-ansi-language: EN-US"&gt;, $([&lt;/SPAN&gt;&lt;SPAN style="FONT-FAMILY: 'Courier New'; COLOR: teal; FONT-SIZE: 10pt; mso-ansi-language: EN-US"&gt;Text.RegularExpressions.RegExOptions&lt;/SPAN&gt;&lt;SPAN style="FONT-FAMILY: 'Courier New'; COLOR: black; FONT-SIZE: 10pt; mso-ansi-language: EN-US"&gt;]::&lt;/SPAN&gt;&lt;SPAN style="FONT-FAMILY: 'Courier New'; COLOR: saddlebrown; FONT-SIZE: 10pt; mso-ansi-language: EN-US"&gt;IgnoreCase&lt;/SPAN&gt;&lt;SPAN style="FONT-FAMILY: 'Courier New'; COLOR: black; FONT-SIZE: 10pt; mso-ansi-language: EN-US"&gt;)&lt;o:p&gt;&lt;/o:p&gt;&lt;/SPAN&gt;&lt;/P&gt;
&lt;P style="LINE-HEIGHT: normal; MARGIN: 0in 0in 0pt; mso-layout-grid-align: none" class=MsoNormal&gt;&lt;SPAN style="FONT-FAMILY: 'Courier New'; COLOR: purple; FONT-SIZE: 10pt; mso-ansi-language: EN-US"&gt;$match&lt;/SPAN&gt;&lt;SPAN style="FONT-FAMILY: 'Courier New'; COLOR: black; FONT-SIZE: 10pt; mso-ansi-language: EN-US"&gt; &lt;/SPAN&gt;&lt;SPAN style="FONT-FAMILY: 'Courier New'; COLOR: red; FONT-SIZE: 10pt; mso-ansi-language: EN-US"&gt;=&lt;/SPAN&gt;&lt;SPAN style="FONT-FAMILY: 'Courier New'; COLOR: black; FONT-SIZE: 10pt; mso-ansi-language: EN-US"&gt; &lt;/SPAN&gt;&lt;SPAN style="FONT-FAMILY: 'Courier New'; COLOR: purple; FONT-SIZE: 10pt; mso-ansi-language: EN-US"&gt;$pattern&lt;/SPAN&gt;&lt;SPAN style="FONT-FAMILY: 'Courier New'; COLOR: black; FONT-SIZE: 10pt; mso-ansi-language: EN-US"&gt;.&lt;/SPAN&gt;&lt;SPAN style="FONT-FAMILY: 'Courier New'; COLOR: saddlebrown; FONT-SIZE: 10pt; mso-ansi-language: EN-US"&gt;Match&lt;/SPAN&gt;&lt;SPAN style="FONT-FAMILY: 'Courier New'; COLOR: black; FONT-SIZE: 10pt; mso-ansi-language: EN-US"&gt;(&lt;/SPAN&gt;&lt;SPAN style="FONT-FAMILY: 'Courier New'; COLOR: purple; FONT-SIZE: 10pt; mso-ansi-language: EN-US"&gt;$scriptToCreate&lt;/SPAN&gt;&lt;SPAN style="FONT-FAMILY: 'Courier New'; COLOR: black; FONT-SIZE: 10pt; mso-ansi-language: EN-US"&gt;)&lt;o:p&gt;&lt;/o:p&gt;&lt;/SPAN&gt;&lt;/P&gt;
&lt;P style="LINE-HEIGHT: normal; MARGIN: 0in 0in 0pt; mso-layout-grid-align: none" class=MsoNormal&gt;&lt;SPAN style="FONT-FAMILY: 'Courier New'; COLOR: purple; FONT-SIZE: 10pt; mso-ansi-language: EN-US"&gt;$sb&lt;/SPAN&gt;&lt;SPAN style="FONT-FAMILY: 'Courier New'; COLOR: black; FONT-SIZE: 10pt; mso-ansi-language: EN-US"&gt; &lt;/SPAN&gt;&lt;SPAN style="FONT-FAMILY: 'Courier New'; COLOR: red; FONT-SIZE: 10pt; mso-ansi-language: EN-US"&gt;=&lt;/SPAN&gt;&lt;SPAN style="FONT-FAMILY: 'Courier New'; COLOR: black; FONT-SIZE: 10pt; mso-ansi-language: EN-US"&gt; &lt;/SPAN&gt;&lt;B&gt;&lt;SPAN style="FONT-FAMILY: 'Courier New'; COLOR: cadetblue; FONT-SIZE: 10pt; mso-ansi-language: EN-US"&gt;new-object&lt;/SPAN&gt;&lt;/B&gt;&lt;SPAN style="FONT-FAMILY: 'Courier New'; COLOR: black; FONT-SIZE: 10pt; mso-ansi-language: EN-US"&gt; &lt;/SPAN&gt;&lt;I&gt;&lt;SPAN style="FONT-FAMILY: 'Courier New'; COLOR: cadetblue; FONT-SIZE: 10pt; mso-ansi-language: EN-US"&gt;-TypeName&lt;/SPAN&gt;&lt;/I&gt;&lt;SPAN style="FONT-FAMILY: 'Courier New'; COLOR: black; FONT-SIZE: 10pt; mso-ansi-language: EN-US"&gt; &lt;/SPAN&gt;&lt;SPAN style="FONT-FAMILY: 'Courier New'; COLOR: maroon; FONT-SIZE: 10pt; mso-ansi-language: EN-US"&gt;"System.Text.StringBuilder"&lt;/SPAN&gt;&lt;SPAN style="FONT-FAMILY: 'Courier New'; COLOR: black; FONT-SIZE: 10pt; mso-ansi-language: EN-US"&gt; &lt;/SPAN&gt;&lt;I&gt;&lt;SPAN style="FONT-FAMILY: 'Courier New'; COLOR: cadetblue; FONT-SIZE: 10pt; mso-ansi-language: EN-US"&gt;-ArgumentList&lt;/SPAN&gt;&lt;/I&gt;&lt;SPAN style="FONT-FAMILY: 'Courier New'; COLOR: black; FONT-SIZE: 10pt; mso-ansi-language: EN-US"&gt; &lt;/SPAN&gt;&lt;SPAN style="FONT-FAMILY: 'Courier New'; COLOR: purple; FONT-SIZE: 10pt; mso-ansi-language: EN-US"&gt;$scriptToCreate&lt;/SPAN&gt;&lt;SPAN style="FONT-FAMILY: 'Courier New'; COLOR: black; FONT-SIZE: 10pt; mso-ansi-language: EN-US"&gt;.Substring(0, &lt;/SPAN&gt;&lt;SPAN style="FONT-FAMILY: 'Courier New'; COLOR: purple; FONT-SIZE: 10pt; mso-ansi-language: EN-US"&gt;$match&lt;/SPAN&gt;&lt;SPAN style="FONT-FAMILY: 'Courier New'; COLOR: black; FONT-SIZE: 10pt; mso-ansi-language: EN-US"&gt;.Index &lt;/SPAN&gt;&lt;SPAN style="FONT-FAMILY: 'Courier New'; COLOR: red; FONT-SIZE: 10pt; mso-ansi-language: EN-US"&gt;+&lt;/SPAN&gt;&lt;SPAN style="FONT-FAMILY: 'Courier New'; COLOR: black; FONT-SIZE: 10pt; mso-ansi-language: EN-US"&gt; &lt;/SPAN&gt;&lt;SPAN style="FONT-FAMILY: 'Courier New'; COLOR: purple; FONT-SIZE: 10pt; mso-ansi-language: EN-US"&gt;$match&lt;/SPAN&gt;&lt;SPAN style="FONT-FAMILY: 'Courier New'; COLOR: black; FONT-SIZE: 10pt; mso-ansi-language: EN-US"&gt;.Length);&lt;o:p&gt;&lt;/o:p&gt;&lt;/SPAN&gt;&lt;/P&gt;
&lt;P style="LINE-HEIGHT: normal; MARGIN: 0in 0in 0pt; mso-layout-grid-align: none" class=MsoNormal&gt;&lt;SPAN style="FONT-FAMILY: 'Courier New'; COLOR: purple; FONT-SIZE: 10pt; mso-ansi-language: EN-US"&gt;$files&lt;/SPAN&gt;&lt;SPAN style="FONT-FAMILY: 'Courier New'; COLOR: black; FONT-SIZE: 10pt; mso-ansi-language: EN-US"&gt; |&lt;SPAN style="mso-spacerun: yes"&gt;&amp;nbsp; &lt;/SPAN&gt;&lt;/SPAN&gt;&lt;B&gt;&lt;SPAN style="FONT-FAMILY: 'Courier New'; COLOR: cadetblue; FONT-SIZE: 10pt; mso-ansi-language: EN-US"&gt;ForEach-Object&lt;/SPAN&gt;&lt;/B&gt;&lt;SPAN style="FONT-FAMILY: 'Courier New'; COLOR: black; FONT-SIZE: 10pt; mso-ansi-language: EN-US"&gt; &lt;/SPAN&gt;&lt;I&gt;&lt;SPAN style="FONT-FAMILY: 'Courier New'; COLOR: cadetblue; FONT-SIZE: 10pt; mso-ansi-language: EN-US"&gt;-Process&lt;/SPAN&gt;&lt;/I&gt;&lt;SPAN style="FONT-FAMILY: 'Courier New'; COLOR: black; FONT-SIZE: 10pt; mso-ansi-language: EN-US"&gt; { [&lt;/SPAN&gt;&lt;SPAN style="FONT-FAMILY: 'Courier New'; COLOR: teal; FONT-SIZE: 10pt; mso-ansi-language: EN-US"&gt;Void&lt;/SPAN&gt;&lt;SPAN style="FONT-FAMILY: 'Courier New'; COLOR: black; FONT-SIZE: 10pt; mso-ansi-language: EN-US"&gt;] &lt;/SPAN&gt;&lt;SPAN style="FONT-FAMILY: 'Courier New'; COLOR: purple; FONT-SIZE: 10pt; mso-ansi-language: EN-US"&gt;$sb&lt;/SPAN&gt;&lt;SPAN style="FONT-FAMILY: 'Courier New'; COLOR: black; FONT-SIZE: 10pt; mso-ansi-language: EN-US"&gt;.&lt;/SPAN&gt;&lt;SPAN style="FONT-FAMILY: 'Courier New'; COLOR: saddlebrown; FONT-SIZE: 10pt; mso-ansi-language: EN-US"&gt;Append&lt;/SPAN&gt;&lt;SPAN style="FONT-FAMILY: 'Courier New'; COLOR: black; FONT-SIZE: 10pt; mso-ansi-language: EN-US"&gt;(&lt;/SPAN&gt;&lt;SPAN style="FONT-FAMILY: 'Courier New'; COLOR: maroon; FONT-SIZE: 10pt; mso-ansi-language: EN-US"&gt;"'"&lt;/SPAN&gt;&lt;SPAN style="FONT-FAMILY: 'Courier New'; COLOR: black; FONT-SIZE: 10pt; mso-ansi-language: EN-US"&gt;); [&lt;/SPAN&gt;&lt;SPAN style="FONT-FAMILY: 'Courier New'; COLOR: teal; FONT-SIZE: 10pt; mso-ansi-language: EN-US"&gt;Void&lt;/SPAN&gt;&lt;SPAN style="FONT-FAMILY: 'Courier New'; COLOR: black; FONT-SIZE: 10pt; mso-ansi-language: EN-US"&gt;] &lt;/SPAN&gt;&lt;SPAN style="FONT-FAMILY: 'Courier New'; COLOR: purple; FONT-SIZE: 10pt; mso-ansi-language: EN-US"&gt;$sb&lt;/SPAN&gt;&lt;SPAN style="FONT-FAMILY: 'Courier New'; COLOR: black; FONT-SIZE: 10pt; mso-ansi-language: EN-US"&gt;.&lt;/SPAN&gt;&lt;SPAN style="FONT-FAMILY: 'Courier New'; COLOR: saddlebrown; FONT-SIZE: 10pt; mso-ansi-language: EN-US"&gt;Append&lt;/SPAN&gt;&lt;SPAN style="FONT-FAMILY: 'Courier New'; COLOR: black; FONT-SIZE: 10pt; mso-ansi-language: EN-US"&gt;(&lt;/SPAN&gt;&lt;SPAN style="FONT-FAMILY: 'Courier New'; COLOR: navy; FONT-SIZE: 10pt; mso-ansi-language: EN-US"&gt;$_&lt;/SPAN&gt;&lt;SPAN style="FONT-FAMILY: 'Courier New'; COLOR: black; FONT-SIZE: 10pt; mso-ansi-language: EN-US"&gt;.Name); [&lt;/SPAN&gt;&lt;SPAN style="FONT-FAMILY: 'Courier New'; COLOR: teal; FONT-SIZE: 10pt; mso-ansi-language: EN-US"&gt;Void&lt;/SPAN&gt;&lt;SPAN style="FONT-FAMILY: 'Courier New'; COLOR: black; FONT-SIZE: 10pt; mso-ansi-language: EN-US"&gt;] &lt;/SPAN&gt;&lt;SPAN style="FONT-FAMILY: 'Courier New'; COLOR: purple; FONT-SIZE: 10pt; mso-ansi-language: EN-US"&gt;$sb&lt;/SPAN&gt;&lt;SPAN style="FONT-FAMILY: 'Courier New'; COLOR: black; FONT-SIZE: 10pt; mso-ansi-language: EN-US"&gt;.&lt;/SPAN&gt;&lt;SPAN style="FONT-FAMILY: 'Courier New'; COLOR: saddlebrown; FONT-SIZE: 10pt; mso-ansi-language: EN-US"&gt;Append&lt;/SPAN&gt;&lt;SPAN style="FONT-FAMILY: 'Courier New'; COLOR: black; FONT-SIZE: 10pt; mso-ansi-language: EN-US"&gt;(&lt;/SPAN&gt;&lt;SPAN style="FONT-FAMILY: 'Courier New'; COLOR: maroon; FONT-SIZE: 10pt; mso-ansi-language: EN-US"&gt;"', "&lt;/SPAN&gt;&lt;SPAN style="FONT-FAMILY: 'Courier New'; COLOR: black; FONT-SIZE: 10pt; mso-ansi-language: EN-US"&gt;); }&lt;o:p&gt;&lt;/o:p&gt;&lt;/SPAN&gt;&lt;/P&gt;
&lt;P style="LINE-HEIGHT: normal; MARGIN: 0in 0in 0pt; mso-layout-grid-align: none" class=MsoNormal&gt;&lt;SPAN style="FONT-FAMILY: 'Courier New'; COLOR: black; FONT-SIZE: 10pt; mso-ansi-language: EN-US"&gt;[&lt;/SPAN&gt;&lt;SPAN style="FONT-FAMILY: 'Courier New'; COLOR: teal; FONT-SIZE: 10pt; mso-ansi-language: EN-US"&gt;Void&lt;/SPAN&gt;&lt;SPAN style="FONT-FAMILY: 'Courier New'; COLOR: black; FONT-SIZE: 10pt; mso-ansi-language: EN-US"&gt;] &lt;/SPAN&gt;&lt;SPAN style="FONT-FAMILY: 'Courier New'; COLOR: purple; FONT-SIZE: 10pt; mso-ansi-language: EN-US"&gt;$sb&lt;/SPAN&gt;&lt;SPAN style="FONT-FAMILY: 'Courier New'; COLOR: black; FONT-SIZE: 10pt; mso-ansi-language: EN-US"&gt;.&lt;/SPAN&gt;&lt;SPAN style="FONT-FAMILY: 'Courier New'; COLOR: saddlebrown; FONT-SIZE: 10pt; mso-ansi-language: EN-US"&gt;Remove&lt;/SPAN&gt;&lt;SPAN style="FONT-FAMILY: 'Courier New'; COLOR: black; FONT-SIZE: 10pt; mso-ansi-language: EN-US"&gt;(&lt;/SPAN&gt;&lt;SPAN style="FONT-FAMILY: 'Courier New'; COLOR: purple; FONT-SIZE: 10pt; mso-ansi-language: EN-US"&gt;$sb&lt;/SPAN&gt;&lt;SPAN style="FONT-FAMILY: 'Courier New'; COLOR: black; FONT-SIZE: 10pt; mso-ansi-language: EN-US"&gt;.&lt;/SPAN&gt;&lt;SPAN style="FONT-FAMILY: 'Courier New'; COLOR: saddlebrown; FONT-SIZE: 10pt; mso-ansi-language: EN-US"&gt;Length&lt;/SPAN&gt;&lt;SPAN style="FONT-FAMILY: 'Courier New'; COLOR: black; FONT-SIZE: 10pt; mso-ansi-language: EN-US"&gt; &lt;/SPAN&gt;&lt;SPAN style="FONT-FAMILY: 'Courier New'; COLOR: red; FONT-SIZE: 10pt; mso-ansi-language: EN-US"&gt;-&lt;/SPAN&gt;&lt;SPAN style="FONT-FAMILY: 'Courier New'; COLOR: black; FONT-SIZE: 10pt; mso-ansi-language: EN-US"&gt; 2, 1) &lt;/SPAN&gt;&lt;SPAN style="FONT-FAMILY: 'Courier New'; COLOR: green; FONT-SIZE: 10pt; mso-ansi-language: EN-US"&gt;#убираем последнюю запятую (пробел оставляем)&lt;o:p&gt;&lt;/o:p&gt;&lt;/SPAN&gt;&lt;/P&gt;
&lt;P style="LINE-HEIGHT: normal; MARGIN: 0in 0in 0pt; mso-layout-grid-align: none" class=MsoNormal&gt;&lt;SPAN style="FONT-FAMILY: 'Courier New'; COLOR: purple; FONT-SIZE: 10pt; mso-ansi-language: EN-US"&gt;$pattern&lt;/SPAN&gt;&lt;SPAN style="FONT-FAMILY: 'Courier New'; COLOR: black; FONT-SIZE: 10pt; mso-ansi-language: EN-US"&gt; &lt;/SPAN&gt;&lt;SPAN style="FONT-FAMILY: 'Courier New'; COLOR: red; FONT-SIZE: 10pt; mso-ansi-language: EN-US"&gt;=&lt;/SPAN&gt;&lt;SPAN style="FONT-FAMILY: 'Courier New'; COLOR: black; FONT-SIZE: 10pt; mso-ansi-language: EN-US"&gt; &lt;/SPAN&gt;&lt;B&gt;&lt;SPAN style="FONT-FAMILY: 'Courier New'; COLOR: cadetblue; FONT-SIZE: 10pt; mso-ansi-language: EN-US"&gt;new-object&lt;/SPAN&gt;&lt;/B&gt;&lt;SPAN style="FONT-FAMILY: 'Courier New'; COLOR: black; FONT-SIZE: 10pt; mso-ansi-language: EN-US"&gt; &lt;/SPAN&gt;&lt;I&gt;&lt;SPAN style="FONT-FAMILY: 'Courier New'; COLOR: cadetblue; FONT-SIZE: 10pt; mso-ansi-language: EN-US"&gt;-TypeName&lt;/SPAN&gt;&lt;/I&gt;&lt;SPAN style="FONT-FAMILY: 'Courier New'; COLOR: black; FONT-SIZE: 10pt; mso-ansi-language: EN-US"&gt; &lt;/SPAN&gt;&lt;SPAN style="FONT-FAMILY: 'Courier New'; COLOR: maroon; FONT-SIZE: 10pt; mso-ansi-language: EN-US"&gt;"Text.RegularExpressions.Regex"&lt;/SPAN&gt;&lt;SPAN style="FONT-FAMILY: 'Courier New'; COLOR: black; FONT-SIZE: 10pt; mso-ansi-language: EN-US"&gt; &lt;/SPAN&gt;&lt;I&gt;&lt;SPAN style="FONT-FAMILY: 'Courier New'; COLOR: cadetblue; FONT-SIZE: 10pt; mso-ansi-language: EN-US"&gt;-ArgumentList&lt;/SPAN&gt;&lt;/I&gt;&lt;SPAN style="FONT-FAMILY: 'Courier New'; COLOR: black; FONT-SIZE: 10pt; mso-ansi-language: EN-US"&gt; &lt;/SPAN&gt;&lt;SPAN style="FONT-FAMILY: 'Courier New'; COLOR: maroon; FONT-SIZE: 10pt; mso-ansi-language: EN-US"&gt;"with permission_set"&lt;/SPAN&gt;&lt;SPAN style="FONT-FAMILY: 'Courier New'; COLOR: black; FONT-SIZE: 10pt; mso-ansi-language: EN-US"&gt;, $([&lt;/SPAN&gt;&lt;SPAN style="FONT-FAMILY: 'Courier New'; COLOR: teal; FONT-SIZE: 10pt; mso-ansi-language: EN-US"&gt;Text.RegularExpressions.RegexOptions&lt;/SPAN&gt;&lt;SPAN style="FONT-FAMILY: 'Courier New'; COLOR: black; FONT-SIZE: 10pt; mso-ansi-language: EN-US"&gt;]::&lt;/SPAN&gt;&lt;SPAN style="FONT-FAMILY: 'Courier New'; COLOR: saddlebrown; FONT-SIZE: 10pt; mso-ansi-language: EN-US"&gt;IgnoreCase&lt;/SPAN&gt;&lt;SPAN style="FONT-FAMILY: 'Courier New'; COLOR: black; FONT-SIZE: 10pt; mso-ansi-language: EN-US"&gt;)&lt;o:p&gt;&lt;/o:p&gt;&lt;/SPAN&gt;&lt;/P&gt;
&lt;P style="LINE-HEIGHT: normal; MARGIN: 0in 0in 0pt; mso-layout-grid-align: none" class=MsoNormal&gt;&lt;SPAN style="FONT-FAMILY: 'Courier New'; COLOR: purple; FONT-SIZE: 10pt; mso-ansi-language: EN-US"&gt;$match&lt;/SPAN&gt;&lt;SPAN style="FONT-FAMILY: 'Courier New'; COLOR: black; FONT-SIZE: 10pt; mso-ansi-language: EN-US"&gt; &lt;/SPAN&gt;&lt;SPAN style="FONT-FAMILY: 'Courier New'; COLOR: red; FONT-SIZE: 10pt; mso-ansi-language: EN-US"&gt;=&lt;/SPAN&gt;&lt;SPAN style="FONT-FAMILY: 'Courier New'; COLOR: black; FONT-SIZE: 10pt; mso-ansi-language: EN-US"&gt; &lt;/SPAN&gt;&lt;SPAN style="FONT-FAMILY: 'Courier New'; COLOR: purple; FONT-SIZE: 10pt; mso-ansi-language: EN-US"&gt;$pattern&lt;/SPAN&gt;&lt;SPAN style="FONT-FAMILY: 'Courier New'; COLOR: black; FONT-SIZE: 10pt; mso-ansi-language: EN-US"&gt;.&lt;/SPAN&gt;&lt;SPAN style="FONT-FAMILY: 'Courier New'; COLOR: saddlebrown; FONT-SIZE: 10pt; mso-ansi-language: EN-US"&gt;Match&lt;/SPAN&gt;&lt;SPAN style="FONT-FAMILY: 'Courier New'; COLOR: black; FONT-SIZE: 10pt; mso-ansi-language: EN-US"&gt;(&lt;/SPAN&gt;&lt;SPAN style="FONT-FAMILY: 'Courier New'; COLOR: purple; FONT-SIZE: 10pt; mso-ansi-language: EN-US"&gt;$scriptToCreate&lt;/SPAN&gt;&lt;SPAN style="FONT-FAMILY: 'Courier New'; COLOR: black; FONT-SIZE: 10pt; mso-ansi-language: EN-US"&gt;, &lt;/SPAN&gt;&lt;SPAN style="FONT-FAMILY: 'Courier New'; COLOR: purple; FONT-SIZE: 10pt; mso-ansi-language: EN-US"&gt;$match&lt;/SPAN&gt;&lt;SPAN style="FONT-FAMILY: 'Courier New'; COLOR: black; FONT-SIZE: 10pt; mso-ansi-language: EN-US"&gt;.Index)&lt;o:p&gt;&lt;/o:p&gt;&lt;/SPAN&gt;&lt;/P&gt;
&lt;P style="LINE-HEIGHT: normal; MARGIN: 0in 0in 0pt; mso-layout-grid-align: none" class=MsoNormal&gt;&lt;SPAN style="FONT-FAMILY: 'Courier New'; COLOR: black; FONT-SIZE: 10pt; mso-ansi-language: EN-US"&gt;[&lt;/SPAN&gt;&lt;SPAN style="FONT-FAMILY: 'Courier New'; COLOR: teal; FONT-SIZE: 10pt; mso-ansi-language: EN-US"&gt;Void&lt;/SPAN&gt;&lt;SPAN style="FONT-FAMILY: 'Courier New'; COLOR: black; FONT-SIZE: 10pt; mso-ansi-language: EN-US"&gt;] &lt;/SPAN&gt;&lt;SPAN style="FONT-FAMILY: 'Courier New'; COLOR: purple; FONT-SIZE: 10pt; mso-ansi-language: EN-US"&gt;$sb&lt;/SPAN&gt;&lt;SPAN style="FONT-FAMILY: 'Courier New'; COLOR: black; FONT-SIZE: 10pt; mso-ansi-language: EN-US"&gt;.&lt;/SPAN&gt;&lt;SPAN style="FONT-FAMILY: 'Courier New'; COLOR: saddlebrown; FONT-SIZE: 10pt; mso-ansi-language: EN-US"&gt;Append&lt;/SPAN&gt;&lt;SPAN style="FONT-FAMILY: 'Courier New'; COLOR: black; FONT-SIZE: 10pt; mso-ansi-language: EN-US"&gt;(&lt;/SPAN&gt;&lt;SPAN style="FONT-FAMILY: 'Courier New'; COLOR: purple; FONT-SIZE: 10pt; mso-ansi-language: EN-US"&gt;$scriptToCreate&lt;/SPAN&gt;&lt;SPAN style="FONT-FAMILY: 'Courier New'; COLOR: black; FONT-SIZE: 10pt; mso-ansi-language: EN-US"&gt;.Substring(&lt;/SPAN&gt;&lt;SPAN style="FONT-FAMILY: 'Courier New'; COLOR: purple; FONT-SIZE: 10pt; mso-ansi-language: EN-US"&gt;$match&lt;/SPAN&gt;&lt;SPAN style="FONT-FAMILY: 'Courier New'; COLOR: black; FONT-SIZE: 10pt; mso-ansi-language: EN-US"&gt;.Index))&lt;o:p&gt;&lt;/o:p&gt;&lt;/SPAN&gt;&lt;/P&gt;
&lt;P style="LINE-HEIGHT: normal; MARGIN: 0in 0in 0pt; mso-layout-grid-align: none" class=MsoNormal&gt;&lt;SPAN style="FONT-FAMILY: 'Courier New'; COLOR: blue; FONT-SIZE: 10pt; mso-ansi-language: EN-US"&gt;return&lt;/SPAN&gt;&lt;SPAN style="FONT-FAMILY: 'Courier New'; COLOR: black; FONT-SIZE: 10pt; mso-ansi-language: EN-US"&gt; &lt;/SPAN&gt;&lt;SPAN style="FONT-FAMILY: 'Courier New'; COLOR: purple; FONT-SIZE: 10pt; mso-ansi-language: EN-US"&gt;$sb&lt;/SPAN&gt;&lt;SPAN style="FONT-FAMILY: 'Courier New'; COLOR: black; FONT-SIZE: 10pt; mso-ansi-language: EN-US"&gt;.&lt;/SPAN&gt;&lt;SPAN style="FONT-FAMILY: 'Courier New'; COLOR: saddlebrown; FONT-SIZE: 10pt; mso-ansi-language: EN-US"&gt;ToString&lt;/SPAN&gt;&lt;SPAN style="FONT-FAMILY: 'Courier New'; COLOR: black; FONT-SIZE: 10pt; mso-ansi-language: EN-US"&gt;()&lt;o:p&gt;&lt;/o:p&gt;&lt;/SPAN&gt;&lt;/P&gt;
&lt;P style="LINE-HEIGHT: normal; MARGIN: 0in 0in 0pt; mso-layout-grid-align: none" class=MsoNormal&gt;&lt;SPAN style="FONT-FAMILY: 'Courier New'; COLOR: black; FONT-SIZE: 10pt; mso-ansi-language: EN-US"&gt;}&lt;o:p&gt;&lt;/o:p&gt;&lt;/SPAN&gt;&lt;/P&gt;
&lt;P style="LINE-HEIGHT: normal; MARGIN: 0in 0in 0pt; mso-layout-grid-align: none" class=MsoNormal&gt;&lt;SPAN style="FONT-FAMILY: 'Courier New'; COLOR: black; FONT-SIZE: 10pt; mso-ansi-language: EN-US"&gt;&lt;o:p&gt;&amp;nbsp;&lt;/o:p&gt;&lt;/SPAN&gt;&lt;/P&gt;
&lt;P style="LINE-HEIGHT: normal; MARGIN: 0in 0in 0pt; mso-layout-grid-align: none" class=MsoNormal&gt;&lt;SPAN style="FONT-FAMILY: 'Courier New'; COLOR: cadetblue; FONT-SIZE: 10pt; mso-ansi-language: EN-US"&gt;Main&lt;/SPAN&gt;&lt;SPAN style="mso-ansi-language: EN-US"&gt;&lt;o:p&gt;&lt;/o:p&gt;&lt;/SPAN&gt;&lt;/P&gt;
&lt;P style="LINE-HEIGHT: normal; MARGIN: 0in 0in 0pt; mso-layout-grid-align: none" class=MsoNormal&gt;&lt;SPAN style="mso-ansi-language: EN-US"&gt;&lt;o:p&gt;&lt;FONT size=3 face=Calibri&gt;&amp;nbsp;&lt;/FONT&gt;&lt;/o:p&gt;&lt;/SPAN&gt;&lt;/P&gt;&lt;img src="http://blogs.msdn.com/aggbug.aspx?PostID=9884876" width="1" height="1"&gt;</description></item><item><title>Лицензирование SQL Server 2008 х86/х64 и Rus/Eng</title><link>http://blogs.msdn.com/alexejs/archive/2009/08/25/sql-server-2008-86-64-rus-eng.aspx</link><pubDate>Tue, 25 Aug 2009 09:46:00 GMT</pubDate><guid isPermaLink="false">91d46819-8472-40ad-a661-2c78acb4018c:9883262</guid><dc:creator>alexejs</dc:creator><slash:comments>2</slash:comments><comments>http://blogs.msdn.com/alexejs/comments/9883262.aspx</comments><wfw:commentRss>http://blogs.msdn.com/alexejs/commentrss.aspx?PostID=9883262</wfw:commentRss><description>&lt;P style="MARGIN: 0in 0in 10pt" class=MsoNormal&gt;&lt;FONT face=Calibri&gt;&lt;FONT size=3&gt;&lt;SPAN style="mso-ansi-language: RU" lang=RU&gt;Коллега обратился с вопросом от партнера. У человека есть лицензия на коммерческую редакцию русского SQL Server 2008 32-бит. Вправе ли он в рамках этой лицензии установить &lt;U&gt;вместо него&lt;/U&gt; английский &lt;/SPAN&gt;SQL&lt;SPAN style="mso-ansi-language: RU"&gt; &lt;/SPAN&gt;Server&lt;SPAN style="mso-ansi-language: RU" lang=RU&gt; 2008 &lt;/SPAN&gt;x&lt;SPAN style="mso-ansi-language: RU" lang=RU&gt;64 &lt;U&gt;той же редакции&lt;/U&gt;?&lt;?xml:namespace prefix = o ns = "urn:schemas-microsoft-com:office:office" /&gt;&lt;o:p&gt;&lt;/o:p&gt;&lt;/SPAN&gt;&lt;/FONT&gt;&lt;/FONT&gt;&lt;/P&gt;
&lt;P style="MARGIN: 0in 0in 10pt" class=MsoNormal&gt;&lt;SPAN style="mso-ansi-language: RU" lang=RU&gt;&lt;FONT face=Calibri&gt;&lt;FONT size=3&gt;Я предположил, что да, поскольку:&lt;o:p&gt;&lt;/o:p&gt;&lt;/FONT&gt;&lt;/FONT&gt;&lt;/SPAN&gt;&lt;/P&gt;
&lt;P style="TEXT-INDENT: -0.25in; MARGIN: 0in 0in 0pt 0.5in; mso-list: l0 level1 lfo1" class=MsoListParagraphCxSpFirst&gt;&lt;SPAN style="FONT-FAMILY: Symbol; mso-ansi-language: RU; mso-fareast-font-family: Symbol; mso-bidi-font-family: Symbol" lang=RU&gt;&lt;SPAN style="mso-list: Ignore"&gt;&lt;FONT size=3&gt;·&lt;/FONT&gt;&lt;SPAN style="FONT: 7pt 'Times New Roman'"&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp; &lt;/SPAN&gt;&lt;/SPAN&gt;&lt;/SPAN&gt;&lt;SPAN style="mso-ansi-language: RU" lang=RU&gt;&lt;FONT face=Calibri&gt;&lt;FONT size=3&gt;Лицензии на SQL Server 2008 не имеют битности в названии.&lt;o:p&gt;&lt;/o:p&gt;&lt;/FONT&gt;&lt;/FONT&gt;&lt;/SPAN&gt;&lt;/P&gt;
&lt;P style="TEXT-INDENT: -0.25in; MARGIN: 0in 0in 10pt 0.5in; mso-list: l0 level1 lfo1" class=MsoListParagraphCxSpLast&gt;&lt;SPAN style="FONT-FAMILY: Symbol; mso-ansi-language: RU; mso-fareast-font-family: Symbol; mso-bidi-font-family: Symbol" lang=RU&gt;&lt;SPAN style="mso-list: Ignore"&gt;&lt;FONT size=3&gt;·&lt;/FONT&gt;&lt;SPAN style="FONT: 7pt 'Times New Roman'"&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp; &lt;/SPAN&gt;&lt;/SPAN&gt;&lt;/SPAN&gt;&lt;SPAN style="mso-ansi-language: RU" lang=RU&gt;&lt;FONT size=3&gt;&lt;FONT face=Calibri&gt;Стоимости английской и русской версии равны.&lt;o:p&gt;&lt;/o:p&gt;&lt;/FONT&gt;&lt;/FONT&gt;&lt;/SPAN&gt;&lt;/P&gt;
&lt;P style="MARGIN: 0in 0in 10pt" class=MsoNormal&gt;&lt;SPAN style="mso-ansi-language: RU" lang=RU&gt;&lt;FONT size=3&gt;&lt;FONT face=Calibri&gt;но на всякий случай решил прояснить этот вопрос, обратившись в Licensing Group. &lt;o:p&gt;&lt;/o:p&gt;&lt;/FONT&gt;&lt;/FONT&gt;&lt;/SPAN&gt;&lt;/P&gt;
&lt;P style="MARGIN: 0in 0in 10pt" class=MsoNormal&gt;&lt;SPAN style="mso-ansi-language: RU" lang=RU&gt;&lt;FONT size=3&gt;&lt;FONT face=Calibri&gt;Подтвердили.&lt;o:p&gt;&lt;/o:p&gt;&lt;/FONT&gt;&lt;/FONT&gt;&lt;/SPAN&gt;&lt;/P&gt;&lt;img src="http://blogs.msdn.com/aggbug.aspx?PostID=9883262" width="1" height="1"&gt;</description></item><item><title>Автоматический редеплоймент сборки</title><link>http://blogs.msdn.com/alexejs/archive/2009/08/24/9882457.aspx</link><pubDate>Mon, 24 Aug 2009 10:22:00 GMT</pubDate><guid isPermaLink="false">91d46819-8472-40ad-a661-2c78acb4018c:9882457</guid><dc:creator>alexejs</dc:creator><slash:comments>0</slash:comments><comments>http://blogs.msdn.com/alexejs/comments/9882457.aspx</comments><wfw:commentRss>http://blogs.msdn.com/alexejs/commentrss.aspx?PostID=9882457</wfw:commentRss><description>&lt;P style="LINE-HEIGHT: normal; MARGIN: 0in 0in 0pt; mso-layout-grid-align: none" class=MsoNormal&gt;&lt;SPAN lang=RU&gt;&lt;FONT size=3 face=Calibri&gt;Не все сборки могут быть автоматически продеплоены из VS (см., напр., "&lt;/FONT&gt;&lt;A href="http://blogs.msdn.com/alexejs/archive/2009/06/14/com-dll-sql-clr.aspx" mce_href="http://blogs.msdn.com/alexejs/archive/2009/06/14/com-dll-sql-clr.aspx"&gt;&lt;FONT size=3 face=Calibri&gt;Использование COMовских dll в SQL CLR&lt;/FONT&gt;&lt;/A&gt;&lt;FONT size=3 face=Calibri&gt;"). В этом случае приходится их собирать как обычные библиотеки классов и каталогизировать вручную, выполняя CREATE ASSEMBLY и создавая содержащиеся в ней процедуры и функции (см. "&lt;/FONT&gt;&lt;A href="http://blogs.msdn.com/alexejs/archive/2009/08/21/9879205.aspx" mce_href="http://blogs.msdn.com/alexejs/archive/2009/08/21/9879205.aspx"&gt;&lt;FONT size=3 face=Calibri&gt;Полнотекстовый поиск. Наполнение таблицы.&lt;/FONT&gt;&lt;/A&gt;&lt;FONT size=3 face=Calibri&gt;"\Скрипт 4). По мере того, как сборка обрастает функциональностью и количество содержащихся в ней процедур, функций, агрегатов, UDT растет, скрипт становится все более монструозным. Кроме того, &lt;/FONT&gt;&lt;/SPAN&gt;&lt;FONT size=3&gt;&lt;FONT face=Calibri&gt;&lt;SPAN style="mso-ansi-language: en-us"&gt;SQL&lt;/SPAN&gt; &lt;SPAN style="mso-ansi-language: en-us"&gt;Server&lt;/SPAN&gt;&lt;SPAN lang=RU&gt; не дает удалить сборку, предварительно не удалив созданные на ее основе модули. На мой дилетантский взгляд, это ограничение имеет смысл, если модули, в свою очередь, имеют зависимые от них объекты, как например, таблица TestFTS ((см. "&lt;A href="http://blogs.msdn.com/alexejs/archive/2009/08/21/9879205.aspx" mce_href="http://blogs.msdn.com/alexejs/archive/2009/08/21/9879205.aspx"&gt;Полнотекстовый поиск. Наполнение таблицы.&lt;/A&gt;"\Скрипт 5), которая использует в качестве значения по умолчанию для одного из полей результат CLRной функции GetFileExtension(). Точно так же нельзя удалить таблицу, пока имеется другая, зависящая от нее по foreign key. Но когда зависимостей нет, таблица спокойно удаляется, не требуя предварительного удаления содержащихся в ней колонок. Так же, наверно, можно было поступить и со сборками. Если ее модули не имеют дальнейших зависимостей, удаление сборки могло бы автоматом удалять и модули. Но это мои досужие философствования, которые к делу отношения не имеют, тем более, что чаще всего дальнейшие зависимости у модулей есть, как в нашем случае. Для того они и создаются. Стало быть, при передеплойменте нужно удалять зависимые объекты, модули, сборку, а потом все пересоздавать в обратной последовательности. Писать всякий раз руками для этого скрипт ломает. Обшаривать &lt;/SPAN&gt;&lt;SPAN style="mso-ansi-language: en-us"&gt;sys&lt;/SPAN&gt;&lt;SPAN lang=RU&gt;.&lt;/SPAN&gt;&lt;SPAN style="mso-ansi-language: en-us"&gt;assemblies&lt;/SPAN&gt;&lt;SPAN lang=RU&gt;, &lt;/SPAN&gt;&lt;SPAN style="mso-ansi-language: en-us"&gt;sys&lt;/SPAN&gt;&lt;SPAN lang=RU&gt;.&lt;/SPAN&gt;&lt;SPAN style="mso-ansi-language: en-us"&gt;assembly&lt;/SPAN&gt;&lt;SPAN lang=RU&gt;_&lt;/SPAN&gt;&lt;SPAN style="mso-ansi-language: en-us"&gt;files&lt;/SPAN&gt;&lt;SPAN lang=RU&gt;, &lt;/SPAN&gt;&lt;SPAN style="mso-ansi-language: en-us"&gt;sys&lt;/SPAN&gt;&lt;SPAN lang=RU&gt;.&lt;/SPAN&gt;&lt;SPAN style="mso-ansi-language: en-us"&gt;assembly&lt;/SPAN&gt;&lt;SPAN lang=RU&gt;_&lt;/SPAN&gt;&lt;SPAN style="mso-ansi-language: en-us"&gt;modules&lt;/SPAN&gt;&lt;SPAN lang=RU&gt; и другие &lt;/SPAN&gt;&lt;SPAN style="mso-ansi-language: en-us"&gt;DMV&lt;/SPAN&gt;&lt;SPAN lang=RU&gt;, чтобы руками составлять строчку со скриптом, тоже не есть практическое решение, тем более, что полезного поля definition, где в явном виде содержится скрипт создания процедуры/функции, как в sys.sql_modules, для CLRных процедур и функций нет.&lt;/SPAN&gt;&lt;/FONT&gt;&lt;/FONT&gt;&lt;/P&gt;
&lt;P style="LINE-HEIGHT: normal; MARGIN: 0in 0in 0pt; mso-layout-grid-align: none" class=MsoNormal&gt;&lt;FONT size=3&gt;&lt;FONT face=Calibri&gt;&lt;SPAN lang=RU&gt;&lt;/SPAN&gt;&lt;/FONT&gt;&lt;/FONT&gt;&amp;nbsp;&lt;/P&gt;
&lt;P style="LINE-HEIGHT: normal; MARGIN: 0in 0in 0pt; mso-layout-grid-align: none" class=MsoNormal&gt;&lt;FONT size=3&gt;&lt;FONT face=Calibri&gt;&lt;SPAN lang=RU&gt;В SSMS есть замечательная функциональность, когда кликнув правой кнопкой по объекту в Object Explorer, можно сказать Script ... &lt;/SPAN&gt;&lt;SPAN style="mso-ansi-language: en-us"&gt;as&lt;/SPAN&gt;&lt;SPAN lang=RU&gt;, и она сгенерирует на выбор скрипт его создания или удаления. Но хотелось бы не кликать всякий раз вручную, а автоматизировать процесс генерации скрипта. Как мы знаем, практически каждый клик в SSMS можно автоматизировать при помощи программной модели SMO, именно поэтому я так возбудился на эту тему в &lt;A href="http://blogs.msdn.com/alexejs/archive/2009/08/23/smo-sql-clr.aspx" mce_href="http://blogs.msdn.com/alexejs/archive/2009/08/23/smo-sql-clr.aspx"&gt;предыдущем посте&lt;/A&gt;. Если нельзя засунуть вызовы SMO на уровень сервера, давайте напишем элементарное консольное приложение, которое будет генерить скрипты удаления и создания для сборки и всех зависимых от нее по цепочке объектов и выполнять эти скрипты.&lt;/SPAN&gt;&lt;/FONT&gt;&lt;/FONT&gt;&lt;/P&gt;
&lt;P style="LINE-HEIGHT: normal; MARGIN: 0in 0in 0pt; mso-layout-grid-align: none" class=MsoNormal&gt;&lt;SPAN lang=RU&gt;&lt;FONT size=3 face=Calibri&gt;Простейшее использование скриптования в SMO не составляет сложности - практически у каждого объекта имеется метод Script. Имеется также отдельный класс Scripter, содержащий более тонкие возможности по скриптованию объектов. Мы соединяемся с заданным экземпляром SQL Server, получаем из коллекции баз нужную базу, находим в ней нужную сборку и говорим создать скрипты для удаления (Options.ScriptDrops = true) и создания (Options.ScriptDrops = false). Можно скриптовать сразу несколько объектов, в нашем случае массив состоит из всего одного - нашей сборки: new SMO.SqlSmoObject[] { asm }. Options.WithDependencies = true означает скриптовать не только переданный скриптеру объект, но и связанные с ним. &lt;/FONT&gt;&lt;/SPAN&gt;&lt;/P&gt;
&lt;P style="LINE-HEIGHT: normal; MARGIN: 0in 0in 0pt; mso-layout-grid-align: none" class=MsoNormal&gt;&lt;SPAN lang=RU&gt;&lt;?xml:namespace prefix = o ns = "urn:schemas-microsoft-com:office:office" /&gt;&lt;o:p&gt;&lt;FONT size=3 face=Calibri&gt;&amp;nbsp;&lt;/FONT&gt;&lt;/o:p&gt;&lt;/SPAN&gt;&lt;/P&gt;
&lt;P style="LINE-HEIGHT: normal; MARGIN: 0in 0in 0pt; mso-layout-grid-align: none" class=MsoNormal&gt;&lt;SPAN style="FONT-FAMILY: 'Courier New'; COLOR: blue; FONT-SIZE: 10pt; mso-ansi-language: en-us; mso-no-proof: yes"&gt;static&lt;/SPAN&gt;&lt;SPAN style="FONT-FAMILY: 'Courier New'; FONT-SIZE: 10pt; mso-ansi-language: en-us; mso-no-proof: yes"&gt; &lt;SPAN style="COLOR: blue"&gt;void&lt;/SPAN&gt; Main(&lt;SPAN style="COLOR: blue"&gt;string&lt;/SPAN&gt;[] args)&lt;o:p&gt;&lt;/o:p&gt;&lt;/SPAN&gt;&lt;/P&gt;
&lt;P style="LINE-HEIGHT: normal; MARGIN: 0in 0in 0pt; mso-layout-grid-align: none" class=MsoNormal&gt;&lt;SPAN style="FONT-FAMILY: 'Courier New'; FONT-SIZE: 10pt; mso-ansi-language: en-us; mso-no-proof: yes"&gt;{&lt;o:p&gt;&lt;/o:p&gt;&lt;/SPAN&gt;&lt;/P&gt;
&lt;P style="LINE-HEIGHT: normal; MARGIN: 0in 0in 0pt; mso-layout-grid-align: none" class=MsoNormal&gt;&lt;SPAN style="FONT-FAMILY: 'Courier New'; FONT-SIZE: 10pt; mso-ansi-language: en-us; mso-no-proof: yes"&gt;&lt;SPAN style="mso-spacerun: yes"&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp; &lt;/SPAN&gt;&lt;SPAN style="COLOR: blue"&gt;string&lt;/SPAN&gt; srvName = &lt;SPAN style="COLOR: #a31515"&gt;""&lt;/SPAN&gt;, dbName = &lt;SPAN style="COLOR: #a31515"&gt;"TestFS"&lt;/SPAN&gt;, asmName = &lt;SPAN style="COLOR: #a31515"&gt;"MyAssembly"&lt;/SPAN&gt;;&lt;o:p&gt;&lt;/o:p&gt;&lt;/SPAN&gt;&lt;/P&gt;
&lt;P style="LINE-HEIGHT: normal; MARGIN: 0in 0in 0pt; mso-layout-grid-align: none" class=MsoNormal&gt;&lt;SPAN style="FONT-FAMILY: 'Courier New'; FONT-SIZE: 10pt; mso-ansi-language: en-us; mso-no-proof: yes"&gt;&lt;o:p&gt;&amp;nbsp;&lt;/o:p&gt;&lt;/SPAN&gt;&lt;/P&gt;
&lt;P style="LINE-HEIGHT: normal; MARGIN: 0in 0in 0pt; mso-layout-grid-align: none" class=MsoNormal&gt;&lt;SPAN style="FONT-FAMILY: 'Courier New'; FONT-SIZE: 10pt; mso-ansi-language: en-us; mso-no-proof: yes"&gt;&lt;SPAN style="mso-spacerun: yes"&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp; &lt;/SPAN&gt;SMO.&lt;SPAN style="COLOR: #2b91af"&gt;Server&lt;/SPAN&gt; srv = &lt;SPAN style="COLOR: blue"&gt;new&lt;/SPAN&gt; SMO.&lt;SPAN style="COLOR: #2b91af"&gt;Server&lt;/SPAN&gt;(srvName);&lt;o:p&gt;&lt;/o:p&gt;&lt;/SPAN&gt;&lt;/P&gt;
&lt;P style="LINE-HEIGHT: normal; MARGIN: 0in 0in 0pt; mso-layout-grid-align: none" class=MsoNormal&gt;&lt;SPAN style="FONT-FAMILY: 'Courier New'; FONT-SIZE: 10pt; mso-ansi-language: en-us; mso-no-proof: yes"&gt;&lt;SPAN style="mso-spacerun: yes"&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp; &lt;/SPAN&gt;SMO.&lt;SPAN style="COLOR: #2b91af"&gt;Database&lt;/SPAN&gt; db = srv.Databases[dbName];&lt;o:p&gt;&lt;/o:p&gt;&lt;/SPAN&gt;&lt;/P&gt;
&lt;P style="LINE-HEIGHT: normal; MARGIN: 0in 0in 0pt; mso-layout-grid-align: none" class=MsoNormal&gt;&lt;SPAN style="FONT-FAMILY: 'Courier New'; FONT-SIZE: 10pt; mso-ansi-language: en-us; mso-no-proof: yes"&gt;&lt;SPAN style="mso-spacerun: yes"&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp; &lt;/SPAN&gt;SMO.&lt;SPAN style="COLOR: #2b91af"&gt;SqlAssembly&lt;/SPAN&gt; asm = db.Assemblies[asmName];&lt;o:p&gt;&lt;/o:p&gt;&lt;/SPAN&gt;&lt;/P&gt;
&lt;P style="LINE-HEIGHT: normal; MARGIN: 0in 0in 0pt; mso-layout-grid-align: none" class=MsoNormal&gt;&lt;SPAN style="FONT-FAMILY: 'Courier New'; FONT-SIZE: 10pt; mso-ansi-language: en-us; mso-no-proof: yes"&gt;&lt;o:p&gt;&amp;nbsp;&lt;/o:p&gt;&lt;/SPAN&gt;&lt;/P&gt;
&lt;P style="LINE-HEIGHT: normal; MARGIN: 0in 0in 0pt; mso-layout-grid-align: none" class=MsoNormal&gt;&lt;SPAN style="FONT-FAMILY: 'Courier New'; FONT-SIZE: 10pt; mso-ansi-language: en-us; mso-no-proof: yes"&gt;&lt;SPAN style="mso-spacerun: yes"&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp; &lt;/SPAN&gt;SMO.&lt;SPAN style="COLOR: #2b91af"&gt;Scripter&lt;/SPAN&gt; scr = &lt;SPAN style="COLOR: blue"&gt;new&lt;/SPAN&gt; SMO.&lt;SPAN style="COLOR: #2b91af"&gt;Scripter&lt;/SPAN&gt;(srv);&lt;o:p&gt;&lt;/o:p&gt;&lt;/SPAN&gt;&lt;/P&gt;
&lt;P style="LINE-HEIGHT: normal; MARGIN: 0in 0in 0pt; mso-layout-grid-align: none" class=MsoNormal&gt;&lt;SPAN style="FONT-FAMILY: 'Courier New'; FONT-SIZE: 10pt; mso-ansi-language: en-us; mso-no-proof: yes"&gt;&lt;SPAN style="mso-spacerun: yes"&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp; &lt;/SPAN&gt;&lt;SPAN style="COLOR: #2b91af"&gt;StringBuilder&lt;/SPAN&gt; sb = &lt;SPAN style="COLOR: blue"&gt;new&lt;/SPAN&gt; &lt;SPAN style="COLOR: #2b91af"&gt;StringBuilder&lt;/SPAN&gt;();&lt;o:p&gt;&lt;/o:p&gt;&lt;/SPAN&gt;&lt;/P&gt;
&lt;P style="LINE-HEIGHT: normal; MARGIN: 0in 0in 0pt; mso-layout-grid-align: none" class=MsoNormal&gt;&lt;SPAN style="FONT-FAMILY: 'Courier New'; FONT-SIZE: 10pt; mso-ansi-language: en-us; mso-no-proof: yes"&gt;&lt;o:p&gt;&amp;nbsp;&lt;/o:p&gt;&lt;/SPAN&gt;&lt;/P&gt;
&lt;P style="LINE-HEIGHT: normal; MARGIN: 0in 0in 0pt; mso-layout-grid-align: none" class=MsoNormal&gt;&lt;SPAN style="FONT-FAMILY: 'Courier New'; FONT-SIZE: 10pt; mso-ansi-language: en-us; mso-no-proof: yes"&gt;&lt;SPAN style="mso-spacerun: yes"&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp; &lt;/SPAN&gt;scr.Options.SchemaQualify = &lt;SPAN style="COLOR: blue"&gt;true&lt;/SPAN&gt;;&lt;o:p&gt;&lt;/o:p&gt;&lt;/SPAN&gt;&lt;/P&gt;
&lt;P style="LINE-HEIGHT: normal; MARGIN: 0in 0in 0pt; mso-layout-grid-align: none" class=MsoNormal&gt;&lt;SPAN style="FONT-FAMILY: 'Courier New'; FONT-SIZE: 10pt; mso-ansi-language: en-us; mso-no-proof: yes"&gt;&lt;SPAN style="mso-spacerun: yes"&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp; &lt;/SPAN&gt;scr.Options.WithDependencies = &lt;SPAN style="COLOR: blue"&gt;true&lt;/SPAN&gt;;&lt;o:p&gt;&lt;/o:p&gt;&lt;/SPAN&gt;&lt;/P&gt;
&lt;P style="LINE-HEIGHT: normal; MARGIN: 0in 0in 0pt; mso-layout-grid-align: none" class=MsoNormal&gt;&lt;SPAN style="FONT-FAMILY: 'Courier New'; FONT-SIZE: 10pt; mso-ansi-language: en-us; mso-no-proof: yes"&gt;&lt;SPAN style="mso-spacerun: yes"&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp; &lt;/SPAN&gt;scr.Options.ScriptDrops = &lt;SPAN style="COLOR: blue"&gt;true&lt;/SPAN&gt;;&lt;o:p&gt;&lt;/o:p&gt;&lt;/SPAN&gt;&lt;/P&gt;
&lt;P style="LINE-HEIGHT: normal; MARGIN: 0in 0in 0pt; mso-layout-grid-align: none" class=MsoNormal&gt;&lt;SPAN style="FONT-FAMILY: 'Courier New'; FONT-SIZE: 10pt; mso-ansi-language: en-us; mso-no-proof: yes"&gt;&lt;SPAN style="mso-spacerun: yes"&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp; &lt;/SPAN&gt;scr.Options.IncludeIfNotExists = &lt;SPAN style="COLOR: blue"&gt;true&lt;/SPAN&gt;;&lt;o:p&gt;&lt;/o:p&gt;&lt;/SPAN&gt;&lt;/P&gt;
&lt;P style="LINE-HEIGHT: normal; MARGIN: 0in 0in 0pt; mso-layout-grid-align: none" class=MsoNormal&gt;&lt;SPAN style="FONT-FAMILY: 'Courier New'; FONT-SIZE: 10pt; mso-ansi-language: en-us; mso-no-proof: yes"&gt;&lt;SPAN style="mso-spacerun: yes"&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp; &lt;/SPAN&gt;&lt;SPAN style="COLOR: blue"&gt;foreach&lt;/SPAN&gt; (&lt;SPAN style="COLOR: blue"&gt;string&lt;/SPAN&gt; s &lt;SPAN style="COLOR: blue"&gt;in&lt;/SPAN&gt; scr.Script(&lt;SPAN style="COLOR: blue"&gt;new&lt;/SPAN&gt; SMO.&lt;SPAN style="COLOR: #2b91af"&gt;SqlSmoObject&lt;/SPAN&gt;[] { asm })) sb.Append(s + &lt;SPAN style="COLOR: #a31515"&gt;"\n\n"&lt;/SPAN&gt;);&lt;o:p&gt;&lt;/o:p&gt;&lt;/SPAN&gt;&lt;/P&gt;
&lt;P style="LINE-HEIGHT: normal; MARGIN: 0in 0in 0pt; mso-layout-grid-align: none" class=MsoNormal&gt;&lt;SPAN style="FONT-FAMILY: 'Courier New'; FONT-SIZE: 10pt; mso-ansi-language: en-us; mso-no-proof: yes"&gt;&lt;SPAN style="mso-spacerun: yes"&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp; &lt;/SPAN&gt;&lt;SPAN style="COLOR: blue"&gt;string&lt;/SPAN&gt; scriptToDrop = sb.ToString();&lt;o:p&gt;&lt;/o:p&gt;&lt;/SPAN&gt;&lt;/P&gt;
&lt;P style="LINE-HEIGHT: normal; MARGIN: 0in 0in 0pt; mso-layout-grid-align: none" class=MsoNormal&gt;&lt;SPAN style="FONT-FAMILY: 'Courier New'; FONT-SIZE: 10pt; mso-ansi-language: en-us; mso-no-proof: yes"&gt;&lt;o:p&gt;&amp;nbsp;&lt;/o:p&gt;&lt;/SPAN&gt;&lt;/P&gt;
&lt;P style="LINE-HEIGHT: normal; MARGIN: 0in 0in 0pt; mso-layout-grid-align: none" class=MsoNormal&gt;&lt;SPAN style="FONT-FAMILY: 'Courier New'; FONT-SIZE: 10pt; mso-ansi-language: en-us; mso-no-proof: yes"&gt;&lt;SPAN style="mso-spacerun: yes"&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp; &lt;/SPAN&gt;scr.Options.ScriptDrops = &lt;SPAN style="COLOR: blue"&gt;false&lt;/SPAN&gt;;&lt;o:p&gt;&lt;/o:p&gt;&lt;/SPAN&gt;&lt;/P&gt;
&lt;P style="LINE-HEIGHT: normal; MARGIN: 0in 0in 0pt; mso-layout-grid-align: none" class=MsoNormal&gt;&lt;SPAN style="FONT-FAMILY: 'Courier New'; FONT-SIZE: 10pt; mso-ansi-language: en-us; mso-no-proof: yes"&gt;&lt;o:p&gt;&amp;nbsp;&lt;/o:p&gt;&lt;/SPAN&gt;&lt;/P&gt;
&lt;P style="LINE-HEIGHT: normal; MARGIN: 0in 0in 0pt; mso-layout-grid-align: none" class=MsoNormal&gt;&lt;SPAN style="FONT-FAMILY: 'Courier New'; FONT-SIZE: 10pt; mso-ansi-language: en-us; mso-no-proof: yes"&gt;&lt;SPAN style="mso-spacerun: yes"&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp; &lt;/SPAN&gt;sb.Length = 0;&lt;o:p&gt;&lt;/o:p&gt;&lt;/SPAN&gt;&lt;/P&gt;
&lt;P style="LINE-HEIGHT: normal; MARGIN: 0in 0in 0pt; mso-layout-grid-align: none" class=MsoNormal&gt;&lt;SPAN style="FONT-FAMILY: 'Courier New'; FONT-SIZE: 10pt; mso-ansi-language: en-us; mso-no-proof: yes"&gt;&lt;SPAN style="mso-spacerun: yes"&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp; &lt;/SPAN&gt;&lt;SPAN style="COLOR: blue"&gt;foreach&lt;/SPAN&gt; (&lt;SPAN style="COLOR: blue"&gt;string&lt;/SPAN&gt; s &lt;SPAN style="COLOR: blue"&gt;in&lt;/SPAN&gt; scr.Script(&lt;SPAN style="COLOR: blue"&gt;new&lt;/SPAN&gt; SMO.&lt;SPAN style="COLOR: #2b91af"&gt;SqlSmoObject&lt;/SPAN&gt;[] { asm })) sb.Append(s + &lt;SPAN style="COLOR: #a31515"&gt;"\n\n"&lt;/SPAN&gt;);&lt;o:p&gt;&lt;/o:p&gt;&lt;/SPAN&gt;&lt;/P&gt;
&lt;P style="LINE-HEIGHT: normal; MARGIN: 0in 0in 0pt; mso-layout-grid-align: none" class=MsoNormal&gt;&lt;SPAN style="FONT-FAMILY: 'Courier New'; FONT-SIZE: 10pt; mso-ansi-language: en-us; mso-no-proof: yes"&gt;&lt;SPAN style="mso-spacerun: yes"&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp; &lt;/SPAN&gt;&lt;SPAN style="COLOR: blue"&gt;string&lt;/SPAN&gt; scriptToCreate = sb.ToString();&lt;o:p&gt;&lt;/o:p&gt;&lt;/SPAN&gt;&lt;/P&gt;
&lt;P style="LINE-HEIGHT: normal; MARGIN: 0in 0in 0pt; mso-layout-grid-align: none" class=MsoNormal&gt;&lt;SPAN style="FONT-FAMILY: 'Courier New'; FONT-SIZE: 10pt; mso-ansi-language: en-us; mso-no-proof: yes"&gt;&lt;o:p&gt;&amp;nbsp;&lt;/o:p&gt;&lt;/SPAN&gt;&lt;/P&gt;
&lt;P style="LINE-HEIGHT: normal; MARGIN: 0in 0in 0pt; mso-layout-grid-align: none" class=MsoNormal&gt;&lt;SPAN style="FONT-FAMILY: 'Courier New'; FONT-SIZE: 10pt; mso-ansi-language: en-us; mso-no-proof: yes"&gt;&lt;SPAN style="mso-spacerun: yes"&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp; &lt;/SPAN&gt;&lt;SPAN style="COLOR: #2b91af"&gt;Debug&lt;/SPAN&gt;.WriteLine(scriptToDrop); &lt;SPAN style="COLOR: #2b91af"&gt;Debug&lt;/SPAN&gt;.WriteLine(scriptToCreate);&lt;o:p&gt;&lt;/o:p&gt;&lt;/SPAN&gt;&lt;/P&gt;
&lt;P style="LINE-HEIGHT: normal; MARGIN: 0in 0in 0pt; mso-layout-grid-align: none" class=MsoNormal&gt;&lt;SPAN style="FONT-FAMILY: 'Courier New'; FONT-SIZE: 10pt; mso-ansi-language: en-us; ms