搜尋本站文章

2008-12-25

加速啟動 SQL Server Business Intelligence Development Studio(BIDS);splash screen (-nosplash)


當我們在執行 SQL Server Business Intelligence Development Studio(BIDS) 時,不知你是否覺得啟動 SQL Server Business Intelligence Development Studio(BIDS) 很慢呢?

而且若是透過:「遠端桌面連線」、「VNC」等等軟體來登入系統,應該是可以更明顯的感受到啟動 SQL Server Business Intelligence Development Studio(BIDS) 的速度真的很慢。

適用於環境:
SQL Server Business Intelligence Development Studio(BIDS)
Microsoft Visual Studio 2005
Microsoft Visual Studio 2008

其實,Business Intelligence Development Studio 是 Microsoft Visual Studio 2005/2008 環境,具有 SQL Server 2005/2008 商務智慧特定的其他專案類型。

請參考以下的方式來,加速啟動 SQL Server Business Intelligence Development Studio(BIDS)。
步驟01. 左下角的工具列上,按一下 「開始」。

步驟02. 依序指向 「所有程式」\「Microsoft SQL Server 2008」,選取「SQL Server Business Intelligence Development Studio」,滑鼠右鍵,選擇「內容」。

步驟03. 在「內容」視窗,點選「捷徑」頁面。

步驟04. 在「目標」方塊,在最後面,先按一個空白鍵,再加入「-nosplash」引數就可以,請參考下圖所示:




步驟05. 點選「套用」\「確定」。

步驟06. 執行 SQL Server Business Intelligence Development Studio(BIDS),你應該看不到開頭顯示畫面。


以下是被取消的開頭顯示畫面,請參考下圖所示:

Visual Studio 2005 開頭顯示畫面:

Visual Studio 2008 開頭顯示畫面:



參考文件:
Did you know… You can launch VS without the splash screen (/nosplash), and maybe even save some time. - #345
http://blogs.msdn.com/saraford/archive/2008/10/29/did-you-know-you-can-launch-vs-without-the-splash-screen-nosplash-and-maybe-even-save-some-time-345.aspx

延伸閱讀:
加速啟動 SQL Server Management Studio(SSMS)
http://sharedderrick.blogspot.com/2008/11/ssms.html

2008-12-22

下載 SQL Server 2005 Express SP3


安裝或是升級之前,請你先參考以下的文件:

SQL Server 2005 SP3 版本資訊
http://download.microsoft.com/download/9/B/8/9B849CAD-8966-4BAE-B6E8-0574D95C19DE/ReleaseNotesSQL2005SP3.htm

SQL Server 2005 SP3 包含之新功能和改善功能的清單:
SQL Server 2005 SP3 的新功能
http://msdn.microsoft.com/zh-tw/library/dd353312(SQL.90).aspx

在 SQL Server 2005 Service Pack 3 所修正錯誤的清單
http://support.microsoft.com/?kbid=955706



在你閱讀前述的文件完畢後,確認執行進行安裝或是升級作業,請參考以下的網址來下載相關檔案:




(1) SQL Server 2005 Express Edition Service Pack 3
http://www.microsoft.com/downloads/details.aspx?displaylang=zh-tw&FamilyID=3181842a-4090-4431-acdd-9a1c832e65a6



(2) SQL Server 2005 Express Edition with Advanced Services Service Pack 3
http://www.microsoft.com/downloads/details.aspx?displaylang=zh-tw&FamilyID=b448b0d0-ee79-48f6-b50a-7c4f028c2e3d

SQL Server Express with Advanced Services 包含 SQL Server 2005 Express Edition 的所有功能,而且您還可以:
1. 利用簡單好用的 SQL Server 2005 Management Studio Express (SSMSE) 圖形化管理工具,輕鬆管理 SQL Server Express。
2. 對 SQL Server 資料表中一般字元類型的資料發出全文檢索查詢。全文檢索查詢可以包含單字和片語,或者單字或片語的多種形式。
3. 執行有關本機關聯式資料的 SQL Server Reporting Services 報表。




(3) SQL Server Management Studio Express Service Pack 3
http://www.microsoft.com/downloads/details.aspx?FamilyID=5d76230d-580d-4874-8c7d-93491a29db15&DisplayLang=en

利用簡單好用的 SQL Server 2005 Management Studio Express (SSMSE) 圖形化管理工具,輕鬆管理 SQL Server Express。



(4) SQL Server 2005 Express Edition Toolkit Service Pack 3
http://www.microsoft.com/downloads/details.aspx?displaylang=zh-tw&FamilyID=d434dc36-a24d-44ee-937e-553c382557e3

SQL Server 2005 Express Edition Toolkit (SQL Server Express Toolkit) 包含下列兩個元件:
1. SQL Server 2005 Management Studio Express (SSMSE) - 利用這套免費又簡單好用的圖形化管理工具,輕鬆管理 SQL Server 2005 Express Edition 和 SQL Server 2005 Express Edition with Advanced Services 資料庫執行個體。
2. Business Intelligence Development Studio (BIDS) - 建立及編輯 SQL Server 2005 Reporting Services (SSRS) 的報表。BIDS 可用於建立與編輯 Reporting Services 專案,以提供有關本機 SQL Server Express 資料庫中本機關聯式資料的報表。

前者是圖形化管理工具,後者則是使用 SQL Server Reporting Services 之報表的建立與編輯環境。



建議:
若是在開發程式時,建議可以下載:SQL Server 2005 Express Edition with Advanced Services Service Pack 3 或 SQL Server Management Studio Express Service Pack 3 或 SQL Server 2005 Express Edition Toolkit Service Pack 3,這包含了圖形化管理工具與開發報表的工具。

若是在佈署程式到客戶端時,可以下載:SQL Server 2005 Express Edition Service Pack 3。

參考文件:
免費無料 SQL Server Express Edition, Royalty Free
http://sharedderrick.blogspot.com/2008/03/sql-server-expression-edition-royalty.html

2008-12-19

下載、安裝 SQL Server 2005 SP3(Service Pack 3)


升級之前,請你先參考以下的文件:

SQL Server 2005 SP3 版本資訊
http://download.microsoft.com/download/9/B/8/9B849CAD-8966-4BAE-B6E8-0574D95C19DE/ReleaseNotesSQL2005SP3.htm

SQL Server 2005 Notification Services 元件讀我檔案
http://download.microsoft.com/download/4/7/0/470B2CDA-1FD8-4997-A69F-7F8394B5D32D/ReadmeSQL2005SP3NotificationServices.htm

SQL Server 2005 SP3 包含之新功能和改善功能的清單:
SQL Server 2005 SP3 的新功能
http://msdn.microsoft.com/zh-tw/library/dd353312(SQL.90).aspx

在 SQL Server 2005 Service Pack 3 所修正錯誤的清單
http://support.microsoft.com/?kbid=955706




在你閱讀前述的文件完畢後,確認執行進行升級作業,請參考以下的網址來下載相關檔案:

(一) 升級 SQL Server Edition
適用 SQL Server 2005 版本:Enterprise、Enterprise Evaluation、Developer、Standard、Workgroup

