The Will Will Web

記載著 Will 在網路世界的學習心得與技術分享

部署內部網站並使用 Windows 驗證登入的標準作業流程

上週部署了一個內部網站,部署的過程由於用到很多工具與技術,其步驟稍稍有點繁瑣,特別費心整理了一下標準安裝與設定的步驟,以供後續再次部署時參考。本文會牽涉到 IIS 7.5、ASP.NET 4.5、.NET 4.5.1、SQL Server 2008 R2、Web Deploy 3.5 等技術,且該網站是以 Windows 驗證為主要驗證方法。

... 繼續閱讀 ...

將 Excel 文件資料匯入到 SQL Server 資料表的兩種方法

上週公司內有位新進同仁因為專案需求,必須將客戶提供的 Excel 資料匯入到 SQL Server 資料庫裡,我就藉此進行機會教育,傳授 2 個我多年來固定使用的匯入方法,一種是「快速匯入法」,另一種是「傳統匯入法」,這兩種方法在從 Excel 匯入資料時都有其注意事項,因此使用者必須特別注意。最後,我還將這兩種方法錄製成教學影片,如此一來將能有效的快速理解匯入時的操作步驟。

... 繼續閱讀 ...

如何替 SQL Server 2012 LocalDB 卸載所有使用者資料庫

每次用 Visual Studio 2012 開發一個新的、有用到 LocalDB 資料庫的專案,只要專案執行起來,就會將資料庫自動掛載到 SQL Server 2012 Express LocalDB 的執行個體裡,所以用一段時間後自然也會有一堆資料庫在上面,但大部分資料庫應該都是可以卸載 (Detach) 的,因此我自己寫了一支 T-SQL 可以批次卸載所有使用者資料庫,以便看到一個乾淨的 LocalDB 執行個體。

... 繼續閱讀 ...

如何還原資料庫到 SQL Server 2012 LocalDB 執行個體

雖然 SQL 2012 的 LocalDb 與 SQLEXPRESS 師出同門,不過由於執行個體的執行方式不同,因此資料庫特性也有些不太一樣,就以常見的「還原資料庫」功能來說,預設就無法透過 SQL Server Management Studio (SSMS) 進行還原資料庫的動作,雖然透過 T-SQL 指令還是可以正確執行,不過就是麻煩多了!今天我就來分享一個小技巧,讓你能夠使用 SSMS 圖形化操作介面還原資料庫到任意一個 LocalDb 執行個體,省去許多麻煩的 T-SQL 撰寫工作,也簡化還原資料庫到 LocalDb 執行個體的複雜度。

... 繼續閱讀 ...

解決 Management Studio 管理工具無法變更表格結構的問題

這陣子經常在台中教書,每次換到不同班的學生就會遇到一次這個問題,因為從 SQL Server 2008 開始 Management Studio 管理工具預設會防止儲存需要資料表重建的變更(Prevent saving changes that require table re-creation),意思是說,當你在修改資料庫表格結構時,當修正的幅度過大,例如移除欄位、變更欄位順序、變更欄位型態、變更欄位長度、變更是否允許 NULL等狀況,預設都會拒絕你變更資料表結構,導致按下儲存按鈕之後並沒有真正的變更資料結構(Schema),這個預設設定對剛踏入 IT 屆小白兔來說實在有點挫折,不過這點安全控制也保護了資料庫遺失資料的風險。

... 繼續閱讀 ...

SQL Server 2012 Express LocalDB (SqlLocalDB) 深入剖析

微軟最新推出的 SQL Server 2012 Express LocalDB 是一種 SQL Server Express 的執行模式,特別適合用在開發環境使用,也內建在 Visual Studio 2012 之中。由於這種 SQL Server 的執行模式跟以往非常不同,我發現許多人不太清楚 LocalDB 的使用與管理方式,有必要專文介紹 SqlLocalDB 的相關知識。

... 繼續閱讀 ...

如何設定 SQL Server 2008 接受 SSL 加密連接 (需設定憑證)

最近在研究如何讓 SQL Server 用戶端程式能夠連接到 SQL Server 2008 時能夠採用 SSL 加密連線,卻發現網路上很難找資料,找到的大多是 SQL Server 2000 或 2005 的說明,而 SQL Server 2008 的說明卻經常不夠完整,在 TechNet 網站也非常難找到正式的教學文件告知怎樣設定,研究了兩天後終於研究出正確設定的標準作業流程,真是太開心了!^_^

... 繼續閱讀 ...

透過 Entity Framework 如何有效率的取回特定資料表的筆數

在許多開發情境下經常會試圖取回整個資料表的筆數,像我們就有個統計網站累積使用人次功能,開發人員寫的時候就是用 SELECT COUNT(*) FROM TableName 的方式來取得目前總共有多少人次進入網站,但用這種方式執行效率並不高,每次執行都會產生一次 Index Scan,也就是在 SQL Server 資料庫裡所有主索引鍵的資料都會被掃瞄過一次才能統計出資料總筆數,當資料越多的時候,效能就會越差,在這裡我提供另一種 hack 的方法可以更有效率的取得整個表格的總筆數,但此法僅適用於 SQL Server 喔!

... 繼續閱讀 ...