<?xml version="1.0" encoding="UTF-8"?>
<rss version="2.0"
	xmlns:content="http://purl.org/rss/1.0/modules/content/"
	xmlns:wfw="http://wellformedweb.org/CommentAPI/"
	xmlns:dc="http://purl.org/dc/elements/1.1/"
	xmlns:atom="http://www.w3.org/2005/Atom"
	xmlns:sy="http://purl.org/rss/1.0/modules/syndication/"
	xmlns:slash="http://purl.org/rss/1.0/modules/slash/"
	>

<channel>
	<title>No Money No Honey &#187; SQL資料庫</title>
	<atom:link href="http://blog.infinity.idv.tw/index.php/category/sql%e8%b3%87%e6%96%99%e5%ba%ab/feed/" rel="self" type="application/rss+xml" />
	<link>http://blog.infinity.idv.tw</link>
	<description>Just Another Beginning</description>
	<lastBuildDate>Sat, 28 Jan 2012 18:25:36 +0000</lastBuildDate>
	<generator>http://wordpress.org/?v=2.8.4</generator>
	<language>en</language>
	<sy:updatePeriod>hourly</sy:updatePeriod>
	<sy:updateFrequency>1</sy:updateFrequency>
			<item>
		<title>SQL2005匯入EXCEL注意事項</title>
		<link>http://blog.infinity.idv.tw/index.php/2010/09/21/sql2005%e5%8c%af%e5%85%a5excel%e6%b3%a8%e6%84%8f%e4%ba%8b%e9%a0%85/</link>
		<comments>http://blog.infinity.idv.tw/index.php/2010/09/21/sql2005%e5%8c%af%e5%85%a5excel%e6%b3%a8%e6%84%8f%e4%ba%8b%e9%a0%85/#comments</comments>
		<pubDate>Tue, 21 Sep 2010 05:38:54 +0000</pubDate>
		<dc:creator>Roger Lin</dc:creator>
				<category><![CDATA[SQL資料庫]]></category>
		<category><![CDATA[SQL2005 匯入 匯出 EXCLE]]></category>

		<guid isPermaLink="false">http://blog.infinity.idv.tw/index.php/2010/09/21/sql2005%e5%8c%af%e5%85%a5excel%e6%b3%a8%e6%84%8f%e4%ba%8b%e9%a0%85/</guid>
		<description><![CDATA[<p>SQL2005匯入EXCEL注意事項</p>
<p>這兩天測試從SQLA使用SQL指令查詢的資料匯出成EXCEL，然後再匯入SQLB同個資料表內，可是一直失敗，後來同事說，EXCEL要匯入SQL2005，必須把EXCEL內的SHEET NAME改成你要匯入的TABLE NAME，才可以正確匯入。</p>
<p>匯出EXCEL:</p>
<p> </p>
<p>選擇來源(從SQL匯出)</p>
<p> </p>
<p>選擇目的地(匯出到EXCEL)</p>
<p> </p>
<p>這邊我只要裡面的一小段資料，所以用SQL指令方式篩選取資料</p>
<p> </p>
<p> </p>
<p> </p>
<p> </p>
<p>完成匯出，可在D槽看到該EXCEL檔案。</p>
<p> </p>
<p>&#160;</p>
<p>匯入EXCEL</p>
<p>假設要會入123資料庫底下的456 TABLE，那EXCEL內的Sheet Name 要改成 456 才能正確匯入，匯入方式如同上面匯出，只是來源與目的地對調而已。</p>
<p></p>
]]></description>
			<content:encoded><![CDATA[<p>SQL2005匯入EXCEL注意事項</p>
<p>這兩天測試從SQLA使用SQL指令查詢的資料匯出成EXCEL，然後再匯入SQLB同個資料表內，可是一直失敗，後來同事說，EXCEL要匯入SQL2005，必須把EXCEL內的SHEET NAME改成你要匯入的TABLE NAME，才可以正確匯入。</p>
<p>匯出EXCEL:</p>
<p><a href="http://blog.infinity.idv.tw/blog-img/SQL2005EXCEL_A517/1.jpg"><img style="border-bottom: 0px; border-left: 0px; display: inline; border-top: 0px; border-right: 0px" title="1" border="0" alt="1" src="http://blog.infinity.idv.tw/blog-img/SQL2005EXCEL_A517/1_thumb.jpg" width="514" height="507" /></a> </p>
<p>選擇來源(從SQL匯出)</p>
<p><a href="http://blog.infinity.idv.tw/blog-img/SQL2005EXCEL_A517/2.jpg"><img style="border-bottom: 0px; border-left: 0px; display: inline; border-top: 0px; border-right: 0px" title="2" border="0" alt="2" src="http://blog.infinity.idv.tw/blog-img/SQL2005EXCEL_A517/2_thumb.jpg" width="535" height="348" /></a> </p>
<p>選擇目的地(匯出到EXCEL)</p>
<p><a href="http://blog.infinity.idv.tw/blog-img/SQL2005EXCEL_A517/3.jpg"><img style="border-bottom: 0px; border-left: 0px; display: inline; border-top: 0px; border-right: 0px" title="3" border="0" alt="3" src="http://blog.infinity.idv.tw/blog-img/SQL2005EXCEL_A517/3_thumb.jpg" width="539" height="317" /></a> </p>
<p>這邊我只要裡面的一小段資料，所以用SQL指令方式篩選取資料</p>
<p><a href="http://blog.infinity.idv.tw/blog-img/SQL2005EXCEL_A517/4.jpg"><img style="border-bottom: 0px; border-left: 0px; display: inline; border-top: 0px; border-right: 0px" title="4" border="0" alt="4" src="http://blog.infinity.idv.tw/blog-img/SQL2005EXCEL_A517/4_thumb.jpg" width="536" height="339" /></a> </p>
<p><a href="http://blog.infinity.idv.tw/blog-img/SQL2005EXCEL_A517/5.jpg"><img style="border-bottom: 0px; border-left: 0px; display: inline; border-top: 0px; border-right: 0px" title="5" border="0" alt="5" src="http://blog.infinity.idv.tw/blog-img/SQL2005EXCEL_A517/5_thumb.jpg" width="537" height="194" /></a> </p>
<p><a href="http://blog.infinity.idv.tw/blog-img/SQL2005EXCEL_A517/6.jpg"><img style="border-bottom: 0px; border-left: 0px; display: inline; border-top: 0px; border-right: 0px" title="6" border="0" alt="6" src="http://blog.infinity.idv.tw/blog-img/SQL2005EXCEL_A517/6_thumb.jpg" width="538" height="259" /></a> </p>
<p><a href="http://blog.infinity.idv.tw/blog-img/SQL2005EXCEL_A517/7.jpg"><img style="border-bottom: 0px; border-left: 0px; display: inline; border-top: 0px; border-right: 0px" title="7" border="0" alt="7" src="http://blog.infinity.idv.tw/blog-img/SQL2005EXCEL_A517/7_thumb.jpg" width="540" height="255" /></a> </p>
<p>完成匯出，可在D槽看到該EXCEL檔案。</p>
<p><a href="http://blog.infinity.idv.tw/blog-img/SQL2005EXCEL_A517/8.jpg"><img style="border-bottom: 0px; border-left: 0px; display: inline; border-top: 0px; border-right: 0px" title="8" border="0" alt="8" src="http://blog.infinity.idv.tw/blog-img/SQL2005EXCEL_A517/8_thumb.jpg" width="534" height="487" /></a> </p>
<p>&#160;</p>
<p>匯入EXCEL</p>
<p>假設要會入123資料庫底下的456 TABLE，那EXCEL內的Sheet Name 要改成 456 才能正確匯入，匯入方式如同上面匯出，只是來源與目的地對調而已。</p>
<p><a href="http://blog.infinity.idv.tw/blog-img/SQL2005EXCEL_A517/1_3.jpg"><img style="border-bottom: 0px; border-left: 0px; display: inline; border-top: 0px; border-right: 0px" title="1" border="0" alt="1" src="http://blog.infinity.idv.tw/blog-img/SQL2005EXCEL_A517/1_thumb_3.jpg" width="450" height="220" /></a></p>
]]></content:encoded>
			<wfw:commentRss>http://blog.infinity.idv.tw/index.php/2010/09/21/sql2005%e5%8c%af%e5%85%a5excel%e6%b3%a8%e6%84%8f%e4%ba%8b%e9%a0%85/feed/</wfw:commentRss>
		<slash:comments>0</slash:comments>
		</item>
		<item>
		<title>SQL 預存程序 Stored Procedures</title>
		<link>http://blog.infinity.idv.tw/index.php/2010/05/07/sql-%e9%a0%90%e5%ad%98%e7%a8%8b%e5%ba%8f-stored-procedures/</link>
		<comments>http://blog.infinity.idv.tw/index.php/2010/05/07/sql-%e9%a0%90%e5%ad%98%e7%a8%8b%e5%ba%8f-stored-procedures/#comments</comments>
		<pubDate>Fri, 07 May 2010 09:25:12 +0000</pubDate>
		<dc:creator>Roger Lin</dc:creator>
				<category><![CDATA[SQL資料庫]]></category>
		<category><![CDATA[Stored Procedures 預存程序]]></category>

		<guid isPermaLink="false">http://blog.infinity.idv.tw/index.php/2010/05/07/sql-%e9%a0%90%e5%ad%98%e7%a8%8b%e5%ba%8f-stored-procedures/</guid>
		<description><![CDATA[<p>一直都不知到啥是預存程序，後來大概知道它是做什麼用的，直到現在才開始面對它，大概了解一下它怎麼用。</p>
<p></p>
<p>出處:http://yes.nctu.edu.tw/SQL/StoredProcedure/StoredProcedure.htm</p>
<p>撰寫 Stored Procedures</p>
<p>利用 ADO 來存取資料庫是一件既輕鬆又簡單的工作, 不過有的時候又臭又長的 SQL 敘述實在很煩人, 這篇文章將介紹如何利用 Stored Procedure 來簡化你的 ASP 程式 </p>
<p>本質上 Stored procedures (有時又稱 Sproc) 就是儲存在資料庫中的 Script 或 Batch, 撰寫 Sproc 並不是太難的一件事, 通常你會這樣查詢資料庫 </p>
<p>Select * From Table </p>
<p>如何將它變成 Sproc? 以下是簡單的例子 </p>
<p>Create Proc sp_SprocName1    As     &#160; Select * From Table     Go [...]]]></description>
			<content:encoded><![CDATA[<p><b>一直都不知到啥是預存程序，後來大概知道它是做什麼用的，直到現在才開始面對它，大概了解一下它怎麼用。</b></p>
<p><b></b></p>
<p><strong>出處:<a title="http://yes.nctu.edu.tw/SQL/StoredProcedure/StoredProcedure.htm" href="http://yes.nctu.edu.tw/SQL/StoredProcedure/StoredProcedure.htm">http://yes.nctu.edu.tw/SQL/StoredProcedure/StoredProcedure.htm</a></strong></p>
<p><b>撰寫 Stored Procedures</b></p>
<p>利用 ADO 來存取資料庫是一件既輕鬆又簡單的工作, 不過有的時候又臭又長的 SQL 敘述實在很煩人, 這篇文章將介紹如何利用 Stored Procedure 來簡化你的 ASP 程式 </p>
<p>本質上 Stored procedures (有時又稱 Sproc) 就是儲存在資料庫中的 Script 或 Batch, 撰寫 Sproc 並不是太難的一件事, 通常你會這樣查詢資料庫 </p>
<p>Select * From Table </p>
<p>如何將它變成 Sproc? 以下是簡單的例子 </p>
<p>Create Proc sp_SprocName1    <br />As     <br />&#160; Select * From Table     <br />Go </p>
<p>現在 Sproc 已成功的建立, 你可以試著去執行它 </p>
<p>Exec sp_SprocName1 </p>
<p>你可以為你的 Sproc 取任何的名字, 在 SQL 7.0 的命名原則以 128 個字元為限, SQL 並不規定 Stores procedure 之命名要以 sp_ 開頭, 但強烈建議你這麼做! </p>
<p>接下來我們再做些例子, 例如在查詢中加入 where 子句, Select * From Table Where Column1 = 0 , 這裡你是不是會覺得 Column1 的值如果可以改為一個輸入參數由我們輸入, 那就更加完美! </p>
<p>Create Proc sp_SprocName2    <br />@MyInput int     <br />As     <br />&#160; Select * From Table     <br />&#160; Where Column1 = @MyInput     <br />Go </p>
<p>完整的參數宣告語法為 </p>
<p>@<i>parameter_name datatype</i> [= default|Null] [Varying] [Output] </p>
<p>如果你未提供 default 值, 則這個參數會被假設為必要輸入的, 在宣告參數時你還必須指定資料型態, 應為合法的 SQL Server 資料型態 </p>
<p>在 Sproc 接收到輸入值後, 便將它存放在 @MyInput 變數中, 變數以 @ 符號開頭, 以 @@ 開頭的則為全域變數, 你可以這麼執行這個 Sproc </p>
<p>Exec sp_SprocName2 0 </p>
<p>我們再來看一個 Insert 的例子 </p>
<p>Create Proc sp_SprocName3    <br />&#160; @Column1 varchar(20)     <br />&#160; @Column2 varchar(36) = Null     <br />As     <br />&#160; Insert Into Table     <br />&#160; Values     <br />&#160;&#160;&#160; (@Column1, @Column2)     <br />Go </p>
<p>在這例子中, Column2 的值即為選擇性輸入, 你可以這麼執行 </p>
<p>Exec sp_SprocName3 &#8216;SomeString&#8217; </p>
<p>最後要告訴你如何在 ASP 中使用 Stored procedure, 不使用 Sproc 時你會這麼做 </p>
<p>Set oConn = Server.CreateObject(&quot;Adodb.Connection&quot;)    <br />oConn.Open YpurDSN     <br />sSQL = &quot;Select * From Table&quot;     <br />Set oRs = oConn.Execute(sSQL) </p>
<p>使用 Sproc 時, 這樣改就可以了 </p>
<p>Set oConn = Server.CreateObject(&quot;Adodb.Connection&quot;)    <br />oConn.Open YourDSN     <br />sSQL = &quot;sp_MySproc&quot;     <br />Set oRs = oConn.Execute(sSQL) </p>
<p>如果你的 Sproc 需要輸入參數, 你可以這麼做 </p>
<p>Set oConn = Server.CreateObject(&quot;Adodb.Connection&quot;)    <br />oConn.Open YourDSN     <br />sSQL = &quot;sp_MySproc &quot; &amp; MyInput     <br />Set oRs = oConn.Execute(sSQL) </p>
<p>是不是很簡單呢! </p>
<p>希望這篇文章對你有幫助! </p>
]]></content:encoded>
			<wfw:commentRss>http://blog.infinity.idv.tw/index.php/2010/05/07/sql-%e9%a0%90%e5%ad%98%e7%a8%8b%e5%ba%8f-stored-procedures/feed/</wfw:commentRss>
		<slash:comments>0</slash:comments>
		</item>
		<item>
		<title>SQL2005 改變預設資料庫</title>
		<link>http://blog.infinity.idv.tw/index.php/2010/05/07/sql2005-%e6%94%b9%e8%ae%8a%e9%a0%90%e8%a8%ad%e8%b3%87%e6%96%99%e5%ba%ab/</link>
		<comments>http://blog.infinity.idv.tw/index.php/2010/05/07/sql2005-%e6%94%b9%e8%ae%8a%e9%a0%90%e8%a8%ad%e8%b3%87%e6%96%99%e5%ba%ab/#comments</comments>
		<pubDate>Fri, 07 May 2010 09:06:36 +0000</pubDate>
		<dc:creator>Roger Lin</dc:creator>
				<category><![CDATA[SQL資料庫]]></category>
		<category><![CDATA[無法開啟使用者預設資料庫 登入失敗 SQL]]></category>

		<guid isPermaLink="false">http://blog.infinity.idv.tw/index.php/2010/05/07/sql2005-%e6%94%b9%e8%ae%8a%e9%a0%90%e8%a8%ad%e8%b3%87%e6%96%99%e5%ba%ab/</guid>
		<description><![CDATA[<p>預設資料庫看起來沒什麼，但是如果您剛好把預設資料庫離線…………那好笑的事就發生了，你會無法再使用SQL Server Enterprise Manager登入，會出現類似 無法開啟使用者預設資料庫。登入失敗。的訊息，要再讓剛離線的資料庫上線也不行，阿程式也不會自動詢問或是自動幫您改成其它預設資料庫，只能說&#160; 掯~~~微”軟” 的SQL2005 實在有夠笨…………………</p>
<p>&#160;</p>
<p>問題出現了還是要解決， </p>
<p> </p>
<p>登入時先選別的資料庫</p>
<p></p>
<p>下指令把預設資料庫修正即可&#160; </p>
<p> </p>
</p>
<p>參考資訊：http://support.microsoft.com/kb/196076/zh-tw</p>
]]></description>
			<content:encoded><![CDATA[<p>預設資料庫看起來沒什麼，但是如果您剛好把預設資料庫離線…………那好笑的事就發生了，你會無法再使用SQL Server Enterprise Manager登入，會出現類似 無法開啟使用者預設資料庫。登入失敗。的訊息，要再讓剛離線的資料庫上線也不行，阿程式也不會自動詢問或是自動幫您改成其它預設資料庫，只能說&#160; 掯~~~微”軟” 的SQL2005 實在有夠笨…………………</p>
<p>&#160;</p>
<p>問題出現了還是要解決， </p>
<p><a href="http://blog.infinity.idv.tw/blog-img/SQL2005_F073/1.jpg"><img style="border-bottom: 0px; border-left: 0px; display: inline; border-top: 0px; border-right: 0px" title="1" border="0" alt="1" src="http://blog.infinity.idv.tw/blog-img/SQL2005_F073/1_thumb.jpg" width="421" height="311" /></a> </p>
<p>登入時先選別的資料庫</p>
<p><a href="http://blog.infinity.idv.tw/blog-img/SQL2005_F073/2.jpg"><img style="border-bottom: 0px; border-left: 0px; display: inline; border-top: 0px; border-right: 0px" title="2" border="0" alt="2" src="http://blog.infinity.idv.tw/blog-img/SQL2005_F073/2_thumb.jpg" width="417" height="483" /></a></p>
<p>下指令把預設資料庫修正即可&#160; </p>
<p><a href="http://blog.infinity.idv.tw/blog-img/SQL2005_F073/3.jpg"><img style="border-bottom: 0px; border-left: 0px; display: inline; border-top: 0px; border-right: 0px" title="3" border="0" alt="3" src="http://blog.infinity.idv.tw/blog-img/SQL2005_F073/3_thumb.jpg" width="240" height="162" /></a> </p>
</p>
<p>參考資訊：<a title="http://support.microsoft.com/kb/196076/zh-tw" href="http://support.microsoft.com/kb/196076/zh-tw">http://support.microsoft.com/kb/196076/zh-tw</a></p>
]]></content:encoded>
			<wfw:commentRss>http://blog.infinity.idv.tw/index.php/2010/05/07/sql2005-%e6%94%b9%e8%ae%8a%e9%a0%90%e8%a8%ad%e8%b3%87%e6%96%99%e5%ba%ab/feed/</wfw:commentRss>
		<slash:comments>0</slash:comments>
		</item>
		<item>
		<title>SQL將兩個Table各自的某個欄位合併成一個欄位秀出</title>
		<link>http://blog.infinity.idv.tw/index.php/2010/02/03/sql%e5%b0%87%e5%85%a9%e5%80%8btable%e5%90%84%e8%87%aa%e7%9a%84%e6%9f%90%e5%80%8b%e6%ac%84%e4%bd%8d%e5%90%88%e4%bd%b5%e6%88%90%e4%b8%80%e5%80%8b%e6%ac%84%e4%bd%8d%e7%a7%80%e5%87%ba/</link>
		<comments>http://blog.infinity.idv.tw/index.php/2010/02/03/sql%e5%b0%87%e5%85%a9%e5%80%8btable%e5%90%84%e8%87%aa%e7%9a%84%e6%9f%90%e5%80%8b%e6%ac%84%e4%bd%8d%e5%90%88%e4%bd%b5%e6%88%90%e4%b8%80%e5%80%8b%e6%ac%84%e4%bd%8d%e7%a7%80%e5%87%ba/#comments</comments>
		<pubDate>Wed, 03 Feb 2010 02:10:57 +0000</pubDate>
		<dc:creator>Roger Lin</dc:creator>
				<category><![CDATA[SQL資料庫]]></category>
		<category><![CDATA[合併table]]></category>

		<guid isPermaLink="false">http://blog.infinity.idv.tw/index.php/2010/02/03/sql%e5%b0%87%e5%85%a9%e5%80%8btable%e5%90%84%e8%87%aa%e7%9a%84%e6%9f%90%e5%80%8b%e6%ac%84%e4%bd%8d%e5%90%88%e4%bd%b5%e6%88%90%e4%b8%80%e5%80%8b%e6%ac%84%e4%bd%8d%e7%a7%80%e5%87%ba/</guid>
		<description><![CDATA[<p>SELECT declno as no    FROM decldatah&#160; union all&#160; SELECT declno     FROM decldatab&#160; </p>
]]></description>
			<content:encoded><![CDATA[<p>SELECT declno as no    <br />FROM decldatah&#160; <br />union all&#160; <br />SELECT declno     <br />FROM decldatab&#160; </p>
]]></content:encoded>
			<wfw:commentRss>http://blog.infinity.idv.tw/index.php/2010/02/03/sql%e5%b0%87%e5%85%a9%e5%80%8btable%e5%90%84%e8%87%aa%e7%9a%84%e6%9f%90%e5%80%8b%e6%ac%84%e4%bd%8d%e5%90%88%e4%bd%b5%e6%88%90%e4%b8%80%e5%80%8b%e6%ac%84%e4%bd%8d%e7%a7%80%e5%87%ba/feed/</wfw:commentRss>
		<slash:comments>0</slash:comments>
		</item>
		<item>
		<title>SQL語法 Left Join</title>
		<link>http://blog.infinity.idv.tw/index.php/2010/01/29/sql%e8%aa%9e%e6%b3%95-left-join/</link>
		<comments>http://blog.infinity.idv.tw/index.php/2010/01/29/sql%e8%aa%9e%e6%b3%95-left-join/#comments</comments>
		<pubDate>Fri, 29 Jan 2010 03:15:00 +0000</pubDate>
		<dc:creator>Roger Lin</dc:creator>
				<category><![CDATA[SQL資料庫]]></category>
		<category><![CDATA[SQL Left Join]]></category>

		<guid isPermaLink="false">http://blog.infinity.idv.tw/index.php/2010/01/29/sql%e8%aa%9e%e6%b3%95-left-join/</guid>
		<description><![CDATA[<p>看科學家研究，人會覺得走在左邊的人比較有男(女)人味，因此想泡妞的請走在女伴的左邊……………不是沒有道理的，台灣屬於靠右邊走的習慣，如果男士在女生左邊，會有保護女生讓女生走比較路邊比較安全的感覺&#8230;&#8230;&#8230;&#8230;&#8230;&#8230;&#8230;&#8230;&#8230;.再說連電腦SQL語法也是要你在左邊呢!!!!</p>
<p>&#160;</p>
<p>昨天去書店剛好看到有介紹Join的書翻了一下，發現 left join 正符合我的需求，試了三個Table的 left Join一次把我要的都列表出來，省了另外兩個額外查詢，看文獻也說使用join比較有效率。</p>
<p>select g.*, cbas.custid, cbas.cmpabv, cntc.cntcid, cntc.phone from dbo.gdsinfomt g   left join dbo.custbas cbas on (g.Agent = cbas.custid)    left join dbo.custcntc cntc on ((g.Agent = cntc.custid) and (cntc.cntcid = substring(g.declno,1,2)))    where g.senddate &#62;= &#8216;20100128&#8242;    and g.senddate &#60;= &#8216;20100128&#8242;   [...]]]></description>
			<content:encoded><![CDATA[<p>看科學家研究，人會覺得走在左邊的人比較有男(女)人味，因此想泡妞的請走在女伴的左邊……………不是沒有道理的，台灣屬於靠右邊走的習慣，如果男士在女生左邊，會有保護女生讓女生走比較路邊比較安全的感覺&#8230;&#8230;&#8230;&#8230;&#8230;&#8230;&#8230;&#8230;&#8230;.再說連電腦SQL語法也是要你在左邊呢!!!!</p>
<p>&#160;</p>
<p>昨天去書店剛好看到有介紹Join的書翻了一下，發現 left join 正符合我的需求，試了三個Table的 left Join一次把我要的都列表出來，省了另外兩個額外查詢，看文獻也說使用join比較有效率。</p>
<p>select g.*, cbas.custid, cbas.cmpabv, cntc.cntcid, cntc.phone from dbo.gdsinfomt g   <br />left join dbo.custbas cbas on (g.Agent = cbas.custid)    <br />left join dbo.custcntc cntc on ((g.Agent = cntc.custid) and (cntc.cntcid = substring(g.declno,1,2)))    <br />where g.senddate &gt;= &#8216;20100128&#8242;    <br />and g.senddate &lt;= &#8216;20100128&#8242;    <br />and g.Gdsno like &#8216;D%&#8217;</p>
<p>如果是土法鍊鋼的做法會有三個階段的查詢，會先查詢</p>
<p>select g.* from dbo.gdsinfomt g   <br />where g.senddate &gt;= &#8216;20100128&#8242;    <br />and g.senddate &lt;= &#8216;20100128&#8242;    <br />and g.Gdsno like &#8216;D%&#8217;</p>
<p>然後在 select g.* from dbo.gdsinfomt g 資料回圈內再一筆一筆依 g.Agent = cbas.custid 為條件查詢要的資料</p>
<p>select * from dbo.custbas cbas</p>
<p>where cbas.custid = g.Agent(上個查詢查到的資料)</p>
<p>第三個TABLE在 select g.* from dbo.gdsinfomt g 資料回圈內再一筆一筆依 g.Agent = cntc.custid and cntc.cntcid = substring(g.declno,1,2) 這兩個條件查詢</p>
<p>select * from dbo.custcntc cntc</p>
<p>where g.Agent = cntc.custid</p>
<p>and cntc.cntcid = substring(g.declno,1,2)</p>
]]></content:encoded>
			<wfw:commentRss>http://blog.infinity.idv.tw/index.php/2010/01/29/sql%e8%aa%9e%e6%b3%95-left-join/feed/</wfw:commentRss>
		<slash:comments>0</slash:comments>
		</item>
		<item>
		<title>SQL中擷取字串</title>
		<link>http://blog.infinity.idv.tw/index.php/2010/01/28/sql%e4%b8%ad%e6%93%b7%e5%8f%96%e5%ad%97%e4%b8%b2/</link>
		<comments>http://blog.infinity.idv.tw/index.php/2010/01/28/sql%e4%b8%ad%e6%93%b7%e5%8f%96%e5%ad%97%e4%b8%b2/#comments</comments>
		<pubDate>Thu, 28 Jan 2010 09:16:18 +0000</pubDate>
		<dc:creator>Roger Lin</dc:creator>
				<category><![CDATA[SQL資料庫]]></category>
		<category><![CDATA[SQL 擷取字串]]></category>

		<guid isPermaLink="false">http://blog.infinity.idv.tw/index.php/2010/01/28/sql%e4%b8%ad%e6%93%b7%e5%8f%96%e5%ad%97%e4%b8%b2/</guid>
		<description><![CDATA[<p>SQL與法中直接擷取字串的函式使用 substring(原字串, 啟始取值位置, 欲取的字元數)</p>
<p>這裡與DELPHI的Copy用法一摸摸一樣樣~</p>
<p>範例：取g.declno前兩字元</p>
<p>cntc.cntcid = substring(g.declno,1,2)</p>
]]></description>
			<content:encoded><![CDATA[<p>SQL與法中直接擷取字串的函式使用 substring(原字串, 啟始取值位置, 欲取的字元數)</p>
<p>這裡與DELPHI的Copy用法一摸摸一樣樣~</p>
<p>範例：取g.declno前兩字元</p>
<p>cntc.cntcid = substring(g.declno,1,2)</p>
]]></content:encoded>
			<wfw:commentRss>http://blog.infinity.idv.tw/index.php/2010/01/28/sql%e4%b8%ad%e6%93%b7%e5%8f%96%e5%ad%97%e4%b8%b2/feed/</wfw:commentRss>
		<slash:comments>0</slash:comments>
		</item>
		<item>
		<title>[SQL Server]Auto Close(自動關閉) &#8211; SQL效能</title>
		<link>http://blog.infinity.idv.tw/index.php/2009/12/21/sql-serverauto-close%e8%87%aa%e5%8b%95%e9%97%9c%e9%96%89-sql%e6%95%88%e8%83%bd/</link>
		<comments>http://blog.infinity.idv.tw/index.php/2009/12/21/sql-serverauto-close%e8%87%aa%e5%8b%95%e9%97%9c%e9%96%89-sql%e6%95%88%e8%83%bd/#comments</comments>
		<pubDate>Mon, 21 Dec 2009 03:16:59 +0000</pubDate>
		<dc:creator>Roger Lin</dc:creator>
				<category><![CDATA[SQL資料庫]]></category>
		<category><![CDATA[Auto Close]]></category>
		<category><![CDATA[SQL]]></category>
		<category><![CDATA[效能]]></category>

		<guid isPermaLink="false">http://blog.infinity.idv.tw/index.php/2009/12/21/sql-serverauto-close%e8%87%aa%e5%8b%95%e9%97%9c%e9%96%89-sql%e6%95%88%e8%83%bd/</guid>
		<description><![CDATA[</p>
<p>文章出處：http://www.dotblogs.com.tw/jimmyyu/archive/2009/07/03/9088.aspx</p>
<p>這是一個曾經發生過的案例，兩年前我在客戶家處理一個效能的案子時，客戶告知：你們的系統最近跑起來比過去慢了不少，每個動作平均大約慢了2-3秒鐘，我心想：我們最近不會改了什麼東西吧。</p>
<p>本著追根究柢的精神，開始跟客戶喇勒：最近有人做什麼嗎？有人版更嗎？DBA有改設定嗎？MIS有做系統調整嗎？這一連串的閒聊問答，最後得到的結果很好：沒有&#8230;.</p>
<p>根據我在客戶家處理多年問題的經驗，客戶有這種回答也是很合理的，但我直覺問題並不單純，就開始進行問題的測試，從一些現象上看起來，最後把問題轉到DB上去了，最後找到DB中有個設定被修改了，這個設定叫作Auto Close(自動關閉)，詳細的內容可以看這個連結，講的蠻清楚的：http://sharedderrick.blogspot.com/2009/02/autoclose.html</p>
<p>針對這個設定有個地方要特別注意，在SQL Server 2000以前，Create database時，這個值預設是ON；SQL Server 2005以上的版本預設值則是OFF。</p>
<p>&#160;</p>
<p>&#160;</p>
<p>http://sharedderrick.blogspot.com/2009/02/autoclose.html</p>
<p>=============================================================================================================認識 SQL Server Database 資料庫選項：AUTO_CLOSE(自動關閉)</p>
<p>資料庫 AUTO_CLOSE 選項</p>
<p>選項值   說明</p>
<p>ON(True)</p>
<p>當設定為：ON 時，資料庫會完全關閉，並在最後一個使用者結束之後釋放其資源。當使用者試圖重新使用資料庫時，會自動重新開啟資料庫。例如，藉由發出 USE database_name 陳述式。</p>
<p>這個選項可能會造成經常存取之資料庫的效能降低，因為在每一個連接之後都會增加開啟和關閉資料庫的負擔。   而且在每一個連接之後，啟用此選項也會排清程序快取。</p>
<p>對於桌面資料庫而言，啟用此選項非常有用，因為它可讓您將資料庫檔案當做一般檔案來管理。您可以移動它們、複製它們來建立備份，甚至可以用電子郵件將它們傳給其他使用者。</p>
<p>在舊版 SQL Server 中，AUTO_CLOSE 是同步處理序，當有重複建立和中斷與 Database Engine 之連接的應用程式存取資料庫時，該處理序可能會降低效能。從 SQL Server 2005 開始，AUTO_CLOSE 處理序是非同步的；重複開啟和關閉資料庫不再降低效能。</p>
<p>當啟用此選項時，sys.databases 目錄檢視中的某些資料行及 DATABASEPROPERTYEX 函數會傳回 NULL，因為資料庫無法擷取資料。若要解決這個問題，請執行 USE 陳述式來開啟資料庫。</p>
<p>此啟用使選項也會造成，當資料庫關閉的作業執行時，會自動清除 SQL Server 執行個體的計畫快取。</p>
<p>若清除計畫快取會導致重新編譯所有後續執行計畫，而且可能會導致查詢效能突然暫時下降。在 SQL Server 2005 Service Pack 2 中，針對每次清除計畫快取的快取存放區，SQL Server 錯誤記錄檔會包含下列參考訊息：「由於某些資料庫維護或重新設定作業，SQL Server 的 [...]]]></description>
			<content:encoded><![CDATA[</p>
<p>文章出處：<a href="http://www.dotblogs.com.tw/jimmyyu/archive/2009/07/03/9088.aspx">http://www.dotblogs.com.tw/jimmyyu/archive/2009/07/03/9088.aspx</a></p>
<p>這是一個曾經發生過的案例，兩年前我在客戶家處理一個效能的案子時，客戶告知：你們的系統最近跑起來比過去慢了不少，每個動作平均大約慢了2-3秒鐘，我心想：我們最近不會改了什麼東西吧。</p>
<p>本著追根究柢的精神，開始跟客戶喇勒：最近有人做什麼嗎？有人版更嗎？DBA有改設定嗎？MIS有做系統調整嗎？這一連串的閒聊問答，最後得到的結果很好：沒有&#8230;.</p>
<p>根據我在客戶家處理多年問題的經驗，客戶有這種回答也是很合理的，但我直覺問題並不單純，就開始進行問題的測試，從一些現象上看起來，最後把問題轉到DB上去了，最後找到DB中有個設定被修改了，這個設定叫作Auto Close(自動關閉)，詳細的內容可以看這個連結，講的蠻清楚的：<a href="http://sharedderrick.blogspot.com/2009/02/autoclose.html">http://sharedderrick.blogspot.com/2009/02/autoclose.html</a></p>
<p>針對這個設定有個地方要特別注意，在SQL Server 2000以前，Create database時，這個值預設是ON；SQL Server 2005以上的版本預設值則是OFF。</p>
<p>&#160;</p>
<p>&#160;</p>
<p><a href="http://sharedderrick.blogspot.com/2009/02/autoclose.html">http://sharedderrick.blogspot.com/2009/02/autoclose.html</a></p>
<p>=============================================================================================================<a href="http://sharedderrick.blogspot.com/2009/02/autoclose.html">認識 SQL Server Database 資料庫選項：AUTO_CLOSE(自動關閉)</a></p>
<p>資料庫 AUTO_CLOSE 選項</p>
<p>選項值   <br />說明</p>
<p>ON(True)</p>
<p>當設定為：ON 時，資料庫會完全關閉，並在最後一個使用者結束之後釋放其資源。當使用者試圖重新使用資料庫時，會自動重新開啟資料庫。例如，藉由發出 USE database_name 陳述式。</p>
<p>這個選項可能會造成經常存取之資料庫的效能降低，因為在每一個連接之後都會增加開啟和關閉資料庫的負擔。   <br />而且在每一個連接之後，啟用此選項也會排清程序快取。</p>
<p>對於桌面資料庫而言，啟用此選項非常有用，因為它可讓您將資料庫檔案當做一般檔案來管理。您可以移動它們、複製它們來建立備份，甚至可以用電子郵件將它們傳給其他使用者。</p>
<p>在舊版 SQL Server 中，AUTO_CLOSE 是同步處理序，當有重複建立和中斷與 Database Engine 之連接的應用程式存取資料庫時，該處理序可能會降低效能。從 SQL Server 2005 開始，AUTO_CLOSE 處理序是非同步的；重複開啟和關閉資料庫不再降低效能。</p>
<p>當啟用此選項時，sys.databases 目錄檢視中的某些資料行及 DATABASEPROPERTYEX 函數會傳回 NULL，因為資料庫無法擷取資料。若要解決這個問題，請執行 USE 陳述式來開啟資料庫。</p>
<p>此啟用使選項也會造成，當資料庫關閉的作業執行時，會自動清除 SQL Server 執行個體的計畫快取。</p>
<p>若清除計畫快取會導致重新編譯所有後續執行計畫，而且可能會導致查詢效能突然暫時下降。在 SQL Server 2005 Service Pack 2 中，針對每次清除計畫快取的快取存放區，SQL Server 錯誤記錄檔會包含下列參考訊息：「由於某些資料庫維護或重新設定作業，SQL Server 的 &#8216;%s&#8217; 快取存放區 (計畫快取的一部分) 發生 %d 次快取存放區排清。」只要快取發生排清，這個訊息就會每五分鐘記錄一次。</p>
<p>OFF(False)</p>
<p>當設定為：OFF 時，則在最後一個使用者結束之後資料庫仍為開啟。   <br />資料庫鏡像需要 AUTO_CLOSE OFF。</p>
<p>預設值：   <br />不論作業系統為何，當使用 SQL Server 2000 Desktop Engine 或 SQL Server Express 時，這個選項對所有資料庫是設為：ON(True)；其他版本的 SQL Server 則是設為：OFF(False)。</p>
<p>最佳作法建議   <br />如果經常存取資料庫，請將此資料庫的 AUTO_CLOSE 選項設定為 OFF。</p>
<p>啟用資料庫選項：AUTO_CLOSE的方式如下：</p>
<p><a href="http://sharedderrick.blogspot.com/#">view plain</a><a href="http://sharedderrick.blogspot.com/#">copy to clipboard</a><a href="http://sharedderrick.blogspot.com/#">print</a><a href="http://sharedderrick.blogspot.com/#">?</a></p>
<ol>
<li>任務1：建立資料庫&#160; </li>
<li>步驟01. 執行以下範例程式碼：&#160; </li>
<li>USE [master]&#160; </li>
<li>GO&#160; </li>
<li>IF&#160; EXISTS (SELECT name FROM sys.databases WHERE name = N&#8217;DB01&#8242;)&#160; </li>
<li>DROP DATABASE [DB01]&#160; </li>
<li>GO&#160; </li>
<li>CREATE DATABASE [DB01] ON PRIMARY</li>
<li>( NAME = N&#8217;DB01&#8242;, FILENAME = N&#8217;C:\DB01.mdf&#8217; , SIZE = 3072KB , FILEGROWTH = 1024KB )&#160; </li>
<li> LOG ON</li>
<li>( NAME = N&#8217;DB01_log&#8217;, FILENAME = N&#8217;C:\DB01_log.ldf&#8217; , SIZE = 1024KB , FILEGROWTH = 10%)&#160; </li>
<li>GO&#160; </li>
<li></li>
<li>任務2：啟用資料庫選項：AUTO_CLOSE&#160; </li>
<li>步驟01. 執行以下範例程式碼：&#160; </li>
<li>USE [master]&#160; </li>
<li>GO&#160; </li>
<li>&#8211; 設定資料庫DB01的AUTO_CLOSE屬性為ON</li>
<li>ALTER DATABASE [DB01]&#160; </li>
<li>SET AUTO_CLOSE ON WITH NO_WAIT&#160; </li>
<li>GO&#160; </li>
</ol>
<p>請參考圖1所示：   <br /><img alt="" src="http://3.bp.blogspot.com/_YF2-PvwqBh4/SZqUUmRUFwI/AAAAAAAABvg/bIvhRQ8ubhE/s400/%E5%9C%961%EF%BC%9A%E8%A8%AD%E5%AE%9A%E8%B3%87%E6%96%99%E5%BA%AB%E9%81%B8%E9%A0%85%EF%BC%9AAUTO_CLOSE.png" border="0" />    <br />圖1：設定資料庫選項：AUTO_CLOSE</p>
<p><a href="http://sharedderrick.blogspot.com/#">view plain</a><a href="http://sharedderrick.blogspot.com/#">copy to clipboard</a><a href="http://sharedderrick.blogspot.com/#">print</a><a href="http://sharedderrick.blogspot.com/#">?</a></p>
<ol>
<li>或是使用SSMS(SQL Server Management Studio)管理工具&#160; </li>
<li>步驟01. 執行SSMS管理工具，在「物件總管」，展開「資料庫」，點選指定的資料庫，滑鼠右鍵，選取：「屬性」。&#160; </li>
<li>步驟02. 在「資料庫屬性」視窗，輸入以下的選項：&#160; </li>
<li>在左邊「選取頁面」窗格，點選「選項」。&#160; </li>
<li>在右邊窗格，在「其他選項」區域，在「自動」區域下，在「自動關閉」方塊部分，下拉選取「True」。&#160; </li>
<li>步驟03. 點選「關閉」，完成設定。&#160; </li>
<li></li>
<li>任務3：測試資料庫選項：AUTO_CLOSE&#160; </li>
<li>步驟01. 執行以下範例程式碼數次後：&#160; </li>
<li>USE DB01&#160; </li>
<li>GO&#160; </li>
<li>USE master&#160; </li>
<li>GO&#160; </li>
<li>USE DB01&#160; </li>
<li>GO&#160; </li>
<li>USE tempdb&#160; </li>
<li>GO&#160; </li>
<li>USE DB01&#160; </li>
<li>GO&#160; </li>
<li>USE master&#160; </li>
<li>GO&#160; </li>
<li></li>
<li>任務4. 檢視「SQL Server 記錄檔」&#160; </li>
<li>步驟01. 執行SSMS管理工具，在「物件總管」，展開「管理」＼「SQL Server 記錄檔」。&#160; </li>
<li>步驟02. 滑鼠雙擊，開啟最新的記錄檔。&#160; </li>
<li>步驟03. 在「記錄檔檢視器」，可以看到有數筆啟動此資料庫的訊息：&#160; </li>
<li>Starting up database &#8216;DB01&#8242;.&#160; </li>
</ol>
<p>請參考圖2所示：   <br /><img alt="" src="http://3.bp.blogspot.com/_YF2-PvwqBh4/SZqUi1VbHYI/AAAAAAAABvo/d1i2lQ57Kus/s400/%E5%9C%962%EF%BC%9A%E8%A8%8A%E6%81%AF%EF%BC%9A%E5%95%9F%E5%8B%95%E8%B3%87%E6%96%99%E5%BA%ABStarting+up+database.png" border="0" />    <br />圖2：訊息：啟動資料庫Starting up database</p>
<p><a href="http://sharedderrick.blogspot.com/#">view plain</a><a href="http://sharedderrick.blogspot.com/#">copy to clipboard</a><a href="http://sharedderrick.blogspot.com/#">print</a><a href="http://sharedderrick.blogspot.com/#">?</a></p>
<ol>
<li>任務5. 直接複製此資料庫的資料檔案&#160; </li>
<li>步驟01. 使用檔案總管，在 C: 碟根目錄下，建立資料夾 C:\ArchiveDB。&#160; </li>
<li>步驟02. 使用檔案總管，在 C: 碟根目錄下，選取此資料庫的檔案：DB01.mdf 與 DB01_log.ldf。&#160; </li>
<li>步驟03. 複製此兩個檔案到 C:\ArchiveDB&#160; 資料夾內。&#160; </li>
<li></li>
<li>由上，將資料庫選項：AUTO_CLOSE設定為：ON，在確認關閉後，就可以執行複製檔案。也類似於將此資料庫設定為「離線(OFFLINE)」。&#160; </li>
<li></li>
<li>提醒您：&#160; </li>
<li>若資料庫選項：AUTO_CLOSE是設定為OFF(false)時，資料庫引擎將鎖定資料庫檔案，也無法複製或是刪除。&#160; </li>
</ol>
<p>請參考圖3所示：   <br /><img alt="" src="http://3.bp.blogspot.com/_YF2-PvwqBh4/SZqUobSZAvI/AAAAAAAABvw/nEQ4pHLiajU/s400/%E5%9C%963%EF%BC%9A%E6%AA%94%E6%A1%88%E5%B7%B2%E7%B6%93%E9%96%8B%E5%95%9F%EF%BC%8C%E7%84%A1%E6%B3%95%E8%A4%87%E8%A3%BD%E6%88%96%E6%98%AF%E5%88%AA%E9%99%A4.png" border="0" />    <br />圖3：檔案已經開啟，無法複製或是刪除</p>
]]></content:encoded>
			<wfw:commentRss>http://blog.infinity.idv.tw/index.php/2009/12/21/sql-serverauto-close%e8%87%aa%e5%8b%95%e9%97%9c%e9%96%89-sql%e6%95%88%e8%83%bd/feed/</wfw:commentRss>
		<slash:comments>0</slash:comments>
		</item>
		<item>
		<title>SQL Profiler</title>
		<link>http://blog.infinity.idv.tw/index.php/2009/12/21/sql-profiler/</link>
		<comments>http://blog.infinity.idv.tw/index.php/2009/12/21/sql-profiler/#comments</comments>
		<pubDate>Mon, 21 Dec 2009 03:02:54 +0000</pubDate>
		<dc:creator>Roger Lin</dc:creator>
				<category><![CDATA[SQL資料庫]]></category>
		<category><![CDATA[SQL Profiler]]></category>
		<category><![CDATA[偵錯工具]]></category>

		<guid isPermaLink="false">http://blog.infinity.idv.tw/index.php/2009/12/21/sql-profiler/</guid>
		<description><![CDATA[<p>SQL查詢問題點時的好工作。</p>
<p>文章出處：   http://www.dotblogs.com.tw/jimmyyu/archive/2009/05/03/8280.aspx</p>
<p>====================================================================================</p>
<p>這個工具可以在SQL Server的效能工具中找到，</p>
<p></p>
<p>點選左上角的新增查詢，</p>
<p></p>
<p>輸入帳號密碼後會出現如下畫面，一般的追蹤我會先切換到[事件選取範圍]頁籤，</p>
<p></p>
<p>把event都反勾選，只留下RPC Completed跟SQL BatchCompleted兩個，只截取實際執行的SQL指令內容，</p>
<p></p>
<p>接著在SQL Profiler中我們就可以看到所有執行的SQL指令了，不管是正確的SQL或者錯誤的SQL都會被記錄，包含執行的SQL語法、所花費的時間、登入代號&#8230;.</p>
<p></p>
<p>當我們有以下問題時：</p>
<p>1.懷疑有其他系統在存取我們資料庫時，可透過這個工具來檢查是否有異常的SQL指令被執行</p>
<p>2.無法判斷是程式問題還是SQL指令問題時，SQL指令有執行，但程式沒有反應，則可能是SQL的問題，但也可能是SQL指令的問題，可透過此工具逐步追蹤</p>
<p>3.系統效能不彰時，協助找出是否某一句SQL寫的不好所導致</p>
<p>4.客戶端除錯時，我們沒有辦法在客戶的Server上安裝VS來debug，這個工具可以提供部分資訊給我們</p>
<p>&#8230;..很多時候這個工具都可以幫我們解決到很多問題，所以絕對要會使用這個好用的工具才行。</p>
]]></description>
			<content:encoded><![CDATA[<p>SQL查詢問題點時的好工作。</p>
<p>文章出處：   <br /><a href="http://www.dotblogs.com.tw/jimmyyu/archive/2009/05/03/8280.aspx">http://www.dotblogs.com.tw/jimmyyu/archive/2009/05/03/8280.aspx</a></p>
<p>====================================================================================</p>
<p>這個工具可以在SQL Server的效能工具中找到，</p>
<p><a href="http://files.dotblogs.com.tw/jimmyyu/0905/OtherSQLServer_15133/image_10.png"><img title="image" height="115" alt="image" src="http://files.dotblogs.com.tw/jimmyyu/0905/OtherSQLServer_15133/image_thumb_4.png" width="472" border="0" /></a></p>
<p>點選左上角的新增查詢，</p>
<p><a href="http://files.dotblogs.com.tw/jimmyyu/0905/OtherSQLServer_15133/image_12.png"><img title="image" height="426" alt="image" src="http://files.dotblogs.com.tw/jimmyyu/0905/OtherSQLServer_15133/image_thumb_5.png" width="614" border="0" /></a></p>
<p>輸入帳號密碼後會出現如下畫面，一般的追蹤我會先切換到<strong>[事件選取範圍]</strong>頁籤，</p>
<p><a href="http://files.dotblogs.com.tw/jimmyyu/0905/OtherSQLServer_15133/image_14.png"><img title="image" height="292" alt="image" src="http://files.dotblogs.com.tw/jimmyyu/0905/OtherSQLServer_15133/image_thumb_6.png" width="487" border="0" /></a></p>
<p>把event都反勾選，只留下RPC Completed跟SQL BatchCompleted兩個，只截取實際執行的SQL指令內容，</p>
<p><a href="http://files.dotblogs.com.tw/jimmyyu/0905/OtherSQLServer_15133/image_16.png"><img title="image" height="292" alt="image" src="http://files.dotblogs.com.tw/jimmyyu/0905/OtherSQLServer_15133/image_thumb_7.png" width="489" border="0" /></a></p>
<p>接著在SQL Profiler中我們就可以看到所有執行的SQL指令了，不管是正確的SQL或者錯誤的SQL都會被記錄，包含執行的SQL語法、所花費的時間、登入代號&#8230;.</p>
<p><a href="http://files.dotblogs.com.tw/jimmyyu/0905/OtherSQLServer_15133/image_18.png"><img title="image" height="408" alt="image" src="http://files.dotblogs.com.tw/jimmyyu/0905/OtherSQLServer_15133/image_thumb_8.png" width="589" border="0" /></a></p>
<p>當我們有以下問題時：</p>
<p>1.懷疑有其他系統在存取我們資料庫時，可透過這個工具來檢查是否有異常的SQL指令被執行</p>
<p>2.無法判斷是程式問題還是SQL指令問題時，SQL指令有執行，但程式沒有反應，則可能是SQL的問題，但也可能是SQL指令的問題，可透過此工具逐步追蹤</p>
<p>3.系統效能不彰時，協助找出是否某一句SQL寫的不好所導致</p>
<p>4.客戶端除錯時，我們沒有辦法在客戶的Server上安裝VS來debug，這個工具可以提供部分資訊給我們</p>
<p>&#8230;..很多時候這個工具都可以幫我們解決到很多問題，所以絕對要會使用這個好用的工具才行。</p>
]]></content:encoded>
			<wfw:commentRss>http://blog.infinity.idv.tw/index.php/2009/12/21/sql-profiler/feed/</wfw:commentRss>
		<slash:comments>0</slash:comments>
		</item>
		<item>
		<title>MySQL日期函數應用</title>
		<link>http://blog.infinity.idv.tw/index.php/2009/12/16/mysql%e6%97%a5%e6%9c%9f%e5%87%bd%e6%95%b8%e6%87%89%e7%94%a8/</link>
		<comments>http://blog.infinity.idv.tw/index.php/2009/12/16/mysql%e6%97%a5%e6%9c%9f%e5%87%bd%e6%95%b8%e6%87%89%e7%94%a8/#comments</comments>
		<pubDate>Wed, 16 Dec 2009 07:10:02 +0000</pubDate>
		<dc:creator>Roger Lin</dc:creator>
				<category><![CDATA[SQL資料庫]]></category>
		<category><![CDATA[date]]></category>
		<category><![CDATA[mysql]]></category>
		<category><![CDATA[日期]]></category>

		<guid isPermaLink="false">http://blog.infinity.idv.tw/index.php/2009/12/16/mysql%e6%97%a5%e6%9c%9f%e5%87%bd%e6%95%b8%e6%87%89%e7%94%a8/</guid>
		<description><![CDATA[<p>查詢現在日期</p>
<p>mysql&#62; select now();    +&#8212;&#8212;&#8212;&#8212;&#8212;&#8212;&#8212;+     &#124; now()&#160;&#160;&#160;&#160;&#160;&#160;&#160;&#160;&#160;&#160;&#160;&#160;&#160;&#160;&#160;&#160; &#124;     +&#8212;&#8212;&#8212;&#8212;&#8212;&#8212;&#8212;+     &#124; 2009-12-16 14:56:18 &#124;     +&#8212;&#8212;&#8212;&#8212;&#8212;&#8212;&#8212;+     1 row in set (0.00 sec)</p>
<p>&#160;</p>
<p>結果只秀年月日 yyyy-mm-dd</p>
<p>mysql&#62; select curdate();    +&#8212;&#8212;&#8212;&#8212;+     &#124; curdate()&#160; [...]]]></description>
			<content:encoded><![CDATA[<p>查詢現在日期</p>
<p>mysql&gt; select now();    <br />+&#8212;&#8212;&#8212;&#8212;&#8212;&#8212;&#8212;+     <br />| now()&#160;&#160;&#160;&#160;&#160;&#160;&#160;&#160;&#160;&#160;&#160;&#160;&#160;&#160;&#160;&#160; |     <br />+&#8212;&#8212;&#8212;&#8212;&#8212;&#8212;&#8212;+     <br />| 2009-12-16 14:56:18 |     <br />+&#8212;&#8212;&#8212;&#8212;&#8212;&#8212;&#8212;+     <br />1 row in set (0.00 sec)</p>
<p>&#160;</p>
<p>結果只秀年月日 yyyy-mm-dd</p>
<p>mysql&gt; select curdate();    <br />+&#8212;&#8212;&#8212;&#8212;+     <br />| curdate()&#160; |     <br />+&#8212;&#8212;&#8212;&#8212;+     <br />| 2009-12-16 |     <br />+&#8212;&#8212;&#8212;&#8212;+     <br />1 row in set (0.00 sec)</p>
<p>&#160;</p>
<p>select * from db</p>
<p>where date = curdate();</p>
<p>這邊就要看date的儲存格式決定用那種時間格式的函數。</p>
<p>&#160;</p>
<p>SQL 查詢語法日期加減法</p>
<p>加一天    <br />DATE_ADD(日期, INTERVAL 1 DAY);     <br />減一天     <br />DATE_SUB(日期, INTERVAL 1 DAY);     <br />加一月     <br />DATE_ADD(日期, INTERVAL 1 MONTH)     <br />減一月     <br />DATE_SUB(日期, INTERVAL 1 MONTH) </p>
<p>範例    <br />1. select from test where testday between DATE_SUB(2004-01-01 000000, INTERVAL 1 MONTH) and DATE_SUB(2004-01-01 235959, INTERVAL 1 DAY);</p>
<p>&#160;</p>
<p>2.</p>
<p>mysql&gt; select DATE_ADD(curdate(), INTERVAL 1 DAY) as date;    <br />+&#8212;&#8212;&#8212;&#8212;+     <br />| date&#160;&#160;&#160;&#160;&#160;&#160; |     <br />+&#8212;&#8212;&#8212;&#8212;+     <br />| 2009-12-17 |     <br />+&#8212;&#8212;&#8212;&#8212;+     <br />1 row in set (0.00 sec)</p>
<p>&#160;</p>
<p>3.取年</p>
<p>mysql&gt; select year(now())   <br />&#160;&#160;&#160; -&gt; ;    <br />+&#8212;&#8212;&#8212;&#8212;-+    <br />| year(now()) |    <br />+&#8212;&#8212;&#8212;&#8212;-+    <br />|&#160;&#160;&#160;&#160;&#160;&#160;&#160; 2009 |    <br />+&#8212;&#8212;&#8212;&#8212;-+    <br />1 row in set (0.00 sec) </p>
<p>&#160;</p>
<p>4.取月</p>
<p>mysql&gt; select day(now());   <br />+&#8212;&#8212;&#8212;&#8212;+    <br />| day(now()) |    <br />+&#8212;&#8212;&#8212;&#8212;+    <br />|&#160;&#160;&#160;&#160;&#160;&#160;&#160;&#160; 16 |    <br />+&#8212;&#8212;&#8212;&#8212;+    <br />1 row in set (0.01 sec) </p>
<p>&#160;</p>
<p>5.取日</p>
<p>mysql&gt; select month(now());   <br />+&#8212;&#8212;&#8212;&#8212;&#8211;+    <br />| month(now()) |    <br />+&#8212;&#8212;&#8212;&#8212;&#8211;+    <br />|&#160;&#160;&#160;&#160;&#160;&#160;&#160;&#160;&#160;&#160; 12 |    <br />+&#8212;&#8212;&#8212;&#8212;&#8211;+    <br />1 row in set (0.00 sec)</p>
<p>&#160;</p>
<p>還有其他時間單位的表示方式：</p>
<p>SECOND ss    <br />MINUTE mm     <br />HOUR hh     <br />DAY DD     <br />MONTH MM     <br />YEAR YY     <br />MINUTE_SECOND mm:ss     <br />HOUR_MINUTE hh:mm     <br />DAY_HOUR DD:hh     <br />YEAR_MONTH YYYY-MM     <br />HOUR_SECOND hh:ss     <br />DAY_MINUTE DD hh:mm     <br />DAY_SECOND DD hh:mm:ss </p>
<p>用法：    <br />DATE_ADD(&#8217;2007-08-06 12:12:12&#8242;, INTERVAL &#8216;10:01&#8242; HOUR_SECOND);</p>
]]></content:encoded>
			<wfw:commentRss>http://blog.infinity.idv.tw/index.php/2009/12/16/mysql%e6%97%a5%e6%9c%9f%e5%87%bd%e6%95%b8%e6%87%89%e7%94%a8/feed/</wfw:commentRss>
		<slash:comments>0</slash:comments>
		</item>
		<item>
		<title>交易記錄檔已滿、爆掉；截斷交易記錄檔。（The transaction log for database &#8216;DB1&#8242; is full. ；Transaction Log Truncation）</title>
		<link>http://blog.infinity.idv.tw/index.php/2009/11/03/%e4%ba%a4%e6%98%93%e8%a8%98%e9%8c%84%e6%aa%94%e5%b7%b2%e6%bb%bf%e3%80%81%e7%88%86%e6%8e%89%ef%bc%9b%e6%88%aa%e6%96%b7%e4%ba%a4%e6%98%93%e8%a8%98%e9%8c%84%e6%aa%94%e3%80%82%ef%bc%88the-transaction-log/</link>
		<comments>http://blog.infinity.idv.tw/index.php/2009/11/03/%e4%ba%a4%e6%98%93%e8%a8%98%e9%8c%84%e6%aa%94%e5%b7%b2%e6%bb%bf%e3%80%81%e7%88%86%e6%8e%89%ef%bc%9b%e6%88%aa%e6%96%b7%e4%ba%a4%e6%98%93%e8%a8%98%e9%8c%84%e6%aa%94%e3%80%82%ef%bc%88the-transaction-log/#comments</comments>
		<pubDate>Tue, 03 Nov 2009 07:24:43 +0000</pubDate>
		<dc:creator>Roger Lin</dc:creator>
				<category><![CDATA[SQL資料庫]]></category>
		<category><![CDATA[SQL]]></category>
		<category><![CDATA[交易紀錄檔]]></category>
		<category><![CDATA[備份]]></category>
		<category><![CDATA[截斷]]></category>
		<category><![CDATA[清除]]></category>
		<category><![CDATA[爆掉]]></category>

		<guid isPermaLink="false">http://blog.infinity.idv.tw/index.php/2009/11/03/%e4%ba%a4%e6%98%93%e8%a8%98%e9%8c%84%e6%aa%94%e5%b7%b2%e6%bb%bf%e3%80%81%e7%88%86%e6%8e%89%ef%bc%9b%e6%88%aa%e6%96%b7%e4%ba%a4%e6%98%93%e8%a8%98%e9%8c%84%e6%aa%94%e3%80%82%ef%bc%88the-transaction-log/</guid>
		<description><![CDATA[<p>最近在看SQL備份的方式，找到了這篇文章，怕有些文章會消失，固完整轉貼保存，並標明出處：   http://sharedderrick.blogspot.com/2009/03/transaction-log-for-database-is-full.html</p>
<p>&#160;</p>
<p>交易記錄檔已滿、爆掉；截斷交易記錄檔。（The transaction log for database &#8216;DB1&#8242; is full. ；Transaction Log Truncation）</p>
<p>本文僅討論當發生交易記錄檔已滿、爆掉時的災難處理方式，並未討論如何避免發生交易記錄檔已滿的作法，請參考「管理交易記錄」等相關主題。   http://technet.microsoft.com/zh-tw/library/ms345382.aspx    如何避免 SQL Server 資料庫的交易記錄檔超出預期大小    http://support.microsoft.com/kb/873235/zh-tw</p>
<p>若資料庫因故造成交易記錄檔已滿、爆掉，將導致無法執行新增、刪除等作業。 </p>
<p>遇到的錯誤訊息：</p>
<p>view plaincopy to clipboardprint?</p>

訊息 9002，層級 17，狀態 2，行 2&#160; 
資料庫 &#8216;db1&#8242; 的交易記錄已滿。如果要了解為何無法重複使用記錄中的空間，請參閱 sys.databases 中的 log_reuse_wait_desc 資料行。&#160; 

Msg 9002, Level 17, State 2, Line 2&#160; 
The transaction log for [...]]]></description>
			<content:encoded><![CDATA[<p>最近在看SQL備份的方式，找到了這篇文章，怕有些文章會消失，固完整轉貼保存，並標明出處：   <br /><a title="http://sharedderrick.blogspot.com/2009/03/transaction-log-for-database-is-full.html" href="http://sharedderrick.blogspot.com/2009/03/transaction-log-for-database-is-full.html">http://sharedderrick.blogspot.com/2009/03/transaction-log-for-database-is-full.html</a></p>
<p>&#160;</p>
<p><a href="http://sharedderrick.blogspot.com/2009/03/transaction-log-for-database-is-full.html">交易記錄檔已滿、爆掉；截斷交易記錄檔。（The transaction log for database &#8216;DB1&#8242; is full. ；Transaction Log Truncation）</a></p>
<p>本文僅討論當發生交易記錄檔已滿、爆掉時的災難處理方式，並未討論如何避免發生交易記錄檔已滿的作法，請參考「管理交易記錄」等相關主題。   <br /><a href="http://technet.microsoft.com/zh-tw/library/ms345382.aspx">http://technet.microsoft.com/zh-tw/library/ms345382.aspx</a>    <br />如何避免 SQL Server 資料庫的交易記錄檔超出預期大小    <br /><a href="http://support.microsoft.com/kb/873235/zh-tw">http://support.microsoft.com/kb/873235/zh-tw</a></p>
<p>若資料庫因故造成交易記錄檔已滿、爆掉，將導致無法執行新增、刪除等作業。 </p>
<p>遇到的錯誤訊息：</p>
<p><a href="http://sharedderrick.blogspot.com/2009/03/transaction-log-for-database-is-full.html#">view plain</a><a href="http://sharedderrick.blogspot.com/2009/03/transaction-log-for-database-is-full.html#">copy to clipboard</a><a href="http://sharedderrick.blogspot.com/2009/03/transaction-log-for-database-is-full.html#">print</a><a href="http://sharedderrick.blogspot.com/2009/03/transaction-log-for-database-is-full.html#">?</a></p>
<ol>
<li>訊息 9002，層級 17，狀態 2，行 2&#160; </li>
<li>資料庫 &#8216;db1&#8242; 的交易記錄已滿。如果要了解為何無法重複使用記錄中的空間，請參閱 sys.databases 中的 log_reuse_wait_desc 資料行。&#160; </li>
<li></li>
<li>Msg 9002, Level 17, State 2, Line 2&#160; </li>
<li>The transaction log for database &#8216;DB1&#8242; is full. To find out why space in the log cannot be reused, see the log_reuse_wait_desc column in sys.databases&#160; </li>
</ol>
<pre>訊息 9002，層級 17，狀態 2，行 2資料庫 'db1' 的交易記錄已滿。如果要了解為何無法重複使用記錄中的空間，請參閱 sys.databases 中的 log_reuse_wait_desc 資料行。

Msg 9002, Level 17, State 2, Line 2The transaction log for database 'DB1' is full. To find out why space in the log cannot be reused, see the log_reuse_wait_desc column in sys.databases</pre>
<p>請參考下圖所示：</p>
<p><a href="http://lh4.ggpht.com/_YF2-PvwqBh4/ScW2PuO4CTI/AAAAAAAAB0E/6Um2J9Hxsks/s1600-h/Image.png"><img title="01_在查詢編輯器遇到的錯誤，Error9002" height="171" alt="01_在查詢編輯器遇到的錯誤，Error9002" src="http://lh4.ggpht.com/_YF2-PvwqBh4/ScW2RMJSyUI/AAAAAAAAB0I/mxPxHLIOpmk/Image.png?imgmax=800" width="717" border="0" /></a></p>
<p><a href="http://4.bp.blogspot.com/_YF2-PvwqBh4/ScXLfkmimAI/AAAAAAAAB0k/1-OSCGNejgI/s1600-h/02_%E4%BA%8B%E4%BB%B6%E6%AA%A2%E8%A6%96%E5%99%A8%E7%9A%84%E9%8C%AF%E8%AA%A4%E8%A8%8A%E6%81%AF%EF%BC%8C%E4%BA%A4%E6%98%93%E8%A8%98%E9%8C%84%E5%B7%B2%E6%BB%BF.png"><img alt="" src="http://4.bp.blogspot.com/_YF2-PvwqBh4/ScXLfkmimAI/AAAAAAAAB0k/1-OSCGNejgI/s400/02_%E4%BA%8B%E4%BB%B6%E6%AA%A2%E8%A6%96%E5%99%A8%E7%9A%84%E9%8C%AF%E8%AA%A4%E8%A8%8A%E6%81%AF%EF%BC%8C%E4%BA%A4%E6%98%93%E8%A8%98%E9%8C%84%E5%B7%B2%E6%BB%BF.png" border="0" /></a></p>
<p><a href="http://3.bp.blogspot.com/_YF2-PvwqBh4/ScXO3SISt1I/AAAAAAAAB00/VDz84cfbIQ0/s1600-h/03_SQLServer%E9%8C%AF%E8%AA%A4%E8%A8%98%E9%8C%84%E6%AA%94%EF%BC%8C%E4%BA%A4%E6%98%93%E8%A8%98%E9%8C%84%E5%B7%B2%E6%BB%BF.png"><img alt="" src="http://3.bp.blogspot.com/_YF2-PvwqBh4/ScXO3SISt1I/AAAAAAAAB00/VDz84cfbIQ0/s400/03_SQLServer%E9%8C%AF%E8%AA%A4%E8%A8%98%E9%8C%84%E6%AA%94%EF%BC%8C%E4%BA%A4%E6%98%93%E8%A8%98%E9%8C%84%E5%B7%B2%E6%BB%BF.png" border="0" /></a></p>
<hr />
<p>若使用的版本是 SQL Server <strong>2000、2005、2008</strong>：</p>
<p>可以使用 SSMS 圖型介面管理工具，直接截斷、清空交易記錄檔的內容。流程如下：</p>
<p>將資料庫切換為「簡單復原模式」，便會自動截斷、清空交易記錄。</p>
<p>若決定要備份交易記錄檔(*.ldf)，請再切換回「完整復原模式」。</p>
<p>步驟如下：<br />
  <br />步驟01. 執行SSMS，在「物件總管」，展開「資料庫」，選擇指定的資料庫，滑鼠右鍵，選擇：「屬性」。</p>
<p>步驟02. 在「資料庫屬性」視窗，在左邊「選取頁面」頁籤，點選：「選項」 。</p>
<p>步驟03. 在右邊的「復原模式」方塊，將原來設定的「完整」，改選取為：「簡單」。 請參考下圖所示：</p>
<p><a href="http://lh3.ggpht.com/_YF2-PvwqBh4/ScW2lBpx9zI/AAAAAAAAB0c/x6t_aJMC9OQ/s1600-h/Image.png"><img title="04_切換為「簡單復原模式」" height="784" alt="04_切換為「簡單復原模式」" src="http://lh3.ggpht.com/_YF2-PvwqBh4/ScW2n8DKMUI/AAAAAAAAB0g/KA8Qsn89HWA/Image.png?imgmax=800" width="708" border="0" /></a></p>
<p>步驟04. 點選「確定」，完成動截斷、清空交易記錄。<br />
  <br />步驟05. 重複執行步驟01~04，但將此資料庫調整為「完整復原模式」。</p>
<p>或是利用以下的 Transact-SQL 陳述式：</p>
<p><a href="http://sharedderrick.blogspot.com/2009/03/transaction-log-for-database-is-full.html#">view plain</a><a href="http://sharedderrick.blogspot.com/2009/03/transaction-log-for-database-is-full.html#">copy to clipboard</a><a href="http://sharedderrick.blogspot.com/2009/03/transaction-log-for-database-is-full.html#">print</a><a href="http://sharedderrick.blogspot.com/2009/03/transaction-log-for-database-is-full.html#">?</a></p>
<ol>
<li>/*&#160; </li>
<li>當資料庫使用簡單復原模式時，便會自動截斷交易記錄。&#160; </li>
<li>如果您必須從資料庫中移除記錄備份鏈結，請切換到簡單復原模式。&#160; </li>
<li>*/&#160; </li>
<li>&#8211;01 將資料庫 Northwind 切換為「簡單復原模式」，便會自動截斷交易記錄。</li>
<li>ALTER DATABASE Northwind&#160; </li>
<li>SET RECOVERY SIMPLE&#160; </li>
<li>GO&#160; </li>
<li></li>
<li>&#8211;02 若決定要備份交易記錄檔(*.ldf)，再將資料庫 Northwind 切換回「完整復原模式」</li>
<li>ALTER DATABASE Northwind&#160; </li>
<li>SET RECOVERY FULL</li>
<li>GO&#160; </li>
</ol>
<pre>/*當資料庫使用簡單復原模式時，便會自動截斷交易記錄。如果您必須從資料庫中移除記錄備份鏈結，請切換到簡單復原模式。*/--01 將資料庫 Northwind 切換為「簡單復原模式」，便會自動截斷交易記錄。ALTER DATABASE NorthwindSET RECOVERY SIMPLEGO

--02 若決定要備份交易記錄檔(*.ldf)，再將資料庫 Northwind 切換回「完整復原模式」ALTER DATABASE NorthwindSET RECOVERY FULLGO</pre>
<hr />
<p>造成無法截斷的原因可能很多，例如：仍有交易在執行中等。所以若您發覺無法截斷交易記錄檔，請再度執行上述的動作或是Transact-SQL 陳述式，或許就可以截斷交易記錄檔。 </p>
<p>若執行數次後都無法截斷交易記錄，建議您可以查詢系統檢視 sys.databases 中的 log_reuse_wait_desc 資料行的描述說明，找出為何無法截斷的可能因素。</p>
<hr />
<p>若使用的版本是 SQL Server <strong>2000、2005</strong>，可以任選以下Transact-SQL 陳述式，來截斷、清空交易記錄檔的內容，但是 SQL Server 2008 已經不再支援以下的寫法：</p>
<p><a href="http://sharedderrick.blogspot.com/2009/03/transaction-log-for-database-is-full.html#">view plain</a><a href="http://sharedderrick.blogspot.com/2009/03/transaction-log-for-database-is-full.html#">copy to clipboard</a><a href="http://sharedderrick.blogspot.com/2009/03/transaction-log-for-database-is-full.html#">print</a><a href="http://sharedderrick.blogspot.com/2009/03/transaction-log-for-database-is-full.html#">?</a></p>
<ol>
<li>&#8211;01 使用 BACKUP LOG &#8230; WITH NO_LOG</li>
<li>BACKUP LOG Northwind&#160; </li>
<li>WITH NO_LOG&#160; </li>
<li>GO&#160; </li>
<li></li>
<li>&#8211;02 或是，使用 BACKUP LOG &#8230; WITH TRUNCATE_ONLY</li>
<li>BACKUP LOG Northwind&#160; </li>
<li>WITH TRUNCATE_ONLY&#160; </li>
<li>GO&#160; </li>
</ol>
<pre>--01 使用 BACKUP LOG ... WITH NO_LOGBACKUP LOG NorthwindWITH NO_LOGGO

--02 或是，使用 BACKUP LOG ... WITH TRUNCATE_ONLYBACKUP LOG NorthwindWITH TRUNCATE_ONLYGO</pre>
<p>BACKUP LOG 陳述式的 NO_LOG 和 TRUNCATE_ONLY 選項會中斷記錄鏈，<br />
  <br />因為它們會在沒有建立備份副本情況下，移除記錄的非使用中部分。</p>
<p>在下次進行完整或差異資料庫備份之前，無法保護資料庫免於媒體失敗。 </p>
<p>下一版的 Microsoft SQL Server 將不再提供此功能。<br />
  <br />請勿在新的開發工作中使用此功能，並且儘速修改使用此功能的應用程式。</p>
<p>以下是使用 BACKUP LOG &#8230; WITH NO_LOG 或 BACKUP LOG &#8230; WITH TRUNCATE_ONLY 在 SQL Server 2008 上執行所產生的錯誤訊息：</p>
<p><a href="http://sharedderrick.blogspot.com/2009/03/transaction-log-for-database-is-full.html#">view plain</a><a href="http://sharedderrick.blogspot.com/2009/03/transaction-log-for-database-is-full.html#">copy to clipboard</a><a href="http://sharedderrick.blogspot.com/2009/03/transaction-log-for-database-is-full.html#">print</a><a href="http://sharedderrick.blogspot.com/2009/03/transaction-log-for-database-is-full.html#">?</a></p>
<ol>
<li>&#8211;01 在SQL Server 2008上，使用 BACKUP LOG &#8230; WITH NO_LOG，遇到的錯誤訊息：</li>
<li>BACKUP LOG Northwind&#160; </li>
<li>WITH NO_LOG&#160; </li>
<li>/*&#160; </li>
<li>訊息 3032，層級 16，狀態 2，行 1&#160; </li>
<li>這個陳述式不支援一或多個選項 (no_log)。請查閱文件集，了解支援的選項。&#160; </li>
<li>*/&#160; </li>
<li></li>
<li>&#8211;01 在SQL Server 2008上，使用 BACKUP LOG &#8230; WITH TRUNCATE_ONLY，遇到的錯誤訊息：</li>
<li>BACKUP LOG Northwind&#160; </li>
<li>WITH TRUNCATE_ONLY&#160; </li>
<li>GO&#160; </li>
<li></li>
<li>/*&#160; </li>
<li>訊息 155，層級 15，狀態 1，行 3&#160; </li>
<li>&#8216;TRUNCATE_ONLY&#8217; 不是可辨識的 BACKUP 選項。&#160; </li>
<li>*/&#160; </li>
</ol>
<pre>--01 在SQL Server 2008上，使用 BACKUP LOG ... WITH NO_LOG，遇到的錯誤訊息：BACKUP LOG NorthwindWITH NO_LOG/*訊息 3032，層級 16，狀態 2，行 1這個陳述式不支援一或多個選項 (no_log)。請查閱文件集，了解支援的選項。*/

--01 在SQL Server 2008上，使用 BACKUP LOG ... WITH TRUNCATE_ONLY，遇到的錯誤訊息：BACKUP LOG NorthwindWITH TRUNCATE_ONLYGO

/*訊息 155，層級 15，狀態 1，行 3'TRUNCATE_ONLY' 不是可辨識的 BACKUP 選項。*/</pre>
<p>參考資料：<br />
  <br />管理交易記錄</p>
<p><a href="http://technet.microsoft.com/zh-tw/library/ms345382.aspx">http://technet.microsoft.com/zh-tw/library/ms345382.aspx</a></p>
<p>SQL Server 2008 中已停止的 Database Engine 功能<br />
  <br /><a href="http://msdn.microsoft.com/zh-tw/library/ms144262.aspx">http://msdn.microsoft.com/zh-tw/library/ms144262.aspx</a></p>
<p>簡單復原模式下的備份<br />
  <br /><a href="http://technet.microsoft.com/zh-tw/library/ms191164.aspx">http://technet.microsoft.com/zh-tw/library/ms191164.aspx</a></p>
<p>交易記錄截斷<br />
  <br /><a href="http://technet.microsoft.com/zh-tw/library/ms189085.aspx">http://technet.microsoft.com/zh-tw/library/ms189085.aspx</a></p>
<p>如何避免 SQL Server 資料庫的交易記錄檔超出預期大小<br />
  <br /><a href="http://support.microsoft.com/kb/873235/zh-tw">http://support.microsoft.com/kb/873235/zh-tw</a></p>
<p>張貼者： Derrick Chen 位於 <a href="http://sharedderrick.blogspot.com/2009/03/transaction-log-for-database-is-full.html"><abbr>3/22/2009 11:55:00 上午</abbr></a> <a href="http://www.blogger.com/email-post.g?blogID=1420955872914622499&amp;postID=651058180798086098"></a><a href="http://www.blogger.com/post-edit.g?blogID=1420955872914622499&amp;postID=651058180798086098"><img height="18" alt="" src="http://www.blogger.com/img/icon18_edit_allbkg.gif" width="18" /> </a></p>
]]></content:encoded>
			<wfw:commentRss>http://blog.infinity.idv.tw/index.php/2009/11/03/%e4%ba%a4%e6%98%93%e8%a8%98%e9%8c%84%e6%aa%94%e5%b7%b2%e6%bb%bf%e3%80%81%e7%88%86%e6%8e%89%ef%bc%9b%e6%88%aa%e6%96%b7%e4%ba%a4%e6%98%93%e8%a8%98%e9%8c%84%e6%aa%94%e3%80%82%ef%bc%88the-transaction-log/feed/</wfw:commentRss>
		<slash:comments>0</slash:comments>
		</item>
	</channel>
</rss>