下載檔案大小: 342.0 MB
下載網址:
http://www.microsoft.com/downloads/details.aspx?displaylang=zh-tw&FamilyID=ae7387c3-348c-4faa-8ae5-949fdfbe59c4



(二)升級 SQL Server 2005 Express Edition -- 免費又簡單好用的版本;免費下載、免費部署。

(2-1) SQL Server 2005 Express Edition Service Pack 3
http://www.microsoft.com/downloads/details.aspx?displaylang=zh-tw&FamilyID=3181842a-4090-4431-acdd-9a1c832e65a6

(2-2) SQL Server 2005 Express Edition with Advanced Services Service Pack 3
http://www.microsoft.com/downloads/details.aspx?displaylang=zh-tw&FamilyID=b448b0d0-ee79-48f6-b50a-7c4f028c2e3d

SQL Server Express with Advanced Services 包含 SQL Server 2005 Express Edition 的所有功能,而且您還可以:
1. 利用簡單好用的 SQL Server 2005 Management Studio Express (SSMSE) 圖形化管理工具,輕鬆管理 SQL Server Express。
2. 對 SQL Server 資料表中一般字元類型的資料發出全文檢索查詢。全文檢索查詢可以包含單字和片語,或者單字或片語的多種形式。
3. 執行有關本機關聯式資料的 SQL Server Reporting Services 報表。

(2-3) SQL Server Management Studio Express Service Pack 3
http://www.microsoft.com/downloads/details.aspx?FamilyID=5d76230d-580d-4874-8c7d-93491a29db15&DisplayLang=en

利用簡單好用的 SQL Server 2005 Management Studio Express (SSMSE) 圖形化管理工具,輕鬆管理 SQL Server Express。

(2-4) SQL Server 2005 Express Edition Toolkit Service Pack 3
http://www.microsoft.com/downloads/details.aspx?displaylang=zh-tw&FamilyID=d434dc36-a24d-44ee-937e-553c382557e3

SQL Server 2005 Express Edition Toolkit (SQL Server Express Toolkit) 包含下列兩個元件:
1. SQL Server 2005 Management Studio Express (SSMSE) - 利用這套免費又簡單好用的圖形化管理工具,輕鬆管理 SQL Server 2005 Express Edition 和 SQL Server 2005 Express Edition with Advanced Services 資料庫執行個體。
2. Business Intelligence Development Studio (BIDS) - 建立及編輯 SQL Server 2005 Reporting Services (SSRS) 的報表。BIDS 可用於建立與編輯 Reporting Services 專案,以提供有關本機 SQL Server Express 資料庫中本機關聯式資料的報表。

前者是圖形化管理工具,後者則是使用 SQL Server Reporting Services 之報表的建立與編輯環境。

建議:
若是在開發程式時,建議可以下載:SQL Server 2005 Express Edition with Advanced Services Service Pack 3 或 SQL Server Management Studio Express Service Pack 3 或 SQL Server 2005 Express Edition Toolkit Service Pack 3,這包含了圖形化管理工具與開發報表的工具。

若是在佈署程式到客戶端時,可以下載:SQL Server 2005 Express Edition Service Pack 3。




(三)SQL Server 2005 線上叢書 (2008 年 11 月)
http://www.microsoft.com/downloads/details.aspx?displaylang=zh-tw&FamilyID=be6a2c5d-00df-4220-b133-29c1e0b6585f

下載項目大小: 154.9 MB




(四)SQL Server 2005 Feature Pack - 2008 年 12 月
http://www.microsoft.com/downloads/details.aspx?displaylang=zh-tw&FamilyID=536fd7d5-013f-49bc-9fc7-77dede4bb075

2008-12-13

新手學SQL Server 2008「稽核(SQL Server Audit)」 (4) :技術文章


...
在先前文章中,我們示範使用圖形介面管理工具:SSMS,建立SQL Server Audit(伺服器稽核),精確地設計出,對指定的行為之稽核作業,例如:記錄使用者存取指定的資料表。

在本期文章中,將改以T-SQL 陳述式的方式來建立SQL Server Audit(伺服器稽核),並討論所記錄下的稽核資料,仍有可以再增補的部份。...

完整的文章,請參考:
第82期之三《新手學稽核SQL Server Audit (4)》





更多相關的技術文章,請參考:
DB World 資料庫專家電子雜誌
http://www.dbworld.com.tw/



參考資料:
新手學稽核SQL Server Audit (3):技術文章
http://sharedderrick.blogspot.com/2008/12/sql-server-audit-3.html

2008-12-12

SQL Server 登入帳戶的建立時間、修改時間;Login Account、create date、modify date


剛好有朋友在詢問:如何查詢帳戶是何時被建立、修改等等相關資訊。

或許可以利用安全性目錄檢視:sys.server_principals 來查詢取得所需要的資料。

適用版本:SQL Server 2005/2008。

範例如下:
USE master
GO

-- 檢視每一個伺服器層級的主體
SELECT * FROM sys.server_principals

-- 建立與修改登入帳戶:su01
CREATE LOGIN [su01]
WITH PASSWORD=N'P@ssw0rd', DEFAULT_DATABASE=[master], CHECK_EXPIRATION=OFF, CHECK_POLICY=ON
GO
-- 延遲 10 秒鐘
WAITFOR DELAY '00:00:10';
GO
ALTER LOGIN [su01] WITH PASSWORD=N'P@ssw0rd999'
GO

--
SELECT name N'主體',type_desc N'主體類型的描述', is_disabled N'1 = 登入已停用',create_date N'建立時間', modify_date N'修改時間'
,sid N'SID (安全性識別碼)'
FROM sys.server_principals
WHERE type IN('S','U','G')
ORDER BY 1

/* WHERE 條件式的說明:
S:SQL_LOGIN
U:WINDOWS_LOGIN
G:WINDOWS_GROUP
*/


請參考下圖所示:



參考資料:
sys.server_principals (Transact-SQL)
http://msdn.microsoft.com/zh-tw/library/ms188786.aspx

2008-12-11

SQL Server Express 與 「專用管理員連接(dedicated administrator connection,DAC)」



依據線上說明,SQL Server Express 版本是有支援「專用管理員連接(dedicated administrator connection,DAC)」,但是要搭配追蹤旗標 7806後才行使用。

這是為了節省資源,除非以追蹤旗標 7806 啟動,否則 SQL Server Express 不會接聽 DAC 通訊埠。

適用版本:SQL Server 2005/2008

以下是關於追蹤旗標 7806的說明:
追蹤旗標 7806:
在 SQL Server Express 上啟用專用管理員連接 (DAC)。依預設,SQL Server Express 上不會保留任何 DAC 資源。範圍:只限全域。
因為追蹤旗標 7806是全域的追蹤旗標,所以在 SQL Server 服務啟動選項上,需要利用 -T 7806 的方式來啟用 SQL Server。

若你需要在 SQL Server Express 2005/2008 上啟用「專用管理員連接(dedicated administrator connection,DAC)」時,請參考以下的步驟:

