<?xml version="1.0" encoding="utf-8"?>
<rss xmlns:atom="https://www.w3.org/2005/Atom" xmlns:sy="https://purl.org/rss/1.0/modules/syndication/" xmlns:dc="https://purl.org/dc/elements/1.1/" xmlns:content="https://purl.org/rss/1.0/modules/content/" xmlns:wfw="https://wellformedweb.org/CommentAPI/" xmlns:slash="https://purl.org/rss/1.0/modules/slash/"
  version="2.0">
  <channel>
    <title>慢步在雲端...    邱英瑞(Jacky)</title>
    <atom:link
      href="https://docs.microsoft.com/archive/blogs/jchiou/feed.xml"
      rel="self"
      type="application/rss+xml" />
    <link>https://docs.microsoft.com/archive/blogs/jchiou/feed.xml</link>
    <description />
    <lastBuildDate>Thu, 12 Jul 2018 06:02:07 GMT</lastBuildDate>
    <language>en-US</language>
    <sy:updatePeriod>hourly</sy:updatePeriod>
    <sy:updateFrequency>1</sy:updateFrequency>
    <item>
      <title>如何 5 秒內判斷 SQL Server 是否需要更新修正程式才支援 TLS 1.2</title>
      <link>https://docs.microsoft.com/archive/blogs/jchiou/%E5%A6%82%E4%BD%95-5-%E7%A7%92%E5%85%A7%E5%88%A4%E6%96%B7-sql-server-%E6%98%AF%E5%90%A6%E9%9C%80%E8%A6%81%E6%9B%B4%E6%96%B0%E4%BF%AE%E6%AD%A3%E7%A8%8B%E5%BC%8F%E6%89%8D%E6%94%AF%E6%8F%B4-tls-1-2</link>
      <pubDate>Thu, 12 Jul 2018 14:00:40 GMT</pubDate>
      <dc:creator><![CDATA[Jacky Chiou]]></dc:creator>
      <guid
        isPermaLink="false">https://blogs.msdn.microsoft.com/jchiou/?p=5115</guid>
      <description><![CDATA[情境:
程式連結 SQL Server 時會出現錯誤訊息：

    例外類型: SqlException

    例外訊息: 與伺服器的連接已成功建立，但在登入程序時發生錯誤。...]]></description>
      <content:encoded><![CDATA[<h3>情境:</h3>
<pre>程式連結 SQL Server 時會出現<span lang="ZH-TW" style="margin: 0px;font-family: 'PMingLiU',serif"><span style="color: #000000">錯誤訊息：</span></span>

<span style="margin: 0px;font-family: 'Calibri',sans-serif">    </span><b><span lang="ZH-TW" style="margin: 0px;color: windowtext;font-family: 'PMingLiU',serif">例外類型</span></b><b><span style="margin: 0px;color: windowtext;font-family: 'Calibri',sans-serif">: </span></b><b><span style="margin: 0px;color: #0070c0;font-family: 'Calibri',sans-serif">SqlException</span></b>

<b><span lang="ZH-TW" style="margin: 0px;color: windowtext;font-family: 'PMingLiU',serif">    例外訊息</span></b><b><span style="margin: 0px;color: windowtext;font-family: 'Calibri',sans-serif">: </span></b><b><span lang="ZH-TW" style="margin: 0px;color: #0070c0;font-family: 'PMingLiU',serif">與伺服器的連接已成功建立，但在登入程序時發生錯誤。</span></b><b><span style="margin: 0px;color: #0070c0;font-family: 'Calibri',sans-serif"> (provider: SSL Provider, error: 0 - </span></b><b><span lang="ZH-TW" style="margin: 0px;color: #0070c0;font-family: 'PMingLiU',serif">用戶端和伺服器無法溝通，因為它們沒有公用的演算法。</span></b><b><span style="margin: 0px;color: #0070c0;font-family: 'Calibri',sans-serif">)</span></b><span style="margin: 0px;font-family: 'Calibri',sans-serif"></span></pre>
<h3>判斷方式:</h3>
<pre>SQL Server 2014 SP2 (12.0.5000.0) 或是更新版本即支援 TLS 1.2 , 無需要安裝修正程式.

另外需要安裝修正程式的資訊請參考:

https://support.microsoft.com/zh-tw/help/3135244/tls-1-2-support-for-microsoft-sql-server



Enjoy. Jacky</pre>
&nbsp;]]></content:encoded>
    </item>
    <item>
      <title>使用 lock 取代 MethodImplOptions.Synchronized</title>
      <link>https://docs.microsoft.com/archive/blogs/jchiou/%E4%BD%BF%E7%94%A8lock-%E5%8B%BF%E7%94%A8-methodimploptions-synchronized</link>
      <pubDate>Sun, 08 Jul 2018 01:42:28 GMT</pubDate>
      <dc:creator><![CDATA[Jacky Chiou]]></dc:creator>
      <guid
        isPermaLink="false">https://blogs.msdn.microsoft.com/jchiou/?p=5105</guid>
      <description><![CDATA[情境:
ASP.NET 的網站忽然某一個功能會出現 System.Threading.SynchronizationLockException...]]></description>
      <content:encoded><![CDATA[<h3><strong>情境:</strong></h3>
ASP.NET 的網站忽然某一個功能會出現 <span>System.Threading.SynchronizationLockException 其它都是正常.</span>
<h3><strong>錯誤訊息:</strong></h3>
<span style="color: #000000;font-family: Calibri">System.Threading.SynchronizationLockException: </span><span>Object synchronization method was called from an unsynchronized block of code.</span>
<h3><strong>測試:</strong></h3>
測試發現如果使用MethodImplOptions.Synchronized，若thread進入執行並故意abort掉，可以重現.SynchronizationLockException。

若改用lock則不會發生問題

<span style="margin: 0px;color: blue;font-family: 'Verdana',sans-serif;font-size: 11pt">using</span><span style="margin: 0px;color: black;font-family: 'Verdana',sans-serif;font-size: 11pt"> System;</span>

<span style="margin: 0px;color: blue;font-family: 'Verdana',sans-serif;font-size: 11pt">using</span><span style="margin: 0px;color: black;font-family: 'Verdana',sans-serif;font-size: 11pt"> System.Collections.Generic;</span>

<span style="margin: 0px;color: blue;font-family: 'Verdana',sans-serif;font-size: 11pt">using</span><span style="margin: 0px;color: black;font-family: 'Verdana',sans-serif;font-size: 11pt"> System.ComponentModel;</span>

<span style="margin: 0px;color: blue;font-family: 'Verdana',sans-serif;font-size: 11pt">using</span><span style="margin: 0px;color: black;font-family: 'Verdana',sans-serif;font-size: 11pt"> System.Data;</span>

<span style="margin: 0px;color: blue;font-family: 'Verdana',sans-serif;font-size: 11pt">using</span><span style="margin: 0px;color: black;font-family: 'Verdana',sans-serif;font-size: 11pt"> System.Drawing;</span>

<span style="margin: 0px;color: blue;font-family: 'Verdana',sans-serif;font-size: 11pt">using</span><span style="margin: 0px;color: black;font-family: 'Verdana',sans-serif;font-size: 11pt"> System.Runtime.CompilerServices;</span>

<span style="margin: 0px;color: blue;font-family: 'Verdana',sans-serif;font-size: 11pt">using</span><span style="margin: 0px;color: black;font-family: 'Verdana',sans-serif;font-size: 11pt"> System.Text;</span>

<span style="margin: 0px;color: blue;font-family: 'Verdana',sans-serif;font-size: 11pt">using</span><span style="margin: 0px;color: black;font-family: 'Verdana',sans-serif;font-size: 11pt"> System.Windows.Forms;</span>

<span style="margin: 0px;color: blue;font-family: 'Verdana',sans-serif;font-size: 11pt">using</span><span style="margin: 0px;color: black;font-family: 'Verdana',sans-serif;font-size: 11pt"> System.Threading;</span>

<span style="margin: 0px;color: black;font-family: 'Verdana',sans-serif;font-size: 11pt"> </span>

<span style="margin: 0px;color: blue;font-family: 'Verdana',sans-serif;font-size: 11pt">namespace</span><span style="margin: 0px;color: black;font-family: 'Verdana',sans-serif;font-size: 11pt"> LockDemo</span>

<span style="margin: 0px;color: black;font-family: 'Verdana',sans-serif;font-size: 11pt">{</span>

<span style="margin: 0px;color: black;font-family: 'Verdana',sans-serif;font-size: 11pt">    </span><span style="margin: 0px;color: blue;font-family: 'Verdana',sans-serif;font-size: 11pt">public</span><span style="margin: 0px;color: black;font-family: 'Verdana',sans-serif;font-size: 11pt"> </span><span style="margin: 0px;color: blue;font-family: 'Verdana',sans-serif;font-size: 11pt">partial</span><span style="margin: 0px;color: black;font-family: 'Verdana',sans-serif;font-size: 11pt"> </span><span style="margin: 0px;color: blue;font-family: 'Verdana',sans-serif;font-size: 11pt">class</span><span style="margin: 0px;color: black;font-family: 'Verdana',sans-serif;font-size: 11pt"> </span><span style="margin: 0px;color: #2b91af;font-family: 'Verdana',sans-serif;font-size: 11pt">Form1</span><span style="margin: 0px;color: black;font-family: 'Verdana',sans-serif;font-size: 11pt"> : Form</span>

<span style="margin: 0px;color: black;font-family: 'Verdana',sans-serif;font-size: 11pt">    {</span>

<span style="margin: 0px;color: black;font-family: 'Verdana',sans-serif;font-size: 11pt">        </span><span style="margin: 0px;color: blue;font-family: 'Verdana',sans-serif;font-size: 11pt">public</span><span style="margin: 0px;color: black;font-family: 'Verdana',sans-serif;font-size: 11pt"> Form1()</span>

<span style="margin: 0px;color: black;font-family: 'Verdana',sans-serif;font-size: 11pt">        {</span>

<span style="margin: 0px;color: black;font-family: 'Verdana',sans-serif;font-size: 11pt">            InitializeComponent();</span>

<span style="margin: 0px;color: black;font-family: 'Verdana',sans-serif;font-size: 11pt">        }</span>

<span style="margin: 0px;color: black;font-family: 'Verdana',sans-serif;font-size: 11pt"> </span>

<span style="margin: 0px;color: black;font-family: 'Verdana',sans-serif;font-size: 11pt">        </span><span style="margin: 0px;color: blue;font-family: 'Verdana',sans-serif;font-size: 11pt">private</span><span style="margin: 0px;color: black;font-family: 'Verdana',sans-serif;font-size: 11pt"> </span><span style="margin: 0px;color: blue;font-family: 'Verdana',sans-serif;font-size: 11pt">void</span><span style="margin: 0px;color: black;font-family: 'Verdana',sans-serif;font-size: 11pt"> button1_Click(</span><span style="margin: 0px;color: blue;font-family: 'Verdana',sans-serif;font-size: 11pt">object</span><span style="margin: 0px;color: black;font-family: 'Verdana',sans-serif;font-size: 11pt"> sender, EventArgs e)</span>

<span style="margin: 0px;color: black;font-family: 'Verdana',sans-serif;font-size: 11pt">        {            </span>

<span style="margin: 0px;color: black;font-family: 'Verdana',sans-serif;font-size: 11pt">            Thread t1 = </span><span style="margin: 0px;color: blue;font-family: 'Verdana',sans-serif;font-size: 11pt">new</span><span style="margin: 0px;color: black;font-family: 'Verdana',sans-serif;font-size: 11pt"> Thread(MyLib.Run);</span>

<span style="margin: 0px;color: black;font-family: 'Verdana',sans-serif;font-size: 11pt">            t1.Start();</span>

<span style="margin: 0px;color: black;font-family: 'Verdana',sans-serif;font-size: 11pt"> </span>

<span style="margin: 0px;color: black;font-family: 'Verdana',sans-serif;font-size: 11pt">            Thread t2 = </span><span style="margin: 0px;color: blue;font-family: 'Verdana',sans-serif;font-size: 11pt">new</span><span style="margin: 0px;color: black;font-family: 'Verdana',sans-serif;font-size: 11pt"> Thread(MyLib.Run2);</span>

<span style="margin: 0px;color: black;font-family: 'Verdana',sans-serif;font-size: 11pt">            t2.Start();</span>

<span style="margin: 0px;color: black;font-family: 'Verdana',sans-serif;font-size: 11pt"> </span>

<span style="margin: 0px;color: black;font-family: 'Verdana',sans-serif;font-size: 11pt">            Thread t3 = </span><span style="margin: 0px;color: blue;font-family: 'Verdana',sans-serif;font-size: 11pt">new</span><span style="margin: 0px;color: black;font-family: 'Verdana',sans-serif;font-size: 11pt"> Thread(MyLib.Run3);</span>

<span style="margin: 0px;color: black;font-family: 'Verdana',sans-serif;font-size: 11pt">            t3.Start();</span>

<span style="margin: 0px;color: black;font-family: 'Verdana',sans-serif;font-size: 11pt"> </span>

<span style="margin: 0px;color: black;font-family: 'Verdana',sans-serif;font-size: 11pt">            Thread t4 = </span><span style="margin: 0px;color: blue;font-family: 'Verdana',sans-serif;font-size: 11pt">new</span><span style="margin: 0px;color: black;font-family: 'Verdana',sans-serif;font-size: 11pt"> Thread(MyLib.Run4);</span>

<span style="margin: 0px;color: black;font-family: 'Verdana',sans-serif;font-size: 11pt">            t4.Start();</span>

<span style="margin: 0px;color: black;font-family: 'Verdana',sans-serif;font-size: 11pt">        }</span>

<span style="margin: 0px;color: black;font-family: 'Verdana',sans-serif;font-size: 11pt">    }</span>

<span style="margin: 0px;color: black;font-family: 'Verdana',sans-serif;font-size: 11pt"> </span>

<span style="margin: 0px;color: black;font-family: 'Verdana',sans-serif;font-size: 11pt">    </span><span style="margin: 0px;color: blue;font-family: 'Verdana',sans-serif;font-size: 11pt">public</span><span style="margin: 0px;color: black;font-family: 'Verdana',sans-serif;font-size: 11pt"> </span><span style="margin: 0px;color: blue;font-family: 'Verdana',sans-serif;font-size: 11pt">class</span><span style="margin: 0px;color: black;font-family: 'Verdana',sans-serif;font-size: 11pt"> </span><span style="margin: 0px;color: #2b91af;font-family: 'Verdana',sans-serif;font-size: 11pt">MyLib</span><span style="margin: 0px;color: black;font-family: 'Verdana',sans-serif;font-size: 11pt"></span>

<span style="margin: 0px;color: black;font-family: 'Verdana',sans-serif;font-size: 11pt">    {</span>

<span style="margin: 0px;color: black;font-family: 'Verdana',sans-serif;font-size: 11pt">        </span><span style="margin: 0px;color: blue;font-family: 'Verdana',sans-serif;font-size: 11pt">public</span><span style="margin: 0px;color: black;font-family: 'Verdana',sans-serif;font-size: 11pt"> </span><span style="margin: 0px;color: blue;font-family: 'Verdana',sans-serif;font-size: 11pt">static</span><span style="margin: 0px;color: black;font-family: 'Verdana',sans-serif;font-size: 11pt"> </span><span style="margin: 0px;color: blue;font-family: 'Verdana',sans-serif;font-size: 11pt">int</span><span style="margin: 0px;color: black;font-family: 'Verdana',sans-serif;font-size: 11pt"> intCount = 0;</span>

<span style="margin: 0px;color: black;font-family: 'Verdana',sans-serif;font-size: 11pt"> </span>

<span style="margin: 0px;color: black;font-family: 'Verdana',sans-serif;font-size: 11pt">        [MethodImpl(MethodImplOptions.Synchronized)]</span>

<span style="margin: 0px;color: black;font-family: 'Verdana',sans-serif;font-size: 11pt">        </span><span style="margin: 0px;color: blue;font-family: 'Verdana',sans-serif;font-size: 11pt">public</span><span style="margin: 0px;color: black;font-family: 'Verdana',sans-serif;font-size: 11pt"> </span><span style="margin: 0px;color: blue;font-family: 'Verdana',sans-serif;font-size: 11pt">static</span><span style="margin: 0px;color: black;font-family: 'Verdana',sans-serif;font-size: 11pt"> </span><span style="margin: 0px;color: blue;font-family: 'Verdana',sans-serif;font-size: 11pt">void</span><span style="margin: 0px;color: black;font-family: 'Verdana',sans-serif;font-size: 11pt"> Run()</span>

<span style="margin: 0px;color: black;font-family: 'Verdana',sans-serif;font-size: 11pt">        {</span>

<span style="margin: 0px;color: black;font-family: 'Verdana',sans-serif;font-size: 11pt">            System.Threading.Thread.Sleep(5000);</span>

<span style="margin: 0px;color: black;font-family: 'Verdana',sans-serif;font-size: 11pt">            intCount++;</span>

<span style="margin: 0px;color: black;font-family: 'Verdana',sans-serif;font-size: 11pt"> </span>

<span style="margin: 0px;color: black;font-family: 'Verdana',sans-serif;font-size: 11pt">            MessageBox.Show(String.Format(</span><span style="margin: 0px;color: #a31515;font-family: 'Verdana',sans-serif;font-size: 11pt">"RUN1:Thread ID {0}:{1}"</span><span style="margin: 0px;color: black;font-family: 'Verdana',sans-serif;font-size: 11pt">,</span>

<span style="margin: 0px;color: black;font-family: 'Verdana',sans-serif;font-size: 11pt">                System.Threading.Thread.CurrentThread.ManagedThreadId.ToString(),</span>

<span style="margin: 0px;color: black;font-family: 'Verdana',sans-serif;font-size: 11pt">                MyLib.intCount.ToString()</span>

<span style="margin: 0px;color: black;font-family: 'Verdana',sans-serif;font-size: 11pt">                ));</span>

<span style="margin: 0px;color: black;font-family: 'Verdana',sans-serif;font-size: 11pt">        }</span>

<span style="margin: 0px;color: black;font-family: 'Verdana',sans-serif;font-size: 11pt"> </span>

<span style="margin: 0px;color: black;font-family: 'Verdana',sans-serif;font-size: 11pt">        [MethodImpl(MethodImplOptions.Synchronized)]</span>

<span style="margin: 0px;color: black;font-family: 'Verdana',sans-serif;font-size: 11pt">        </span><span style="margin: 0px;color: blue;font-family: 'Verdana',sans-serif;font-size: 11pt">public</span><span style="margin: 0px;color: black;font-family: 'Verdana',sans-serif;font-size: 11pt"> </span><span style="margin: 0px;color: blue;font-family: 'Verdana',sans-serif;font-size: 11pt">static</span><span style="margin: 0px;color: black;font-family: 'Verdana',sans-serif;font-size: 11pt"> </span><span style="margin: 0px;color: blue;font-family: 'Verdana',sans-serif;font-size: 11pt">void</span><span style="margin: 0px;color: black;font-family: 'Verdana',sans-serif;font-size: 11pt"> Run2()</span>

<span style="margin: 0px;color: black;font-family: 'Verdana',sans-serif;font-size: 11pt">        {</span>

<span style="margin: 0px;color: black;font-family: 'Verdana',sans-serif;font-size: 11pt">            System.Threading.Thread.Sleep(5000);</span>

<span style="margin: 0px;color: black;font-family: 'Verdana',sans-serif;font-size: 11pt">            intCount++;</span>

<span style="margin: 0px;color: black;font-family: 'Verdana',sans-serif;font-size: 11pt"> </span>

<span style="margin: 0px;color: black;font-family: 'Verdana',sans-serif;font-size: 11pt">            MessageBox.Show(String.Format(</span><span style="margin: 0px;color: #a31515;font-family: 'Verdana',sans-serif;font-size: 11pt">"RUN2:Thread ID {0}:{1}"</span><span style="margin: 0px;color: black;font-family: 'Verdana',sans-serif;font-size: 11pt">,</span>

<span style="margin: 0px;color: black;font-family: 'Verdana',sans-serif;font-size: 11pt">                System.Threading.Thread.CurrentThread.ManagedThreadId.ToString(),</span>

<span style="margin: 0px;color: black;font-family: 'Verdana',sans-serif;font-size: 11pt">                MyLib.intCount.ToString()</span>

<span style="margin: 0px;color: black;font-family: 'Verdana',sans-serif;font-size: 11pt">                ));</span>

<span style="margin: 0px;color: black;font-family: 'Verdana',sans-serif;font-size: 11pt">        }</span>

<span style="margin: 0px;color: black;font-family: 'Verdana',sans-serif;font-size: 11pt"> </span>

<span style="margin: 0px;color: black;font-family: 'Verdana',sans-serif;font-size: 11pt"> </span>

<span style="margin: 0px;color: black;font-family: 'Verdana',sans-serif;font-size: 11pt">        </span><span style="margin: 0px;color: blue;font-family: 'Verdana',sans-serif;font-size: 11pt">public</span><span style="margin: 0px;color: black;font-family: 'Verdana',sans-serif;font-size: 11pt"> </span><span style="margin: 0px;color: blue;font-family: 'Verdana',sans-serif;font-size: 11pt">static</span><span style="margin: 0px;color: black;font-family: 'Verdana',sans-serif;font-size: 11pt"> </span><span style="margin: 0px;color: blue;font-family: 'Verdana',sans-serif;font-size: 11pt">void</span><span style="margin: 0px;color: black;font-family: 'Verdana',sans-serif;font-size: 11pt"> Run3()</span>

<span style="margin: 0px;color: black;font-family: 'Verdana',sans-serif;font-size: 11pt">        {</span>

<span style="margin: 0px;color: black;font-family: 'Verdana',sans-serif;font-size: 11pt">            System.Threading.Thread.Sleep(5000);</span>

<span style="margin: 0px;color: black;font-family: 'Verdana',sans-serif;font-size: 11pt">            intCount++;</span>

<span style="margin: 0px;color: black;font-family: 'Verdana',sans-serif;font-size: 11pt"> </span>

<span style="margin: 0px;color: black;font-family: 'Verdana',sans-serif;font-size: 11pt">            MessageBox.Show(String.Format(</span><span style="margin: 0px;color: #a31515;font-family: 'Verdana',sans-serif;font-size: 11pt">"RUN3:Thread ID {0}:{1}"</span><span style="margin: 0px;color: black;font-family: 'Verdana',sans-serif;font-size: 11pt">,</span>

<span style="margin: 0px;color: black;font-family: 'Verdana',sans-serif;font-size: 11pt">                System.Threading.Thread.CurrentThread.ManagedThreadId.ToString(),</span>

<span style="margin: 0px;color: black;font-family: 'Verdana',sans-serif;font-size: 11pt">                MyLib.intCount.ToString()</span>

<span style="margin: 0px;color: black;font-family: 'Verdana',sans-serif;font-size: 11pt">                ));</span>

<span style="margin: 0px;color: black;font-family: 'Verdana',sans-serif;font-size: 11pt">        }</span>

<span style="margin: 0px;color: black;font-family: 'Verdana',sans-serif;font-size: 11pt"> </span>

<span style="margin: 0px;color: black;font-family: 'Verdana',sans-serif;font-size: 11pt">        </span><span style="margin: 0px;color: blue;font-family: 'Verdana',sans-serif;font-size: 11pt">public</span><span style="margin: 0px;color: black;font-family: 'Verdana',sans-serif;font-size: 11pt"> </span><span style="margin: 0px;color: blue;font-family: 'Verdana',sans-serif;font-size: 11pt">static</span><span style="margin: 0px;color: black;font-family: 'Verdana',sans-serif;font-size: 11pt"> </span><span style="margin: 0px;color: blue;font-family: 'Verdana',sans-serif;font-size: 11pt">void</span><span style="margin: 0px;color: black;font-family: 'Verdana',sans-serif;font-size: 11pt"> Run4()</span>

<span style="margin: 0px;color: black;font-family: 'Verdana',sans-serif;font-size: 11pt">        {</span>

<span style="margin: 0px;color: black;font-family: 'Verdana',sans-serif;font-size: 11pt">            System.Threading.Thread.Sleep(5000);</span>

<span style="margin: 0px;color: black;font-family: 'Verdana',sans-serif;font-size: 11pt">            intCount++;</span>

<span style="margin: 0px;color: black;font-family: 'Verdana',sans-serif;font-size: 11pt"> </span>

<span style="margin: 0px;color: black;font-family: 'Verdana',sans-serif;font-size: 11pt">            MessageBox.Show(String.Format(</span><span style="margin: 0px;color: #a31515;font-family: 'Verdana',sans-serif;font-size: 11pt">"RUN4:Thread ID {0}:{1}"</span><span style="margin: 0px;color: black;font-family: 'Verdana',sans-serif;font-size: 11pt">,</span>

<span style="margin: 0px;color: black;font-family: 'Verdana',sans-serif;font-size: 11pt">                System.Threading.Thread.CurrentThread.ManagedThreadId.ToString(),</span>

<span style="margin: 0px;color: black;font-family: 'Verdana',sans-serif;font-size: 11pt">                MyLib.intCount.ToString()</span>

<span style="margin: 0px;color: black;font-family: 'Verdana',sans-serif;font-size: 11pt">                ));</span>

<span style="margin: 0px;color: black;font-family: 'Verdana',sans-serif;font-size: 11pt">        }</span>

<span style="margin: 0px;color: black;font-family: 'Verdana',sans-serif;font-size: 11pt">    }</span>

<span style="margin: 0px;color: black;font-family: 'Verdana',sans-serif;font-size: 11pt">}</span><span style="margin: 0px;font-family: 'Verdana',sans-serif;font-size: 11pt"></span>

&nbsp;

Enjoy. Jacky]]></content:encoded>
    </item>
    <item>
      <title>如何 列出 SQL Server 資料庫 的使用者權限</title>
      <link>https://docs.microsoft.com/archive/blogs/jchiou/%E5%A6%82%E4%BD%95-%E5%88%97%E5%87%BA-sql-server-%E8%B3%87%E6%96%99%E5%BA%AB-%E7%9A%84%E4%BD%BF%E7%94%A8%E8%80%85%E6%AC%8A%E9%99%90</link>
      <pubDate>Sun, 08 Jul 2018 01:31:17 GMT</pubDate>
      <dc:creator><![CDATA[Jacky Chiou]]></dc:creator>
      <guid
        isPermaLink="false">https://blogs.msdn.microsoft.com/jchiou/?p=5095</guid>
      <description><![CDATA[情境:
列出資料庫使用者權限清單
語法:
USE &lt;Database Name&gt;

GO

DECLARE @Obj VARCHAR(4000)

DECLARE...]]></description>
      <content:encoded><![CDATA[<h3><strong>情境:</strong></h3>
列出資料庫使用者權限清單
<h3><strong>語法:</strong></h3>
<span>USE</span><span> </span><span>&lt;</span><span>Database</span><span> </span><span>Name</span><span>&gt;</span><span></span>

<span>GO</span><span></span>

<span>DECLARE</span><span> @Obj </span><span>VARCHAR</span><span>(</span><span>4000</span><span>)</span><span></span>

<span>DECLARE</span><span> @T_Obj </span><span>TABLE </span><span>(</span><span>UserName </span><span>SYSNAME</span><span>,</span><span> ObjectName </span><span>SYSNAME</span><span>,</span><span> Permission </span><span>NVARCHAR</span><span>(</span><span>128</span><span>))</span><span></span>

<span>SET</span><span> @Obj</span><span>=</span><span>'</span><span></span>

<span>SELECT Us.name AS username, Obj.name AS object,  dp.permission_name AS permission </span><span></span>

<span>FROM sys.database_permissions dp</span><span></span>

<span>JOIN sys.sysusers Us </span><span></span>

<span>ON dp.grantee_principal_id = Us.uid </span><span></span>

<span>JOIN sys.sysobjects Obj</span><span></span>

<span>ON dp.major_id = Obj.id '</span><span></span>

<span>INSERT</span><span> @T_Obj </span>

<span>EXEC</span><span> </span><span>sp_MSforeachdb</span><span> </span><span>@Obj</span>

SELECT distinct(a.UserName),a.ObjectName,a.Permission FROM @T_Obj a

&nbsp;

Enjoy. Jacky]]></content:encoded>
    </item>
    <item>
      <title>如何 讓 桌面程式的設定檔(exe.config) 加密後, 可以在不同機器執行</title>
      <link>https://docs.microsoft.com/archive/blogs/jchiou/%E5%A6%82%E4%BD%95-%E8%AE%93-%E6%A1%8C%E9%9D%A2%E7%A8%8B%E5%BC%8F%E7%9A%84%E8%A8%AD%E5%AE%9A%E6%AA%94exe-config-%E5%8A%A0%E5%AF%86%E5%BE%8C-%E5%8F%AF%E4%BB%A5%E5%9C%A8%E4%B8%8D%E5%90%8C%E5%9F%B7</link>
      <pubDate>Thu, 05 Jul 2018 14:18:28 GMT</pubDate>
      <dc:creator><![CDATA[Jacky Chiou]]></dc:creator>
      <guid
        isPermaLink="false">https://blogs.msdn.microsoft.com/jchiou/?p=5085</guid>
      <description><![CDATA[情境:
客戶有一個 桌面程式(exe) 的 設定檔(exe.config) 中有連線到資料庫的帳號及密碼, 把它加密保護後, 無法在 Windows Cluster 不同結點(機器)...]]></description>
      <content:encoded><![CDATA[<h2><strong>情境:</strong></h2>
客戶有一個 桌面程式(exe) 的 設定檔(exe.config) 中有連線到資料庫的帳號及密碼, 把它加密保護後, 無法在 Windows Cluster 不同結點(機器) 上移動後正常執行.

如果是在第一個結點做了加密設定, 當 Cluster 移動到第二個結點後, 程式一執行即會出現錯誤, 無法解密連線字串.
<h2><strong>做法:</strong></h2>
<span style="margin: 0px;font-family: 'Verdana',sans-serif;font-size: 11pt"><span style="color: #000000"> </span></span><span style="color: #000000"><span lang="ZH-TW" style="margin: 0px;font-family: 'PMingLiU',serif;font-size: 11pt">我用一個</span><span style="margin: 0px;font-family: 'Verdana',sans-serif;font-size: 11pt"> .NET 4.0 </span><span lang="ZH-TW" style="margin: 0px;font-family: 'PMingLiU',serif;font-size: 11pt">的</span><span style="margin: 0px;font-family: 'Verdana',sans-serif;font-size: 11pt"> exe </span><span lang="ZH-TW" style="margin: 0px;font-family: 'PMingLiU',serif;font-size: 11pt">測試步驟如下</span><span style="margin: 0px;font-family: 'Verdana',sans-serif;font-size: 11pt">:</span></span><span style="margin: 0px;font-family: 'Verdana',sans-serif;font-size: 11pt"><span style="color: #000000"> </span></span>
<ol type="1" start="1">
 	<li style="margin: 0px 0px 0px 24px;color: #000000;font-family: 'Verdana',sans-serif;font-size: 11pt;font-style: normal;font-weight: 400">
<h4><span lang="ZH-TW" style="margin: 0px;font-family: 'PMingLiU',serif;font-size: 11pt">在</span><span style="margin: 0px;font-family: 'Verdana',sans-serif;font-size: 11pt"> Config </span><span lang="ZH-TW" style="margin: 0px;font-family: 'PMingLiU',serif;font-size: 11pt">檔中</span><span lang="ZH-HK" style="margin: 0px;font-family: 'PMingLiU',serif;font-size: 11pt">的</span><span style="margin: 0px;font-family: 'Verdana',sans-serif;font-size: 11pt"> &lt;configuration&gt; </span><span lang="ZH-HK" style="margin: 0px;font-family: 'PMingLiU',serif;font-size: 11pt">區段</span><span lang="ZH-HK" style="margin: 0px;font-family: 'Verdana',sans-serif;font-size: 11pt"> </span><span lang="ZH-HK" style="margin: 0px;font-family: 'PMingLiU',serif;font-size: 11pt">加入</span></h4>
<span style="margin: 0px;font-family: 'Verdana',sans-serif;font-size: 11pt"></span></li>
</ol>
<span style="margin: 0px;font-family: 'Verdana',sans-serif;font-size: 11pt"><span style="color: #000000"> </span></span><span style="margin: 0px;font-family: 'Verdana',sans-serif;font-size: 11pt"><span style="color: #000000">&lt;configProtectedData &gt;</span></span>

<span style="margin: 0px;font-family: 'Verdana',sans-serif;font-size: 11pt"><span style="color: #000000">    &lt;providers&gt;</span></span>

<span style="margin: 0px;font-family: 'Verdana',sans-serif;font-size: 11pt"><span style="color: #000000">        &lt;add name="ConnectionProvider" type="System.Configuration.RsaProtectedConfigurationProvider, System.Configuration, Version=4.0.0.0, Culture=neutral, PublicKeyToken=b03f5f7f11d50a3a" keyContainerName="connectionKey"/&gt;</span></span>

<span style="margin: 0px;font-family: 'Verdana',sans-serif;font-size: 11pt"><span style="color: #000000">    &lt;/providers&gt;</span></span>

<span style="margin: 0px;font-family: 'Verdana',sans-serif;font-size: 11pt"><span style="color: #000000">  &lt;/configProtectedData&gt;</span></span>
<ol type="1" start="2">
 	<li style="margin: 0px 0px 0px 24px;color: #000000;font-family: 'Verdana',sans-serif;font-size: 11pt;font-style: normal;font-weight: 400">
<h4><span lang="ZH-TW" style="margin: 0px;font-family: 'PMingLiU',serif;font-size: 11pt">在</span><span style="margin: 0px;font-family: 'Verdana',sans-serif;font-size: 11pt"> Server </span><span lang="ZH-TW" style="margin: 0px;font-family: 'PMingLiU',serif;font-size: 11pt">上建立這個</span><span style="margin: 0px;font-family: 'Verdana',sans-serif;font-size: 11pt"> key Container</span></h4>
</li>
</ol>
<span style="margin: 0px;font-family: 'Verdana',sans-serif;font-size: 11pt"><span style="color: #000000">             aspnet_regiis -pc "connectionKey" -exp</span></span><span style="margin: 0px;font-family: 'Verdana',sans-serif;font-size: 11pt"><span style="color: #000000"> </span></span>
<ol type="1" start="3">
 	<li style="margin: 0px 0px 0px 24px;color: #000000;font-family: 'Verdana',sans-serif;font-size: 11pt;font-style: normal;font-weight: 400">
<h4><span style="font-size: 11pt"><strong><span lang="ZH-TW" style="margin: 0px;font-family: 'PMingLiU',serif">授權存取帳號</span></strong></span></h4>
<span style="margin: 0px;font-family: 'Verdana',sans-serif;font-size: 11pt"></span></li>
</ol>
<span style="margin: 0px;font-family: 'Verdana',sans-serif;font-size: 11pt"><span style="color: #000000">            aspnet_regiis -pa "connectionFCSKey" "MachineName\LocalUser"</span></span>

<span style="margin: 0px;font-family: 'Verdana',sans-serif;font-size: 11pt"><span style="color: #000000">            or</span></span>

<span style="margin: 0px;font-family: 'Verdana',sans-serif;font-size: 11pt"><span style="color: #000000">            aspnet_regiis -pa "connectionFCSKey" "System"</span></span><span style="margin: 0px;font-family: 'Verdana',sans-serif;font-size: 11pt"><span style="color: #000000"> </span></span>
<ol type="1" start="4">
 	<li style="margin: 0px 0px 0px 24px;color: #000000;font-family: 'Verdana',sans-serif;font-size: 11pt;font-style: normal;font-weight: 400">
<h4><strong><span lang="ZH-TW" style="margin: 0px;font-family: 'PMingLiU',serif;font-size: 11pt">用指定</span><span style="margin: 0px;font-family: 'Verdana',sans-serif;font-size: 11pt"> key </span><span lang="ZH-TW" style="margin: 0px;font-family: 'PMingLiU',serif;font-size: 11pt">加密</span></strong></h4>
<ol type="a" start="1">
 	<li style="margin: 0px 0px 0px 24px;color: #000000;font-family: 'Verdana',sans-serif;font-size: 11pt;font-style: normal;font-weight: 400"><span lang="ZH-TW" style="margin: 0px;font-family: 'PMingLiU',serif;font-size: 11pt">先將</span><span style="margin: 0px;font-family: 'Verdana',sans-serif;font-size: 11pt"> exe.config </span><span lang="ZH-TW" style="margin: 0px;font-family: 'PMingLiU',serif;font-size: 11pt">改為</span><span style="margin: 0px;font-family: 'Verdana',sans-serif;font-size: 11pt"> web.config</span></li>
 	<li style="margin: 0px 0px 0px 24px;color: #000000;font-family: 'Verdana',sans-serif;font-size: 11pt;font-style: normal;font-weight: 400"><span style="margin: 0px;color: #242729;font-family: 'Verdana',sans-serif;font-size: 11pt">aspnet_regiis.exe -pef "connectionStrings" "</span><span style="margin: 0px;font-family: 'Verdana',sans-serif;font-size: 11pt">C:\App\Debug<span>" -prov "</span>ConnectionProvider”</span></li>
 	<li style="margin: 0px 0px 0px 24px;color: #000000;font-family: 'Verdana',sans-serif;font-size: 11pt;font-style: normal;font-weight: 400"><span lang="ZH-TW" style="margin: 0px;color: #242729;font-family: 'PMingLiU',serif;font-size: 11pt">再將</span><span style="margin: 0px;color: #242729;font-family: 'Verdana',sans-serif;font-size: 11pt"> web.config </span><span lang="ZH-TW" style="margin: 0px;color: #242729;font-family: 'PMingLiU',serif;font-size: 11pt">改為</span><span style="margin: 0px;color: #242729;font-family: 'Verdana',sans-serif;font-size: 11pt"> exe.config</span><span style="margin: 0px;font-family: 'Verdana',sans-serif;font-size: 11pt"><span style="color: #000000"> </span></span></li>
</ol>
</li>
</ol>
<ol type="1" start="5">
 	<li style="margin: 0px 0px 0px 24px;color: #000000;font-family: 'Verdana',sans-serif;font-size: 11pt;font-style: normal;font-weight: 400">
<h4><strong><span lang="ZH-TW" style="margin: 0px;font-family: 'PMingLiU',serif;font-size: 11pt">匯出</span><span style="margin: 0px;font-family: 'Verdana',sans-serif;font-size: 11pt"> Key</span></strong></h4>
</li>
</ol>
<span style="margin: 0px;font-family: 'Verdana',sans-serif;font-size: 11pt"><span style="color: #000000">             aspnet_regiis -px "connectionKey" C:\App\keyfile.xml -pri</span></span><span style="margin: 0px;font-family: 'Verdana',sans-serif;font-size: 11pt"><span style="color: #000000"> </span></span>
<ol type="1" start="6">
 	<li style="margin: 0px 0px 0px 24px;color: #000000;font-family: 'Verdana',sans-serif;font-size: 11pt;font-style: normal;font-weight: 400">
<h4><strong><span lang="ZH-TW" style="margin: 0px;font-family: 'PMingLiU',serif;font-size: 11pt">到另外機器匯入</span><span style="margin: 0px;font-family: 'Verdana',sans-serif;font-size: 11pt"> key</span></strong></h4>
</li>
</ol>
<span style="margin: 0px;font-family: 'Verdana',sans-serif;font-size: 11pt"><span style="color: #000000">             aspnet_regiis -pi "connectionKey" C:\App\keyfile.xml</span></span>
<h3><span style="font-family: Microsoft JhengHei"><span style="color: #b00000">結果:</span></span></h3>
<span><span style="color: #000000;font-family: Calibri"><span style="font-family: Microsoft JhengHei"></span>在兩台機器上可以正常執行同一個程式</span></span>

&nbsp;
<h3><span style="color: #000000;font-family: Microsoft JhengHei">參考資料:</span></h3>
<span style="color: #000000;font-family: Microsoft JhengHei">Walkthrough: Creating and Exporting an RSA Key Containerhttps://msdn.microsoft.com/en-us/library/2w117ede.aspx</span>

<span style="color: #000000;font-family: Microsoft JhengHei">HTH. Jacky</span>]]></content:encoded>
    </item>
    <item>
      <title>使用 PowerShell 設定伺服器的 應用程式集區 預設值</title>
      <link>https://docs.microsoft.com/archive/blogs/jchiou/%E4%BD%BF%E7%94%A8-powershell-%E8%A8%AD%E5%AE%9A%E4%BC%BA%E6%9C%8D%E5%99%A8%E7%9A%84-%E6%87%89%E7%94%A8%E7%A8%8B%E5%BC%8F%E9%9B%86%E5%8D%80-%E9%A0%90%E8%A8%AD%E5%80%BC</link>
      <pubDate>Thu, 21 Jun 2018 16:50:39 GMT</pubDate>
      <dc:creator><![CDATA[Jacky Chiou]]></dc:creator>
      <guid
        isPermaLink="false">https://blogs.msdn.microsoft.com/jchiou/?p=5075</guid>
      <description><![CDATA[&nbsp;

ForEach ($sComputer in $global:aComputers)
{
# Sets Application Pool...]]></description>
      <content:encoded><![CDATA[&nbsp;

ForEach ($sComputer in $global:aComputers)
{
# Sets Application Pool Configuration
Write-Host "Setting Application Pool Configuration $sComputer..."; Start-Timer

Write-Host "  1. 啟動模式 由 OnDemand =&gt; AlwaysRunning."
set-webconfigurationproperty /system.applicationHost/applicationPools/applicationPoolDefaults  -name startMode -value 1

Write-Host "  2. 佇列長度改為5000."
set-webconfigurationproperty /system.applicationHost/applicationPools/applicationPoolDefaults  -name queueLength -value 5000

Write-Host "  3. 停用 Idle Time 設定 (20 分鐘) =&gt; 改為 0"
set-webconfigurationproperty /system.applicationHost/applicationPools/applicationPoolDefaults/processModel  -name idleTimeout -value (New-TimeSpan -h 00 -m 00)

Write-Host "  4. 停用預設的固定時間區間回收機制 (1740 分鐘) =&gt; 改為 0"
set-webconfigurationproperty /system.applicationHost/applicationPools/applicationPoolDefaults/recycling/periodicRestart -name time -value (New-TimeSpan -h 00 -m 00)

Write-Host "  5. 設定固定的時間回收(例如: 04:00)  =&gt; 設定為離峰時間, 同一個 Farm 的機器的時間要不同, 如: WEB01 為 4:00, WEB02 為 4:10."
add-webconfiguration /system.applicationHost/applicationPools/applicationPoolDefaults/recycling/periodicRestart/schedule -value (New-TimeSpan -h 4 -m 10)

Write-Host "  6. 將所有 Application pool 回收事件寫入系統事件"
set-webconfigurationproperty '/system.applicationHost/applicationPools/applicationPoolDefaults' -PSPath IIS:\ -Name recycling.logEventOnRecycle -Value "Time, Requests, Schedule, Memory, IsapiUnhealthy, OnDemand, ConfigChange, PrivateMemory"

Write-Host "Done! [$(Stop-Timer)]"
}
Write-Host 'Done!']]></content:encoded>
    </item>
    <item>
      <title>使用 PowerShell 安裝 IIS</title>
      <link>https://docs.microsoft.com/archive/blogs/jchiou/%E4%BD%BF%E7%94%A8-powershell-%E5%AE%89%E8%A3%9D-iis</link>
      <pubDate>Thu, 21 Jun 2018 16:46:17 GMT</pubDate>
      <dc:creator><![CDATA[Jacky Chiou]]></dc:creator>
      <guid
        isPermaLink="false">https://blogs.msdn.microsoft.com/jchiou/?p=5065</guid>
      <description><![CDATA[三個步驟:

以管理員身份開啟 PowerShell

import-module servermanager

add-windowsfeature Web-Server,...]]></description>
      <content:encoded><![CDATA[三個步驟:

<span style="color: #000000"><span lang="ZH-TW" style="font-family: 'PMingLiU',serif">以管理員身份開啟</span><span style="font-family: 'Verdana',sans-serif"> PowerShell</span></span>

<span style="font-family: 'Verdana',sans-serif"><span style="color: #000000">import-module servermanager</span></span>

<span style="font-family: 'Verdana',sans-serif"><span style="color: #000000">add-windowsfeature Web-Server, Web-WebServer, Web-Security,Web-Filtering,Web-Windows-Auth,Web-Basic-Auth,Web-Common-Http,Web-Http-Errors,Web-Static-Content,Web-Default-Doc,Web-Performance,Web-Stat-Compression,Web-Dyn-Compression,Web-Health,Web-Http-Logging,Web-Log-Libraries,Web-Request-Monitor,Web-Http-Tracing,Web-App-Dev,Web-Net-Ext45,Web-Asp-Net45,Web-WebSockets,Web-AppInit,Web-Mgmt-Tools,Web-Mgmt-Console</span></span>

<span style="font-family: 'Verdana',sans-serif"><span style="color: #000000"> </span></span>

<span style="color: #000000"><span lang="ZH-TW" style="font-family: 'PMingLiU',serif">上述的模組說明請參考</span><span style="font-family: 'Verdana',sans-serif">:</span></span>

<span style="font-family: 'Verdana',sans-serif"><span style="color: #000000">Modules in IIS 8.5</span></span>

<span style="font-family: 'Verdana',sans-serif"><a href="https://docs.microsoft.com/en-us/iis/install/installing-iis-85/installing-iis-85-on-windows-server-2012-r2#modules-in-iis-85">https://docs.microsoft.com/en-us/iis/install/installing-iis-85/installing-iis-85-on-windows-server-2012-r2#modules-in-iis-85</a></span>

&nbsp;]]></content:encoded>
    </item>
    <item>
      <title>Windows 2016 出現 0xc0000135 ServerManager.exe 無法開啟</title>
      <link>https://docs.microsoft.com/archive/blogs/jchiou/windows-2016-%E5%87%BA%E7%8F%BE-0xc0000135-servermanager-exe-%E7%84%A1%E6%B3%95%E9%96%8B%E5%95%9F</link>
      <pubDate>Thu, 29 Mar 2018 11:43:29 GMT</pubDate>
      <dc:creator><![CDATA[Jacky Chiou]]></dc:creator>
      <guid
        isPermaLink="false">https://blogs.msdn.microsoft.com/jchiou/?p=5005</guid>
      <description><![CDATA[問題描述:

============

將 Windows Server 2016 IIS 及 .NET Framework 都移除後, Server Manager 及事件檢視器…...]]></description>
      <content:encoded><![CDATA[<span style="color: #000000"><b><span lang="ZH-TW" style="margin: 0px;font-family: 'PMingLiU',serif">問題描述</span></b><b><span style="margin: 0px;font-family: 'Verdana',sans-serif">:</span></b></span>

<b><span style="margin: 0px;font-family: 'Verdana',sans-serif"><span style="color: #000000">============</span></span></b>

<span style="color: #000000"><span lang="ZH-TW" style="margin: 0px;font-family: 'PMingLiU',serif">將</span><span style="margin: 0px;font-family: 'Verdana',sans-serif"> Windows Server 2016 IIS </span><span lang="ZH-TW" style="margin: 0px;font-family: 'PMingLiU',serif">及</span><span style="margin: 0px;font-family: 'Verdana',sans-serif"> .NET Framework </span><span lang="ZH-TW" style="margin: 0px;font-family: 'PMingLiU',serif">都移除後</span><span style="margin: 0px;font-family: 'Verdana',sans-serif">, Server Manager </span><span lang="ZH-TW" style="margin: 0px;font-family: 'PMingLiU',serif">及事件檢視器</span><span style="margin: 0px;font-family: 'Verdana',sans-serif">… </span><span lang="ZH-TW" style="margin: 0px;font-family: 'PMingLiU',serif">等都無法開啟</span></span><span style="margin: 0px;font-family: 'Verdana',sans-serif"></span>

<span style="color: #000000"><span lang="ZH-TW" style="margin: 0px;font-family: 'PMingLiU',serif">錯誤訊息如下</span><span style="margin: 0px;font-family: 'Verdana',sans-serif">:</span></span>

<span style="margin: 0px;font-family: 'Verdana',sans-serif"><span style="color: #000000"> <a href="https://msdnshared.blob.core.windows.net/media/2018/03/Win20160xc0000135ErrMsg.jpg"><img width="300" height="102" class="alignnone size-medium wp-image-5015" alt="" src="https://msdnshared.blob.core.windows.net/media/2018/03/Win20160xc0000135ErrMsg-300x102.jpg" /></a></span></span>

&nbsp;

<span style="color: #000000"><b><span lang="ZH-TW" style="margin: 0px;font-family: 'PMingLiU',serif">解決方式</span></b><b><span style="margin: 0px;font-family: 'Verdana',sans-serif">:</span></b></span><b><span style="margin: 0px;font-family: 'Verdana',sans-serif"></span></b>

<b><span style="margin: 0px;font-family: 'Verdana',sans-serif"><span style="color: #000000">============</span></span></b>

<span style="color: #000000"><span lang="ZH-TW" style="margin: 0px;font-family: 'PMingLiU',serif">用</span><span style="margin: 0px;font-family: 'Verdana',sans-serif"> DISM </span><span lang="ZH-TW" style="margin: 0px;font-family: 'PMingLiU',serif">指令先將</span><span style="margin: 0px;font-family: 'Verdana',sans-serif"> .NET Framework </span><span lang="ZH-TW" style="margin: 0px;font-family: 'PMingLiU',serif">安裝後</span><span style="margin: 0px;font-family: 'Verdana',sans-serif">, </span><span lang="ZH-TW" style="margin: 0px;font-family: 'PMingLiU',serif">即可以正常開啟</span><span style="margin: 0px;font-family: 'Verdana',sans-serif"> Server Manager</span></span>

<span style="margin: 0px;font-family: 'Verdana',sans-serif"><span style="color: #000000">dism /online /enable-feature /featurename:NetFx4</span></span>

&nbsp;

<span style="margin: 0px;font-family: 'Microsoft JhengHei',sans-serif"><span style="color: #000000"> </span></span>HTH. Jacky]]></content:encoded>
    </item>
    <item>
      <title>免費的跨平台輕量SQL Server 資料庫管理工具 - SQL Operations Studio</title>
      <link>https://docs.microsoft.com/archive/blogs/jchiou/%E5%85%8D%E8%B2%BB%E7%9A%84%E8%B7%A8%E5%B9%B3%E5%8F%B0%E8%BC%95%E9%87%8Fsql-server-%E8%B3%87%E6%96%99%E5%BA%AB%E7%AE%A1%E7%90%86%E5%B7%A5%E5%85%B7-sql-operations-studio</link>
      <pubDate>Wed, 07 Mar 2018 10:22:16 GMT</pubDate>
      <dc:creator><![CDATA[Jacky Chiou]]></dc:creator>
      <guid
        isPermaLink="false">https://blogs.msdn.microsoft.com/jchiou/?p=4995</guid>
      <description><![CDATA[SQL Operations Studio 是一個免費跨平台的工具來管理 SQL Server、 Azure SQL Database 和 Azure SQL 資料倉儲，它可以執行在 Windows、...]]></description>
      <content:encoded><![CDATA[SQL Operations Studio 是一個<span>免費</span>跨平台<span>的工具來管理 SQL Server、 Azure SQL Database 和 Azure SQL 資料倉儲，它可以執行在 Windows、 macOS 和 Linux 。</span>

它有整合式終端機的功能：在<span><span class="sxs-lookup"><span>SQL Operations Studio </span></span>使用者介面中整合式終端機視窗內</span><span>使用命令列工具 (例如， Bash、PowerShell、 sqlcmd、 bcp，和 ssh) 。</span>

安裝資訊請參考:

<a href="https://docs.microsoft.com/zh-tw/sql/sql-operations-studio/download">https://docs.microsoft.com/zh-tw/sql/sql-operations-studio/download</a>

Enjoy.

Jacky]]></content:encoded>
    </item>
    <item>
      <title>用 WMI 查詢一個服務是否執行, 若不是把它執行</title>
      <link>https://docs.microsoft.com/archive/blogs/jchiou/%E7%94%A8-wmi-%E6%9F%A5%E8%A9%A2%E4%B8%80%E5%80%8B%E6%9C%8D%E5%8B%99%E6%98%AF%E5%90%A6%E5%9F%B7%E8%A1%8C-%E8%8B%A5%E4%B8%8D%E6%98%AF%E6%8A%8A%E5%AE%83%E5%9F%B7%E8%A1%8C</link>
      <pubDate>Sat, 24 Feb 2018 11:09:00 GMT</pubDate>
      <dc:creator><![CDATA[Jacky Chiou]]></dc:creator>
      <guid
        isPermaLink="false">https://blogs.msdn.microsoft.com/jchiou/?p=4975</guid>
      <description><![CDATA[以 SQL Server Agent 為例, 服務名稱可以自行替換

Option Explicit
Dim objWMIService, objService,...]]></description>
      <content:encoded><![CDATA[以 SQL Server Agent 為例, 服務名稱可以自行替換

Option Explicit
Dim objWMIService, objService, strComputer,strService
strService="SQLSERVERAGENT"
strComputer = "."
Set objWMIService = GetObject("winmgmts:" _
&amp; "{impersonationLevel=impersonate}!\\" &amp; strComputer &amp; "\root\cimv2")
For Each objService In objWMIService.ExecQuery("Select * from Win32_Service Where Name = '"_
&amp;strService&amp;"'")
If objService.State &lt;&gt; "Running" Then
objService.StartService
End If
Next
WScript.Quit

&nbsp;

Enjoy. Jacky]]></content:encoded>
    </item>
    <item>
      <title>如何移轉 IIS 上大量的應用程式集區及網站到另一台機器</title>
      <link>https://docs.microsoft.com/archive/blogs/jchiou/%E5%A6%82%E4%BD%95%E7%A7%BB%E8%BD%89-iis-%E4%B8%8A%E5%A4%A7%E9%87%8F%E7%9A%84%E6%87%89%E7%94%A8%E7%A8%8B%E5%BC%8F%E9%9B%86%E5%8D%80%E5%8F%8A%E7%B6%B2%E7%AB%99%E5%88%B0%E5%8F%A6%E4%B8%80%E5%8F%B0</link>
      <pubDate>Thu, 08 Feb 2018 14:26:57 GMT</pubDate>
      <dc:creator><![CDATA[Jacky Chiou]]></dc:creator>
      <guid
        isPermaLink="false">https://blogs.msdn.microsoft.com/jchiou/?p=4965</guid>
      <description><![CDATA[Application Pool 

 	匯出所有 App Pool指令: %windir%\system32\inetsrv\appcmd.exe list apppool...]]></description>
      <content:encoded><![CDATA[<ol type="1" start="1">
 	<li style="margin: 0px;color: #000000;font-family: 'Verdana',sans-serif;font-size: 11pt;font-style: normal;font-weight: normal"><span style="margin: 0px;font-family: 'Verdana',sans-serif">Application Pool </span>
<ol type="a" start="1">
 	<li style="margin: 0px;color: #000000;font-family: 'Verdana',sans-serif;font-size: 11pt;font-style: normal;font-weight: normal"><span lang="ZH-TW" style="margin: 0px;font-family: 'PMingLiU',serif">匯出所有</span><span style="margin: 0px;font-family: 'Verdana',sans-serif"> App Pool</span><span lang="ZH-TW" style="margin: 0px;font-family: 'PMingLiU',serif">指令</span><span style="margin: 0px;font-family: 'Verdana',sans-serif">: %windir%\system32\inetsrv\appcmd.exe list apppool /config /xml &gt; D:\temp\apppools.xml</span></li>
 	<li style="margin: 0px;color: #000000;font-family: 'Verdana',sans-serif;font-size: 11pt;font-style: normal;font-weight: normal"><span lang="ZH-TW" style="margin: 0px;font-family: 'PMingLiU',serif">匯入所有</span><span style="margin: 0px;font-family: 'Verdana',sans-serif">App Pool</span><span lang="ZH-TW" style="margin: 0px;font-family: 'PMingLiU',serif">指令</span><span style="margin: 0px;font-family: 'Verdana',sans-serif">: %windir%\system32\inetsrv\appcmd.exe add apppool /in &lt; D:\temp\apppools.xml</span></li>
</ol>
</li>
 	<li style="margin: 0px;color: #000000;font-family: 'Verdana',sans-serif;font-size: 11pt;font-style: normal;font-weight: normal"><span style="margin: 0px;font-family: 'Verdana',sans-serif">Web Site</span>
<ol type="a" start="1">
 	<li style="margin: 0px;color: #000000;font-family: 'Verdana',sans-serif;font-size: 11pt;font-style: normal;font-weight: normal"><span lang="ZH-TW" style="margin: 0px;font-family: 'PMingLiU',serif">匯出所有</span><span style="margin: 0px;font-family: 'Verdana',sans-serif"> Web Site</span><span lang="ZH-TW" style="margin: 0px;font-family: 'PMingLiU',serif">指令</span><span style="margin: 0px;font-family: 'Verdana',sans-serif">: %windir%\system32\inetsrv\appcmd.exe list site /config /xml &gt; D:\temp\sites.xml</span></li>
 	<li style="margin: 0px;color: #000000;font-family: 'Verdana',sans-serif;font-size: 11pt;font-style: normal;font-weight: normal"><span lang="ZH-TW" style="margin: 0px;font-family: 'PMingLiU',serif">匯入所有</span><span style="margin: 0px;font-family: 'Verdana',sans-serif"> Web Site</span><span lang="ZH-TW" style="margin: 0px;font-family: 'PMingLiU',serif">指令</span><span style="margin: 0px;font-family: 'Verdana',sans-serif">: %windir%\system32\inetsrv\appcmd.exe add site /in &lt; D:\temp\sites.xml</span></li>
</ol>
</li>
</ol>
Enjoy. Jacky]]></content:encoded>
    </item>
  </channel>
</rss>