2011年9月22日 星期四

淺談資料庫實體檔案搬移(3)

延續上篇現在我們來看第三種方法
方法三:利用T-SQL語法
首先我們利用T-SQL語法查詢Northwind資料庫的相關資料


--database_id DB的ID
--name 邏輯名稱
--physical_name 實際檔案儲存位置
SELECT database_id, name, physical_name
FROM sys.master_files
WHERE database_id = DB_ID('Northwind');


從查詢結果我們可以得知Northwind資料庫的DB ID、邏輯名稱及實際檔案儲存位置,接著我們要變更實際檔案儲存位置,由C:\SQL Server 2000 Sample Databases目錄改為D:\SQL Server 2000 Sample Databases目錄,執行以下語法可以完成目錄變更


--變更檔案儲存位置
ALTER DATABASE Northwind
MODIFY FILE (NAME = Northwind, FILENAME = 'D:\SQL Server 2000 Sample Databases\Northwind.mdf');

ALTER DATABASE Northwind
MODIFY FILE (NAME = Northwind_log, FILENAME = 'D:\SQL Server 2000 Sample Databases\Northwind_log.ldf');

這裡要注意的是完成語法只是代表系統目錄已修改Northwind資料庫的檔案路徑,但實際檔案還是要自己將Northwind.mdf及Northwind_log.ldf從C:\SQL Server 2000 Sample Databases目錄移至D:\SQL Server 2000 Sample Databases目錄


為了能搬移檔案我們執行資料庫離線語法

USE master
--設定離線
ALTER DATABASE Northwind SET OFFLINE


執行後我們才可以搬移Northwind.mdf及Northwind_log.ldf到D:\SQL Server 2000 Sample Databases目錄,搬移完成後再執行資料庫在線語法


USE master
--設定在線
ALTER DATABASE Northwind SET ONLINE

最後我們再利用語法檢查


--database_id DB的ID
--name 邏輯名稱
--physical_name 實際檔案儲存位置
SELECT database_id, name, physical_name
FROM sys.master_files
WHERE database_id = DB_ID('Northwind');


至於Detach/Attach與ALTER DATABASE的不同可點參考,最後還是再提醒讀者這一系列的發文只針對單純的個人使用環境不適用於複雜營運中的資料庫。




淺談資料庫實體檔案搬移(2)

延續上篇我們現在來看第二種方法
方法二:利用備份、還原方式
整個流程是先備份Northwind資料庫再刪除Northwind資料庫,刪除Northwind資料庫的目的在於移除C:\SQL Server 2000 Sample Databases目錄下的NORTHWND.MDF及NORTHWND.LDF,接著我們建立同名資料庫並將路徑選擇在D:\SQL Server 2000 Sample Databases目錄,最後再將備份檔還原,以下為操作說明及圖示,首先選取Northwind資料庫,按滑鼠右鍵選取[工作(T)]並點選[備份(B)...]




接著我們為備份檔命名及指定存放路徑








接著我們刪除原先的Northwind資料庫


再新增同名資料庫,並將路徑指定於D:\SQL Server 2000 Sample Databases目錄




此時我們可以看到D:\SQL Server 2000 Sample Databases目錄下產出Northwind.mdf及Northwind_log.ldf



接著我們再將備份檔還原到新建的Northwind資料庫,先點選Northwind資料庫接著按滑鼠右鍵選取[工作(T)],選取[工作(T)]後再選取[還原(R)],最後點選[資料庫(D)]


還原來源選取D:\SQL Server 2000 Sample Databases目錄的備份檔




最後只要選取[選項]頁面並勾選[覆寫現有的資料庫]再按[確定]鈕即可




如果我們的實體磁碟機有二顆以上,在備份時可將備份檔指定放在資料庫所在磁碟之外的磁碟,可加速備份及還原主要能加速的原因是減少硬碟I/O的爭用。


下篇

2011年9月19日 星期一

淺談資料庫實體檔案搬移(1)