步驟01. 執行「SQL Server 組態管理員」。
步驟02. 在左邊窗格,點選「SQL Server 服務」。
步驟03. 在右邊窗格內,點選「SQL Server(SQLEXPRESS)」,滑鼠右鍵,選擇「內容」。
步驟04. 在「SQL Server(SQLEXPRESS)內容」視窗,點選「進階」頁面。

請參考下圖所示:



步驟05. 點選「啟動參數」方塊,再點選位於最右邊的下拉符號。
步驟06. 在下拉方塊中,最後一行最後一個字元處,輸入:「;-T 7806」。

請參考下圖所示:


步驟07. 點選「套用」,在「警告」視窗,點選「確定」,在「SQL Server(SQLEXPRESS)內容」視窗,點選「確定」。
步驟08. 啟動 SQL Server Express。
步驟09. 使用「專用管理員連接(dedicated administrator connection,DAC)」登入到 SQL Server Express。
例如,使用 sqlcmd,搭配特殊的系統管理員參數 (-A):
sqlcmd -S localhost\SQLEXPRESS -A
例如,使用「Database Engine 查詢」、「SSMS 查詢編輯器」,在執行個體前面輸入:「admin:」,連線格式為:「admin:」。

請參考下圖所示:


要提醒你的是:
每個 SQL Server 執行個體只能有一個 DAC。
若已有作用中的 DAC 連接存在,則所有透過 DAC 建立連接的新要求都會遭到拒絕,並產生錯誤 17810。

請參考下圖所示:



若你需要知道目前執行個體上,是否已經有「專用管理員連接(dedicated administrator connection,DAC)」的連線,請參考以下的範例:
SELECT session_id N'Session 編號',name N'endpoint 名稱', program_name N'應用程式',
protocol_desc N'通訊協定', host_name N'工作主機', login_name N'登入帳號'
FROM sys.endpoints as t1 INNER JOIN sys.dm_exec_sessions as t2
ON t1.endpoint_id = t2.endpoint_id
WHERE t1.is_admin_endpoint=1


請參考下圖所示:


在「SQL Server 錯誤記錄檔」內,你也可以檢視到「Dedicated admin connection support was established for listening locally on port XXXX」訊息,請參考:
...
2008-12-11 14:21:59.04 Server      Registry startup parameters:
-d C:\Program Files\Microsoft SQL Server\MSSQL10.SQLEXPRESS\MSSQL\DATA\master.mdf
-e C:\Program Files\Microsoft SQL Server\MSSQL10.SQLEXPRESS\MSSQL\Log\ERRORLOG
-l C:\Program Files\Microsoft SQL Server\MSSQL10.SQLEXPRESS\MSSQL\DATA\mastlog.ldf
-T  7806
2008-12-11 14:21:59.12 伺服器         SQL Server is starting at normal priority base (=7). This is an informational message only. No user action is required.
...
2008-12-11 14:22:02.74 伺服器         Dedicated admin connection support was established for listening locally on port 2031.
...


「SQL Server 錯誤記錄檔」是位於 Program Files\Microsoft SQL Server\MSSQL.n\MSSQL\LOG\ERRORLOG 和 ERRORLOG.n 檔案中。
例如:
C:\Program Files\Microsoft SQL Server\MSSQL10.SQLEXPRESS\MSSQL\Log\ERRORLOG

你可以用任何文字編輯器來檢視 SQL Server 錯誤記錄檔。

以下是有關於「專用管理員連接(dedicated administrator connection,DAC)」的說明:
SQL Server 為系統管理員提供了特殊的診斷連接,可在伺服器的標準連接失效時使用。
這個診斷連接可讓系統管理員存取 SQL Server 以執行診斷查詢和排解疑難問題,即使 SQL Server 未回應標準連接要求。


此專用管理員連接 (DAC) 支援加密以及 SQL Server 的其他安全性功能。 DAC 只允許將使用者內容變更為其他管理使用者。
SQL Server 將不斷嘗試以便讓 DAC 順利連接,但是在極端的情況下可能無法成功。


Microsoft SQL Server 會提供專用管理員連接 (DAC)。即使伺服器對其他用戶端連接沒有回應,系統管理員也可以使用 DAC 來存取 SQL Server Database Engine 的執行中執行個體,以針對伺服器上的問題進行疑難排解。

您可以透過 sqlcmd 公用程式與 SQL Server Management Studio 來存取 DAC。只允許在伺服器上執行之用戶端的連接。不允許網路連接。

若要使用 SQL Server Management Studio 搭配 DAC,請在伺服器名稱前面輸入 ADMIN:,使用 [查詢編輯器] 連接到 SQL Server Database Engine 的執行個體。[物件總管] 無法使用 DAC 來連接。

SQL Server 是以 Database Engine 啟動時動態指派的專用 TCP/IP 通訊埠來接聽 DAC。 錯誤記錄檔包含 DAC 接聽時所使用的通訊埠編號。 依預設,DAC 接聽程式只接受本機通訊埠上的連接。


一旦設定遠端管理連接之後,即會啟用 DAC 接聽程式而不需重新啟動 SQL Server,而且用戶端可以從遠端連接到 DAC。 您可以先在本機使用 DAC 連接到 SQL Server,然後執行 sp_configure 預存程序以接受遠端的連接,藉以啟用 DAC 接聽程式使其可接受遠端連接,即使 SQL Server 未回應仍可執行。

在叢集組態中,DAC 預設為關閉。 使用者可執行 sp_configure 的 remote admin connection 選項,啟用 DAC 接聽程式以存取遠端連接。 若 SQL Server 未回應且 DAC 接聽程式未啟用,您可能必須重新啟動 SQL Server 以連接 DAC。 因此,建議您在叢集系統上啟用 remote admin connections 組態選項。


SQL Server 會在啟動期間動態指定 DAC 通訊埠。 在連接到預設的執行個體時,DAC 會在連接時避免對 SQL Server Browser 服務使用 SQL Server Resolution Protocol (SSRP) 要求。 它會先透過 TCP 通訊埠 1434 進行連接。若失敗,則會發出 SSRP 呼叫以取得通訊埠。 若 SQL Server Browser 並未接聽 SSRP 要求,則連接要求會傳回錯誤。 請參閱錯誤記錄檔,以瞭解 DAC 接聽時所使用的通訊埠編號。 若 SQL Server 的組態可接受遠端管理連接,DAC 就必須以明確的通訊埠編號起始:

sqlcmd –Stcp:,

SQL Server 錯誤記錄檔會列出 DAC 的通訊埠編號,依預設為 1434。 若將 SQL Server 設定為只接受本機 DAC 連接,請利用下列命令使用回送配接器進行連接:
sqlcmd –S127.0.0.1,1434

關於旗標的說明:
在 SQL Server 中有兩種類型的追蹤旗標:工作階段和全域。工作階段追蹤旗標用於某個連接,而且只會在該連接顯示出來。
全域追蹤旗標是設在伺服器層級,只要是該伺服器上的連接,都看得到它們。某些旗標只能啟用為全域旗標,某些則可以啟用為全域或工作階段範圍。


