2006-03-02

更改資料庫的定序名稱

之前在查詢中文資料時,都是直接使用下列的語法


select * from tablename where fieldname like '%中文%'


但是今天在查資料時卻查不出任何東西,而且資料欄位中確實有"中文"的字樣,


查了一下,才發現只要在查詢的資料前加個N就可以了,語法如下 :


select * from tablename where fieldname like N'%中文%'


而這主要是因為資料庫的定序名稱所引起,


通常我們在建立資料庫時,定序名稱都是使用"伺服器預設值",


所以也很少去注意它.


雖然說只要查詢語法改一下就可以了,


但是為了以後維護上的方便,


所以打算將資料庫的定序名稱改成"Chinese_Taiwan_Stroke_CI_AS",


可是,從SQL Server Enterprise Manager並不能直接去做修改,


所以要下語法去異動,


而語法如下 :


ALTER DATABASE DatabaseName SET SINGLE_USER WITH ROLLBACK IMMEDIATE


ALTER DATABASE DatabaseName COLLATE Chinese_Taiwan_Stroke_CI_AS


ALTER DATABASE DatabaseName SET MULTI_USER WITH ROLLBACK IMMEDIATE


因為在改定序名稱時,必須先鎖定資料庫,


所以第一行要先將資料庫設定為SINGLE_USER,每次只能一個使用者存取資料庫,


然後再修改定序名稱,


修改完後再將資料庫改回 MULTI_USER 即可,


另外要執行這些指令值須先將所在的資料庫切換到master下.

張貼留言

一頁式詐騙網站進階了嗎?

之前facebook常常出現一頁式購物詐騙. 難道現在已經進級變成網站式的了嗎? 無意見看到"Ray Ban網站"在大特價. 連到網站上看,還真的每款眼鏡都下殺到一折以下, 買三支還免運. 而且網站的功能似乎還很完整. 這麼好康的事,我當然不能放過 要好好研究...