zoukankan      html  css  js  c++  java
  • 更改資料庫的定序名稱

    更改資料庫的定序名稱

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

    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下.

    PS:  有時將數據庫轉移後,會出 “現無法解析 equal to 作業中 "Latin1_General_CI_AS_KS_WS" 與 "Chinese_Taiwan_Stroke_CI_AS" 之間的定序衝突。”錯誤,一般改變數據庫的定序比較麻煩,出現該錯誤的原因一定是SQL語句中語句調用的數據庫之間的定序不一致,一般是系統數據庫與user數據庫的定序沖突了,所以將系統數據庫沖突的數據庫排除在外即可。

  • 相关阅读:
    查询剩余存储空间
    1090. Highest Price in Supply Chain (25) -计层的BFS改进
    1079. Total Sales of Supply Chain (25) -记录层的BFS改进
    1076. Forwards on Weibo (30)
    1098. Insertion or Heap Sort (25)
    1077. Kuchiguse (20)
    (一二四)tableView的多组数据展示和手动排序
    1096. Consecutive Factors (20)
    (一二三)基于GCD的dispatch_once实现单例设计
    1084. Broken Keyboard (20)
  • 原文地址:https://www.cnblogs.com/jxcia_Lai/p/1929507.html
Copyright © 2011-2022 走看看