適用下列規則:
全域追蹤旗標必須全域啟用,否則追蹤旗標就沒有效果。我們建議您利用 -T 命令列選項,在啟動時啟用全域追蹤旗標。
如果追蹤旗標具有全域或工作階段的範圍,可以使用適當的範圍加以啟用。以工作階段層級啟用的追蹤旗標絕不會影響其他工作階段,而且當開啟該工作階段的 SPID 登出時,該追蹤旗標的效果也隨之消失。


請利用下列方法之一,將追蹤旗標設為開啟或關閉:
使用 DBCC TRACEON 和 DBCC TRACEOFF 命令。
例如,DBCC TRACEON 2528:若要全域啟用追蹤旗標,請利用 -1 引數使用 DBCC TRACEON:DBCC TRACEON (2528, -1)。若要關閉全域追蹤旗標,請利用 -1 引數使用 DBCC TRACEOFF。

利用 -T 啟動選項來指定在啟動期間開啟追蹤旗標。
-T 啟動選項會全域啟用追蹤旗標。您不能利用啟動選項啟用工作階段層級的追蹤旗標。如需有關啟動選項的詳細資訊,請參閱<使用 SQL Server 服務啟動選項>。

請利用 DBCC TRACESTATUS 命令來判斷目前有哪些旗標在使用中。

參考資料:
SQL Server Express 功能
http://msdn.microsoft.com/zh-tw/library/ms165636(SQL.90).aspx
http://msdn.microsoft.com/zh-tw/library/ms165636.aspx

追蹤旗標 (Transact-SQL)
http://msdn.microsoft.com/zh-tw/library/ms188396.aspx

使用 SQL Server 服務啟動選項
http://msdn.microsoft.com/zh-tw/library/ms190737.aspx

DBCC TRACESTATUS (Transact-SQL)
http://msdn.microsoft.com/zh-tw/library/ms187809.aspx

使用專用管理員連接
http://msdn.microsoft.com/zh-tw/library/ms189595.aspx

如何:利用 SQL Server Management Studio 使用專用管理員連接
http://msdn.microsoft.com/zh-tw/library/ms178068.aspx

2008-12-10

台灣的 IT 人員真的很辛苦

台灣的 IT 人員真的很辛苦,不但要面臨IT技術的日新月異,時時刻刻更新與學習。

之前還有朋友說:IT 人員也是「科技新貴」...

如今景氣不佳,連「科技新貴」也無力化了...>_<

系統整合產業:精誠(6214),將因應組織調整而做人力精簡。

精誠資訊 傳裁員500人
http://www.libertytimes.com.tw/2008/new/dec/12/today-e23.htm

精誠 傳將裁員500人
http://udn.com/NEWS/FINANCE/FIN1/4640198.shtml

才剛得人力創新獎…… 精誠資訊傳裁員400?500人
http://news.chinatimes.com/CMoney/News/News-Page/0,4442,content+120601+122008121200400,00.html


台新銀行縮減IT人力
http://www.ithome.com.tw/itadm/article.php?c=52484

參考資料:
台灣IT人員的工作職場:新挑戰--承認大陸學歷
http://sharedderrick.blogspot.com/2008/09/it.html


2008-12-09

SQL Server 資料庫的狀態:正在還原...,RESTORING...



會發生這樣的情境有很多,例如:解除「資料庫鏡像(Database Mirroring)」後的鏡像資料庫、「記錄傳送(Log Shopping)」、使用 Backup Log ... WITH NORECOVERY、執行 Restore Database ... WITH NoReocvery 等等。
請參考下圖所示:


若是資料庫的狀態呈現:「正在還原...(RESTORING)」,這是無法讓使用者存取資料庫。
所以若是你希望切換狀態,讓使用者可以存取此資料庫時,可以利用 RESTORE DATABASE ... WITH RECOVERY 的方式來達成。

有關於 RECOVERY 參數的說明:
指示還原作業回復任何未認可的交易。在復原程序之後,資料庫便已備妥,可供使用。
如果 NORECOVERY、RECOVERY 和 STANDBY 三者都沒有指定,預設值就是 RECOVERY。

如果規劃了後續的 RESTORE 作業 (RESTORE LOG,或差異備份的 RESTORE DATABASE),就應該指定 NORECOVERY 或 STANDBY。
當從舊版 SQL Server 還原備份組時,可能需要升級資料庫。當指定 WITH RECOVERY 時,會自動執行這項升級。



請參考以下的範例碼:
USE master
GO
--
ALTER DATABASE [pubs] SET RECOVERY FULL
WITH ROLLBACK IMMEDIATE
GO

-- Full Backup
BACKUP DATABASE pubs
TO DISK='C:\myAdmin\Device\pubs.bak'
GO

-- Log Backup,加入:WITH NORECOVERY,資料庫狀態:RESTORING , 正在還原...
BACKUP LOG pubs
TO DISK='C:\myAdmin\Device\pubs_log.bak'
WITH NORECOVERY
GO

-- 檢視資料庫的狀態
SELECT name N'資料庫的名稱',state_desc N'資料庫狀態'
FROM sys.databases
ORDER BY 2 DESC

-- 切換資料庫的狀態為:ONLINE。
RESTORE DATABASE pubs
WITH RECOVERY
GO


參考資料:
RESTORE 引數 (Transact-SQL)
http://msdn.microsoft.com/zh-tw/library/ms178615.aspx

RESTORE (Transact-SQL)
http://msdn.microsoft.com/zh-tw/library/ms186858.aspx

2008-12-06

新手學SQL Server 2008「稽核(SQL Server Audit)」 (3) :技術文章


在SQL Server 2008之前的版本,若是想要精確稽核某個資料表被哪位使用者查詢過的需求時,雖然可以利用SQL追蹤(trace)等方式來完成,但是仍需要搭配程式碼,在SQL追蹤所錄製的巨量資料中逐筆資料進行篩選。

在SQL Server 2008版本上,你可以嘗試改用稽核(SQL Server Audit)來完成此需求,讓你可以輕鬆的設計出精確篩選的稽核物件。

在前一期「新手學稽核SQL Server Audit (2)」一文中,你已經體驗過:伺服器層級的稽核:監控帳戶,資料庫層級的稽核:監控資料庫物件等實作稽核的方法,接下來,請你再按部就班的來學習:存取資料表的稽核:使用者存取指定的資料表。
...


完整的文章,請參考:
第82期之二《新手學稽核SQL Server Audit (3)》





更多相關的技術文章,請參考:
DB World 資料庫專家電子雜誌
http://www.dbworld.com.tw/



參考資料:
新手學稽核SQL Server Audit (2) :技術文章

http://sharedderrick.blogspot.com/2008/11/sql-server-audit-2.html

2008-12-03

查詢 SQL Server 安裝路徑,使用 xp_instance_regread


若是要查詢 SQL Server 安裝路徑,有好幾種方式,我們這邊提供以下的方式作為參考:

適用版本:SQL Server 2005/2008

(一) 使用 T-SQL,利用 xp_instance_regread ,請參考以下的範例:

-- 查詢你的 SQL Server 安裝目錄
exec master.dbo.xp_instance_regread
N'HKEY_LOCAL_MACHINE', N'SOFTWARE\Microsoft\MSSQLServer\Setup', N'SQLPath'