撰寫這篇的原因起於同學在使用MS SQL上的問題,同學的實驗環境中資料庫實體檔案是儲存在C磁碟槽,但目前C磁碟槽剩餘空間不足,無法應付後續資料的成長,所以想將資料庫搬移至D磁碟槽,因此我提出了三個搬移方式,至於運作於商業環境的資料庫使用者,則請忽略此篇文章,因為商業環境的資料庫搬移需要更細膩的策略這裡不探討,底下為Demo環境及三個搬移方式說明:

OS:Windows XP Professional Service Pack 3
DBMS:SQL Server 2005 Developer Edition
DB:Northwind

方法一:利用卸離、附加方式
一般來說我們無法搬移正在使用中的使用者資料庫,必須先將資料庫卸離後才能移動資料庫,否則將會出現下圖的錯誤


我們要將Northwind資料庫的實體檔案從C:\SQL Server 2000 Sample Databases目錄移至D:\SQL Server 2000 Sample Databases目錄,首先我們先點選Northwind資料庫,再點選滑鼠右鍵並移至[工作]選擇[卸離]


當資料庫卸離後我們可以搬移檔案到D:\SQL Server 2000 Sample Databases目錄,搬移的檔案包含資料庫的mdf檔及ldf檔


搬移完成後,我們要附加資料庫,我們先點選[資料庫]再按右鍵選取[附加]

此時會出現挑選畫面,按下[加入(A)...]挑選D:\SQL Server 2000 Sample Databases目錄下的NORTHWND.MDF,最後按下[確定]



最後我們再來檢視一下附加後的Northwind資料庫檔案路徑,點選Northwind資料庫後,按滑鼠右鍵並選擇[屬性],在屬性視窗中選擇[檔案]頁面


下篇

2011年9月10日 星期六

IdeaSparks ASP.NET CoolControls簡介

IdeaSparks ASP.NET CoolControls是什麼東西?它是一個擴充自GridView的元件,
也意謂著在使用這個元件時基本的運用方式就像GridView一樣簡單使用,好處
就是學習門檻低,那到底IdeaSparks ASP.NET CoolControls提供什麼額外的功能
?這裡我引述作者官方blog所列功能
  1. Fixed column header, footer and pager
  2. Scrollable content
  3. User-resizeable column widths (new!)
  4. Maintains scroll position and column widths after a postback or callback (new!)
接著我會以Visual Studio 2010 Professional加上北風資料庫做Demo

Step 1:將IdeaSparx.CoolControls.Web.dll放到專案的Bin目錄,在這裡我的專案
類型是Web Site,放置Bin目錄後專案會自行參考


Step2:接著我們要為Toolbox增加CoolControls,首先我們點選Standard tab再按滑鼠右鍵,選擇Choose Items,選取之前放置在Bin目錄的IdeaSparx.CoolControls.Web.dll




Step3:將畫面切換至Design模式,並將CoolGridView托曳至畫面,這裡資料來源是使用SqlDataSource方式連結北風資料庫的Customers資料表



Step4:執行
IE 6

Firefox 6.0.2

Chrome 13.0.782.220

從畫面看來在主流瀏覽器顯示固定表頭功能都能正常運作,接著我們來嘗試Column Resize的功能,讓CompanyName及Country的欄位變寛靠近捲軸,這裡只顯示IE 6的結果

變更欄位寛度過程

變更後結果

至於其餘細節讀者可自行研究,底下是元件作者的blog

2011年9月7日 星期三

限制主動式內容處理方法

曾經有個朋友撰寫html文件並將它放置本機電腦桌面以檔案方式執行,
但遇到一些security的問題,底下為當初提供給他的解決方法

步驟一
 在本機建立一個分享資料夾,將檔案移入
步驟二
   在[開始]執行 \\hostname\sharefoldername    *hostname指的是本機電腦名稱,sharefoldername為分享名稱
步驟三
   在步驟二執行後彈跳出來的視窗找尋要執行的html檔,將滑鼠移至檔案按右鍵選擇傳送到桌面當捷徑
   這個步驟的目的在建立一個link為\\hostname\foldername\filename.htm
步驟四
   建立信任網站格式