--將 xp_instance_regread 的結果,使用資料表變數來顯示
DECLARE @tInst TABLE(Value sysname, InstallPath sysname)
INSERT @tInst
exec master.dbo.xp_instance_regread
N'HKEY_LOCAL_MACHINE', N'SOFTWARE\Microsoft\MSSQLServer\Setup', N'SQLPath'
SELECT * FROM @tInst


請參考下圖所示:



(二)使用「SQL Server Management Studio」,步驟如下:
步驟01. 在「物件總管」,選擇指定的伺服器名稱,滑鼠右鍵,選擇「屬性」。
步驟02. 在「伺服器屬性」視窗,在左邊的「選取頁面」窗格,點選「一般」。
步驟03. 在右邊的窗格,在「根目錄」區域,可以檢視到 SQL Server 執行個體的安裝路徑。


請參考下圖所示:


參考文件:
BUG: 您可能會收到 「 拒絕存取 」 錯誤訊息從 SQL Server 2000 升級至 SQL Server 2000 Service Pack 4 之後,當查詢呼叫的延伸時,出現訊息預存程序
BUG: You may receive an "Access is denied" error message when a query calls an extended stored procedure after you upgrade from SQL Server 2000 to SQL Server 2000 Service Pack 4
http://support.microsoft.com/kb/887165/en-us

2008-11-30

無法啟動 SQL Server:當使用 WITH NORECOVERY 選項還原 model 系統資料庫,資料庫狀態呈現:RESTORING 狀態



有朋友遇到以下的狀況:

將系統資料庫 model,將其資料庫狀態,設定為:RESTORING。
使用版本:SQL Server 2005、SQL Server 2008


進一步討論此狀況,可能會遇到的問題:
若是將系統資料庫 model,將其資料庫狀態,設定為:RESTORING。



將可能造成以下的問題:
停止、再重新啟動 SQL Server,但是系統資料庫 model 卻是 RESTORING 狀態,導致無法啟動 SQL Server。


而且在啟動 SQL Server 時,系統將自動重新建立系統資料庫 tempdb,這時也需要參考到系統資料庫 model。

要能成功啟動 SQL Server 執行個體,三個系統資料庫必須已成功還原。
三個系統資料庫是指:master、model、tempdb 資料庫。

系統資料庫 model 是做為範本用,也會用來建立 tempdb 系統資料庫。


如果無法成功地復原 model 資料庫,會 SQL Server 無法建立 tempdb 資料庫,也不會成功啟動 SQL Server 執行個體。


以下是 SQL Server 錯誤記錄檔的節錄內容:

...
2008-11-23 14:42:47.35 spid9s      Starting up database 'model'.
2008-11-23 14:42:47.39 spid9s      The database 'model' is marked RESTORING and is in a state that does not allow recovery to be run.
2008-11-23 14:42:47.40 spid9s      Error: 927, Severity: 14, State: 2.
2008-11-23 14:42:47.40 spid9s      Database 'model' cannot be opened. It is in the middle of a restore.
2008-11-23 14:42:47.42 spid9s      Could not create tempdb. You may not have enough disk space available. Free additional disk space by deleting other files on the tempdb drive and then restart SQL Server. Check for additional errors in the event log that may indicate why the tempdb files could not be initialized.
2008-11-23 14:42:47.42 spid9s      SQL Trace was stopped due to server shutdown. Trace ID = '1'. This is an informational message only; no user action is required.
...


...
2008-12-01 12:18:15.34 spid15s     Starting up database 'model'.
2008-12-01 12:18:15.34 spid7s      Server name is 'SQL2K8'. This is an informational message only. No user action is required.
2008-12-01 12:18:15.35 spid15s     The database 'model' is marked RESTORING and is in a state that does not allow recovery to be run.
2008-12-01 12:18:15.35 spid15s     錯誤: 927,嚴重性: 14,狀態: 2。
2008-12-01 12:18:15.35 spid15s     資料庫 'model' 無法開啟。它目前正在還原當中。
2008-12-01 12:18:15.35 spid15s     Could not create tempdb. You may not have enough disk space available. Free additional disk space by deleting other files on the tempdb drive and then restart SQL Server. Check for additional errors in the event log that may indicate why the tempdb files could not be initialized.
2008-12-01 12:18:15.38 spid17s     錯誤: 9954,嚴重性: 16,狀態: 1。
...


可能的解法:

推想各個資料庫的狀態是寫在系統資料庫 master 內,但是系統資料庫 model 卻是 RESTORING 狀態,導致無法啟動 SQL Server。


目前想到的作法是:
(1)

重建 master 資料庫。再執行復原(Restore) master作業。


請參考以下的文件:
重建 master 資料庫的考量
http://msdn.microsoft.com/zh-tw/library/ms191431(SQL.90).aspx

(2)
複製另外一台正常的 SQL Server 之 master 資料庫,覆蓋掉受影響的 SQL Server 之 master 資料庫。再執行復原(Restore) master作業。


或許各方高手有更好作法,可以分享一下,在此先謝謝各位的指教與建議。
以下是將系統資料庫 model,設定為 RESTORING 狀態的範例碼,請在測試環境上執行。

-- 以下是對系統資料庫 model 執行完整備份
USE master
GO
BACKUP DATABASE [model]
TO  DISK = N'C:\model.bak'
GO

-- 以下是對系統資料庫 model 執行交易記錄檔備份
/*
搭配 BACKUP LOG 所使用的參數。

參數:NORECOVERY
它會備份記錄的結尾,資料庫會保留在 RESTORING 狀態。當進行容錯移轉,將工作交給次要資料庫時,或在 RESTORE 作業之前儲存記錄結尾時,NORECOVERY 非常有用。

若要執行略過記錄截斷的最大速率記錄備份,再使資料庫自動進入 RESTORING 狀態,請同時使用 NO_TRUNCATE 和 NORECOVERY 選項。

參數:NO_TRUNCATE
它指定不截斷記錄,且使 Database Engine 不論資料庫狀態為何,都一律嘗試進行備份。因此,利用 NO_TRUNCATE 取得的備份可能會有不完整的中繼資料。在資料庫已損毀的情況下,您可以利用這個選項來進行記錄的備份。
*/
BACKUP LOG [model]
TO  DISK = N'C:\model.bak'
WITH  NO_TRUNCATE, NORECOVERY
GO



後記:

經過數位同好的建議,筆者這邊又在整理出一份可行的方案,請各位參考:
方法: 利用追蹤旗標 3608 來啟動 SQL Server,可防止復原 master 資料庫以外的資料庫。



步驟如下:

1. 在「命令提示列」視窗中,輸入執行以下命令:

-- 如果是預設 (MSSQLSERVER) 執行個體,請執行下列命令:
NET START MSSQLSERVER /T3608 /c
--如果是具名執行個體,請執行下列命令:
NET START MSSQL$instancename /T3608 /c

/*
啟動參數說明:
T3608:追蹤旗標 3608 可防止 SQL Server 復原 master 資料庫以外的資料庫。
-c:縮短從命令提示字元啟動 SQL Server 的啟動時間。
一般而言,SQL Server Database Engine 會呼叫「服務控制管理員」,以服務方式啟動。因為從命令提示字元啟動時,SQL Server Database Engine 不會以服務方式啟動,所以請使用 -c 略過這個步驟。
*/

請參考下圖所示:



2. 在sqlcmd 的「命令提示列」視窗中,輸入執行以下命令:
-- 使用信任連接登入到預設執行個體
sqlcmd -S localhost -E


3. 在利用 sqlcmd 登入到執行個體後,在「命令提示列」視窗中,輸入執行以下命令:
SELECT name, state_desc FROM sys.databases
GO
/*
我們可以觀察到系統資料庫 model,在 master 上所記錄的狀態是:RESTORING 狀態。這是造成系統無法啟動的主因。
系統資料庫 model 是 RESTORING 狀態,導致無法啟動 SQL Server。
而且在啟動 SQL Server 時,系統將自動重新建立系統資料庫 tempdb,這時也需要參考到系統資料庫 model。
*/

請參考下圖所示:



4. 繼續在 sqlcmd 的「命令提示列」視窗中,輸入執行以下命令:
RESTORE DATABASE model WITH RECOVERY
GO
SELECT name, state_desc FROM sys.databases
GO
-- 檢視系統資料庫 model 是否已經回復到 ONLINE 狀態。


請參考下圖所示:





一般而言,如果遇到一些應該修復系統資料庫的問題時,多半會使用「單一使用者模式」的模式來啟動 SQL Server。


但是在本情境下,可能不適合使用以下的兩個參數:

-f:啟動只含最小組態的 SQL Server 執行個體。
如果組態值設定 (如過度調配記憶體) 造成伺服器無法啟動,這就很有用。

有趣的,使用 -f 啟動參數,系統也將會以「單一使用者模式」來啟動。


-m:當您以單一使用者模式啟動 SQL Server 執行個體。
以單一使用者模式啟動 SQL Server 執行個體時,只有單一使用者可以進行連接,且不會啟動 CHECKPOINT 處理序。



CHECKPOINT 會保證將交易規律地從磁碟快取區寫到資料庫裝置。(一般而言,如果遇到一些應該修復系統資料庫的問題時,就會使用這個選項)。


這個選項會啟用 sp_configure allow updates 選項。根據預設,allow updates 是停用的。


上述的這兩個參數,若是執行 RESTORE DATABASE model WITH RECOVERY ,將產生以下的錯誤。

「訊息 3112,當伺服器處於單一使用者模式時,不得還原 master 資料庫以外的任何資料庫。」


請參考下圖所示:




以下是使用啟動參數:-f 來啟動 SQL Server,以下是 SQL Server 錯誤記錄檔的節錄內容:


...
2008-12-01 14:28:21.94 Server      Command Line Startup Parameters:
/f
2008-12-01 14:28:21.94 Server      Warning: The server instance was started using minimal configuration startup option (-f). Starting an instance of SQL Server with minimal configuration places the server in single-user mode automatically.  After the server has been started with minimal configuration, you should change the appropriate server option value or values, stop, and then restart the server.
2008-12-01 14:28:21.94 伺服器         SQL Server is starting at normal priority base (=7). This is an informational message only. No user action is required.
2008-12-01 14:28:21.94 伺服器         Detected 4 CPUs. This is an informational message; no user action is required.
2008-12-01 14:28:21.98 伺服器         Using locked pages for buffer pool.
2008-12-01 14:28:21.99 伺服器         Perfmon counters for resource governor pools and groups failed to initialize and are disabled.
2008-12-01 14:28:21.99 伺服器         Using dynamic lock allocation.  Initial allocation of 2500 Lock blocks and 5000 Lock Owner blocks per node.  This is an informational message only.  No user action is required.
2008-12-01 14:28:22.04 伺服器         Node configuration: node 0: CPU mask: 0x000000000000000f Active CPU mask: 0x000000000000000f. This message provides a description of the NUMA configuration for this computer. This is an informational message only. No user action is required.
2008-12-01 14:28:22.05 伺服器         Support for distributed transactions was not enabled for this instance of the Database Engine because it was started using the minimal configuration option. This is an informational message only. No user action is required.
2008-12-01 14:28:22.05 spid7s      Warning ******************
2008-12-01 14:28:22.05 spid7s      SQL Server started in single-user mode. This an informational message only. No user action is required.
2008-12-01 14:28:22.05 spid7s      Starting up database 'master'.
...


最後,感謝各位同好提供的建議,也期許能協助各位解決問題,謝謝大家的幫忙...^_^



參考文件:
BACKUP (Transact-SQL)
http://technet.microsoft.com/zh-tw/library/ms186865.aspx

如何使用 SQL Server 中的卸離和附加功能將 SQL Server 資料庫移到新位置
http://support.microsoft.com/kb/224071

使用 SQL Server 服務啟動選項
http://technet.microsoft.com/zh-tw/library/ms190737.aspx

使用 WITH NORECOVERY 選項還原 model 資料庫之後,無法成功啟動 SQL Server 的執行個體
http://support.microsoft.com/kb/822852

FIX: SQL Enterprise Manager RESTORE msdb 離開資料庫載入狀態而不適差異或記錄檔備份
http://support.microsoft.com/kb/319701

移動系統資料庫
http://msdn.microsoft.com/zh-tw/library/ms345408.aspx

2008-11-29

新手學SQL Server 2008「稽核(SQL Server Audit)」 (2) :技術文章



以資訊安全為前提,稽核存取資料庫的相關活動,是十分重要的事情,藉由分析稽核資料的內容,將可以協助企業找出安全漏洞與駭客侵入等等事件。

在之前「新手學稽核SQL Server Audit (1)」一文中,各位讀者已經具備「稽核」(SQL Server Audit)的基礎知識與了解其設計方式,接下來,我們將帶領各位按部就班地實作稽核。
...

完整的文章,請參考:
第82期之一《新手學稽核SQL Server Audit (2)》





更多相關的技術文章,請參考:
DB World 資料庫專家電子雜誌

http://www.dbworld.com.tw/




參考資料:
新手學稽核SQL Server Audit (1) :技術文章
http://sharedderrick.blogspot.com/2008/11/sql-server-audit-1.html

2008-11-26

讓 SQL Server Management Studio 的「查詢編輯器」視窗,顯示「行號」



依據預設值,在SQL Server Management Studio的「查詢編輯器」視窗內,是不會顯示行號的,這對於編輯大量的程式碼時,可能會造成小困擾,請參考下圖所示:


參考以下的步驟,將可以在「查詢編輯器」視窗內,顯示各行程式碼的所處的行號。
1. 在「SQL Server Management Studio」的上方選單,選取:「工具」\「選項」。
2. 在「選項」視窗,左邊窗格,展開「文字編輯器」\「所有語言」。
3. 在右邊的窗格,在「顯示」區域下,勾選「行號」。
請參考下圖所示:



4. 點選「確定」。

這是在「查詢編輯器」視窗內,已經有顯示行號,讓你更方便的編輯大量的程式碼。

請參考下圖所示:


述的作法,適用於 SQL Server 2005 與 SQL Server 2008 的 SSMS 管理工具。

2008-11-25

SQL Server 2008 價格



最近有許多朋友在詢問 SQL Server 2008 的價格,雖然 SQL Server 2008 的定價層級與 SQL Server 2005 大致相同,而且這兩個版本的定價也非常接近,但還是有些許差異。
請參考以下的整理:
SQL Server 2008 有三種授權模式:

(1)伺服器暨「裝置」授權Server plus device client access license (CAL).
在執行Microsoft Server 產品的電腦上需要一個Server授權,以及每一個需要連結使用的前端裝置都需要一個連結使用授權 (CAL)。
需要連結進入使用Microsoft SQL Server服務或功能的前端裝置 (例如,電腦、工作站、終端機、PDA、行動電話,等等) 都需要購買裝置授權 (Device CAL)。
如果是多人使用同一裝置 (例如,Call Center),這種Server plus device CAL的授權方式可能是成本效益較好的一種授權方式。

(2)伺服器暨「使用者」授權Server plus user client access license (CAL).
在執行Microsoft Server 產品的電腦上需要一個Server授權,以及每一個需要連結使用的使用者都需要一個連結使用授權 (CAL)。
需要連結進入使用Microsoft SQL Server服務或功能的使用者(例如,員工、客戶、合作夥伴,等等) 都需要購買使用者授權 (User CAL)。
如果是使用者有多種使用裝置,這種Server plus user CAL 的授權方式可能是成本效益較好的一種授權方式。


(3)處理器授權Processor license.
在執行SQL Server的操作系統中,每一顆CPU需要一個單一授權 (Processor license)。在這種授權模式包含了無數量限制的前端裝置授權。
它包含了防火牆內外無數量限制的使用者或裝置使用權利。
當客戶使用這種處理器授權時,是不需要額外購買伺服器授權或是前端使用授權 (CALs)。

何謂 CAL
一個CAL並不是一個軟體:它是一個法律上的文件,授予裝置或使用者進入使用伺服器軟體的權利。一個單一的裝置CAL授予一個裝置進入多個伺服器的權利 (CAL必須是與Server相同版本)。一個單一的使用者CAL授予一個使用者進入多個伺服器的權利。

下表提供美國與加拿大地區銷售之 SQL Server 2008 版本預計零售價指南:
http://www.microsoft.com/taiwan/sql2008/howtobuy/pricing.aspx



還有一種軟體授權方案:「軟體保證 (SA)」
軟體保證 (SA) 提供協助與估價以協助您保持伺服器順利運作,同時讓您更容易掌控預算。

在軟體保證 (SA) 之下,您首先必須購買一份授權,並於每年支付部分費用,就可以在合約期間內享有各種優惠,包括:可免費地升級到最新版本的產品。軟體保證的有效期間將視您的大量授權合約條款而有所不同。軟體保證非強制性購買。

以下是 2008 年08月 1 日,以「FPP (彩盒包裝) 」版本,SQL Server 2008 建議售價是:
請參考下圖所示:




多核心 CPU
多核心處理器,由多個處理執行單元或晶片上的「核心」組成,被視為促進運算能力的方法。
Microsoft 藉由收取與處理器數量相同的費用,而不管處理器內有多少核心的方式,已成為此領域的領導者。請參考以下的文章:
多核心 CPU 與 使用 SQL Server 版本(Multicore CPUs ; Standard Edition)
http://sharedderrick.blogspot.com/2007/12/cpu-sql-server-multicore-cpus-standard.html
多核心 MultiCore CPU 與 Oracle 之授權
http://sharedderrick.blogspot.com/search/label/%E7%94%B2%E9%AA%A8%E6%96%87%20Oracle

目前在產品價格,可以分成:OPEN Value、FPP (彩盒包裝)、FPP AE (彩盒包裝教育版)、MOLP (授權合約產品)、MOLP AE (授權合約產品教育版)等等方式。
建議各位要連回到官方網頁,查詢最新的特價訊息、全新的估計零售價格表 (ERP; Estimated Retails Price) :

台灣微軟全系列產品價格表
http://www.microsoft.com/taiwan/partner/download/default.mspx

https://partner.microsoft.com/taiwan/productssolutions/launchresources/prodresourcespricelist

建議各位可以與台灣微軟授權代理商聯繫,相信可以獲得更多的優惠:
http://www.microsoft.com/taiwan/partner/franchisee.aspx

參考文件:
SQL Server 2005 產品價格之列表 listprice ,retailprice
http://sharedderrick.blogspot.com/2007/12/sql-server-2005-listprice-retailprice.html

SQL Server 2008 授權
http://www.microsoft.com/taiwan/sql2008/howtobuy/licensing.aspx

SQL Server 2008 授權常見問題
http://www.microsoft.com/taiwan/sql2008/howtobuy/licensing-faq.aspx

SQL Server 2008 售價
http://www.microsoft.com/taiwan/sql2008/howtobuy/pricing.aspx

下表提供美國與加拿大地區銷售之 SQL Server 2008 版本預計零售價指南:
http://www.microsoft.com/taiwan/sql2008/howtobuy/pricing.aspx

多核心 CPU 與 使用 SQL Server 版本(Multicore CPUs ; Standard Edition)
http://sharedderrick.blogspot.com/2007/12/cpu-sql-server-multicore-cpus-standard.html

多核心 MultiCore CPU 與 Oracle 之授權
http://sharedderrick.blogspot.com/search/label/%E7%94%B2%E9%AA%A8%E6%96%87%20Oracle

台灣微軟全系列產品價格表
http://www.microsoft.com/taiwan/partner/download/default.mspx

https://partner.microsoft.com/taiwan/productssolutions/launchresources/prodresourcespricelist

2008-11-22

新手學SQL Server 2008「稽核(SQL Server Audit)」 (1) :技術文章


日益險惡的資訊安全環境,讓企業不得不正視「安全稽核」。若是發生安全漏洞、資訊外洩事件時,稽核記錄將會是十分有用的資料。
SQL Server 2008 導入一套全新的稽核系統:SQL Server Audit,讓管理人員可以精確的紀錄所需要之稽核資訊...

完整的文章,請參考:
第81期之四《新手學稽核SQL Server Audit (1)》






更多相關的技術文章,請參考:
DB World 資料庫專家電子雜誌
http://www.dbworld.com.tw/

2008-11-19

加速啟動 SQL Server Management Studio(SSMS)


當我們在執行 SSMS 時,不知你是否覺得啟動 SSMS 很慢呢?
而且若是透過:「遠端桌面連線」、「VNC」等等軟體來登入系統,應該是可以更明顯的感受到啟動 SSMS 的速度真的很慢。亦或是如同筆者一般是 SQL Server 的重度使用者時,那更會懷念前一版本的 Enterprise Manager 工具快速啟動執行的速度。

建議妳可以參考以下的方式來加速啟動 SSMS 管理工具,方法如下:
在工具列上,按一下 「開始」,依序指向 「所有程式」\「Microsoft SQL Server 2008」,在「SQL Server Management Studio」上滑鼠右鍵,選擇「內容」,修改其「目標」的執行捷徑之內容,在最後面,先按一個空白鍵再加入「-nosplash」引數就可以,請參考下圖所示:



以下此參數的說明:
-nosplash
是加速啟動 SSMS 的關鍵引數。當您使用了「-nosplash」引數後,在啟動 SSMS 時,將不呈現開頭顯示畫面。這適用於:不需要開頭顯示畫面的重度使用者;在頻寬有限的網路環境、利用[遠端桌面連線]、[VNC]等軟體來連接執行的SQL Server 伺服器的環境。這個引數不區分大小寫,可出現在其他引數的前後。


這個參數,適用於 SQL Server 2005 與 SQL Server 2008 的 SSMS 管理工具。

以下是被取消的開頭顯示畫面,請參考下圖所示:

2008-11-15

清空「伺服器名稱對話方塊的伺服器清單」 -- SQL Server 2008 SSMS Clean MRU Server List


在使用過 SQL Server Management Studio 2008 管理工具(本文縮寫為:SSMS 2008)一陣子之後,您的 SSMS 2008 的[伺服器名稱]對話方塊的伺服器清單,可能會如同筆者一般,存放一堆最進這幾次所使用的伺服器清單,請參考下圖所示:



但這有可能是已經失效的、無用的,或是您不想讓別人知道這清單列表時,我們可以使用改名或是刪除的方式來進行清空[伺服器名稱]對話方塊的伺服器清單。

-- 伺服器清單是存放在以下檔案內:
%APPDATA%\Microsoft\Microsoft SQL Server\100\Tools\Shell\SqlStudio.bin
-- 在 Windows Server 2008 或是 Vista 作業系統,路徑是:
C:\Users\{%您的登入帳號%}\AppData\Roaming\Microsoft\Microsoft SQL Server\100\Tools\Shell\SqlStudio.bin
-- 以使用者 Administrator為例:
C:\Users\Administrator\AppData\Roaming\Microsoft\Microsoft SQL Server\100\Tools\Shell\SqlStudio.bin


當您完成改名或是刪除 SqlStudio.bin 檔案後,請關閉 SSMS 2008,再重新啟動 SSMS 2008,就可以看到空白被清空的[伺服器名稱]對話方塊之伺服器清單,請參考下圖所示:



什麼是 SqlStudio.bin 檔案
在 SSMS 2008 「伺服器名稱」對話方塊上的清單,係由 MRU(Most Recently Used)檔案所記錄,會自動記錄最近數次成功登入的伺服器清單。這是一個很方便的功能,但為了提供更佳的安全性,或者這是無效的伺服器清單,您就可以將 SqlStudio.bin 檔案改名或是刪除。

但是在「SQL Server Management Studio 2005 管理工具」與「SQL Server Management Studio 2008 管理工具」卻是存放在不同的檔案內,請參考以下的整理:
「SQL Server Management Studio 2008 管理工具」,存放於 SqlStudio.bin 檔案內。
「SQL Server Management Studio 2005 管理工具」,存放於 mru.dat 檔案內。


參考資料:
清空[伺服器名稱]對話方塊的伺服器清單 -- SQL Server Management Studio 2005 管理工具
http://sharedderrick.blogspot.com/2007/12/sql-server-2005-ssms.html

當您在 SQL Server 2005 中啟動 SQL Server Management Studio 時,出現錯誤訊息: Unable to 型別 'Microsoft.SqlServer.Management.UI.ConnectionDlg.Personalization ' 為型別 ' Microsoft.SqlServer.Management.UI.ConnectionDlg.Personalization' 的型別轉換物件)
http://support.microsoft.com/kb/922214/zh-tw



Clear SQL Server 2008 Management Studio - MRU Server Names
http://forums.microsoft.com/TechNet/ShowPost.aspx?PostID=4085623&SiteID=17

2008-11-12

趣聞:程式設計師(programmers)、工程師(engineer)經常講的話



這是在網路上看到的趣聞:程式設計師(programmers)或是工程師(engineer)經常講的話,挺有趣的。

程式設計師(programmers)經常講的話:


第 20 名:這很奇怪喔。
第 19 名:以前從來不會這樣啊!
第 18 名:昨天明明會動的啊!
第 17 名:怎麼可能~
第 16 名:這一定是機器的問題。
第 15 名:你到底是打了什麼才讓程式當掉的?
第 14 名:一定是你的資料有問題。
第 13 名:我已經好幾個禮拜沒碰那一段程式了。
第 12 名:你一定是用到舊版了。
第 11 名:一定是巧合!為什麼這種壞運氣只讓你碰上。
第 10 名:我不可能什麼功能都測試到吧,有 bug 是正常的!
第 9 名:這個不可能是那個的原始碼!
第 8 名:這程式應該是會動的,只是我寫好後還沒做測試。
第 7 名:可惡!一定有人改了我的程式。
第 6 名:你有檢查過你的電腦有沒有病毒嗎?
第 5 名:儘管這功能還不能動啦,你覺得他如何?
第 4 名:在你的系統不能用那一個版本的程式啦!
第 3 名:你幹嘛要那樣操作,都是你的問題。
第 2 名:程式發生問題時你在哪裡?
第 1 名:在我的機器明明就可以動啊!


通用說法
你是不是又裝什麼了軟體?環境太髒,要重灌作業系統。
你電腦重新開機,應該就會好了。



工程師(engineer)經常講的話:



第 26 名:都這樣了,還不work,搞什麼?
第 25 名:你可能中毒了喔。
第 24 名:一定是有人改了我的程式。
第 23 名:已經可以了,不過還沒測試過喔。
第 22 名:都好了啊,還沒測試過就是了。
第 21 名:我不是已經修好了嗎?
第 20 名:這個不能那個。(THIS can't do THAT.)
第 19 名:我一個人又測不完!
第 18 名:怎麼這麼衰!
第 17 名:沒問題,馬上好!
第 16 名:當然,當然,我再修一修就可以了。
第 15 名:快好了,快好了。
第 14 名:好啦,只不過一個小功能嘛!
第 13 名:你拿錯執行檔了。
第 12 名:可以,可以,來得及。
第 11 名:我可沒動過這個模組喔!
第 10 名:你的測試資料一定有錯!(我那邊不會啊!)
第 9 名:不可以這樣操作的啦!
第 8 名:你的作業系統(驅動程式)升級了沒有啊?
第 7 名:機器好像壞了。
第 6 名:怎麼可能?!
第 5 名:哦,這程式還要改一下。
第 4 名:昨天還好好的呀!
第 3 名:我從來不知道有這種事。
第 2 名:奇怪...
第 1 名:更,MD --> 這應該是心理的話,Haha...


未婚工程師在心理常說的話:
為什麼我都沒有女朋友阿!!

參考網址:
The Top 20 replies by programmers when their programs do not work:
http://www.thenetworkadministrator.com/top20.htm


Funny replies developers give to testers..
http://quality-assurance-software-testing.blogspot.com/2005/12/funny-replies-developers-give-to.html