當前位置:首頁 » 編程語言 » sql排序規則修改

sql排序規則修改

發布時間: 2023-09-08 13:03:58

A. sql Server轉換資料庫的排序規則

什麼是排序規則?

排序規則指定了表示每個字元的位模式 它還指定了用於排序和比較字元的規則 排序規則具有下面的特徵

◆語言

◆區分大小寫

◆區分重音

◆區分假名

要了解伺服器當前使用的排序規則 可以在 SQL 查詢分析器中運行 sp_helpsort 系統過程

SQL Server 不支持使用多個排序規則的資料庫 因此 在 SQL Server 中創建的所有資料庫均使用默認的排喊瞎序規則 SQL Server 支持多個排序鄭譽空規則 SQL Server 資料庫可使用除默認排序規則以外的其他排序規則 此外 SQL Server 還支持使用排序規則(除資料庫創建的排序規則外)的列

在 DTS 中使用「使用排序規則」選項的條件

SQL Server 可包含多個資料庫或列 它們可以使用除默認排序規則以外的排序規則 因此 在數據轉換服務 (DTS) 中引入了名為「使用排序規則」的新選項 「使用排序規則」選項的行為由要執行的轉換的類型決定 如果要在 SQL Server 的兩個實例之間傳輸數據且啟用了「使用排序規則」選項 則數據將從源代碼頁轉換到目標代碼頁 如果沒有啟用「使用排序規則」選項且 SQL Server 的兩個實例中的代碼頁相同 則會直接傳輸數據 如果代碼頁不同 則數據將從源代碼頁轉換到目標代碼頁 但是 在傳輸數據時 轉換可能會出現錯誤

注意 如果排序規則用於數據本身並且列使用的是 COLLATE 子句 則排序規則很重要 「使用排序規則」選項確定當數據從一個排序規則傳輸到另一個排序規則時是否轉換代碼頁 「使用排序規則」選項不會影響是否設置了列定義的 COLLATE 屬性 因此 如果源表包含使用 COLLATE 子句創建的帶有特定排序規則的列 則此排序規則將在傳輸數據時得以保留 而不管是否在數據轉換服務向導中啟用了「使用排序規則」選項

不改變資料庫排序規則的轉換方法

下列方法不改變資料庫的排序規則

◆備份和還原虛鏈 在某伺服器上還原資料庫時 如果該伺服器使用的排序規則與用於備份的伺服器使用的排序規則不同 則不會將還原後的資料庫轉換為使用新的排序規則 資料庫排序規則仍保持原樣

◆分離和重新附加 如果分離使用某一排序規則創建的資料庫 並且將該資料庫重新附加到使用其他排序規則的另一伺服器 則該資料庫的排序規則不會改變 資料庫的排序規則仍保持原樣

◆復制資料庫向導 復制資料庫向導實質上使分離和重新附加的過程自動化了 資料庫的排序規則仍保持原樣

注意 復制資料庫向導僅在 SQL Server 中可用

在 SQL Server 中轉換資料庫的排序規則

要在運行 SQL Server 的兩台計算機之間更改資料庫的排序規則 必須在目標伺服器上創建用戶資料庫和所有對象 然後使用 DTS 或 bcp 實用工具傳輸數據

要將資料庫從運行 SQL Server 的計算機傳輸到運行 SQL Server 且具有另一排序規則的計算機 請按照下列步驟操作

備份源資料庫

使用 SQL Server 企業管理器為源資料庫中的所有對象創建腳本

要從資料庫的所有表中導出數據 請使用 DTS 或 bcp 實用工具

使用 SQL Server 企業管理器或 CREATE DATABASE 語句在目標伺服器上創建新的資料庫

注意 當使用 CREATE DATABASE 語句時 資料庫將使用與運行 SQL Server 的計算機相同的排序規則

使用 SQL 查詢分析器來運行在步驟 中創建的腳本 以便在目標資料庫中重新創建所有對象

注意 此表和列將使用與運行 SQL Server 的計算機相同的排序規則

使用 DTS 或 bcp 實用工具將數據導入到目標表中

將 SQL Server 中資料庫的排序規則轉換為 SQL Server 中的排序規則

要在 SQL Server 和 SQL Server 之間更改資料庫的排序規則 必須在傳輸數據之前 在目標伺服器上使用適當的排序規則創建資料庫 列或同時創建資料庫和列 但是 在將數據從 SQL Server 傳輸到 SQL Server 時 可以使用 DTS 刪除並重新創建對象 因此 在執行此操作時 必須在 DTS 中啟用「使用排序規則」選項

注意 請不要使用 SQL Server 中的 DTS 實用工具與運行 SQL Server 的計算機相互傳輸所有對象 如果必須在 SQL Server 和 SQL Server 之間傳輸數據 則必須使用 SQL Server 中的 DTS 實用工具

要將 SQL Server 中資料庫的排序規則轉換為 SQL Server 中的排序規則 請按照下列步驟操作

備份源資料庫

使用 SQL Server 企業管理器為源資料庫中的所有對象創建腳本

如果列必須使用其他排序規則 而不使用目標資料庫上的默認排序規則 請對腳本中相應列的排序規則進行必要的更改

使用適當的排序規則在目標伺服器上創建新的資料庫

使用 SQL 查詢分析器在目標伺服器上運行在步驟 中創建的腳本 以便在資料庫中重新創建所有對象

注意 新表和列使用與資料庫相同的排序規則 除非您為這些列指定了其他排序規則

使用 DTS 或 bcp 實用工具傳輸數據

注意 如果使用 DTS 請驗證下列信息

◆確保在將數據從 SQL Server 傳輸到 SQL Server 時啟用了「使用排序規則」選項

◆因為已在目標伺服器上使用適當的排序規則創建了對象 所以要禁用「首先創建目標對象」選項

在 SQL Server 中轉換資料庫的排序規則

要在 SQL Server 中轉換資料庫的排序規則 請按照下列步驟操作

備份源資料庫

注意所有列是否使用 COLLATE 子句

使用適當的排序規則在目標伺服器上創建新的資料庫

如果沒有列使用 COLLATE 子句 請使用 DTS 將數據傳輸到目標伺服器 為此 請啟用「使用排序規則」選項以進行代碼頁轉換 並將數據轉換為目標資料庫上的新排序規則 如果所有列均使用 COLLATE 子句 請按照下列步驟操作

a 為所有對象(不包括索引 觸發器 主鍵 外鍵 默認設置和約束)生成腳本 此外 確保啟用了「僅為與 版兼容的功能編寫腳本」選項 以便從腳本刪除 COLLATE 子句

注意 使用「僅為與 版兼容的功能編寫腳本」選項時 可以更改排序規則 但是 生成腳本時將不考慮任何新的 SQL Server 選項(包括用戶定義的函數 擴展屬性 INSTEAD OF 觸發器和視圖上的索引)

b 在目標資料庫上運行步驟 a 中創建的腳本 以便使用目標資料庫的排序規則創建對象

c 使用 DTS 僅傳輸源資料庫中的數據

d 成功傳輸數據後 將會為源資料庫中的所有約束 外鍵 主鍵和索引生成腳本

e 在目標資料庫上運行步驟 d 中創建的腳本

更改 master 資料庫的排序規則

如果要更改 master 資料庫的排序規則 則必須重建 master 資料庫 在重建 master 資料庫時 實質上是創建了新的 master 資料庫 因此 重建 master 資料庫之前 應考慮下列事項

◆確保創建了當前 master 資料庫的有效備份 在重建 master 資料庫時 還會重建 msdb 資料庫和 model 資料庫 因此 在重建 master 資料庫之前必須備份 msdb 資料庫和 model 資料庫 msdb 資料庫是用於存儲 SQL Server 作業 警報 運算符和 DTS 包的系統資料庫 model 資料庫是創建新資料庫時所使用的模板資料庫

◆因為重建 master 資料庫會創建一個新的 master 資料庫 所以必須在重建 master 資料庫之後重新輸入現有登錄信息 因此 還必須在重建 master 資料庫之前導出登錄信息 然後在重建 master 資料庫後 導入登錄信息

◆因為在重建 master 資料庫時會重建 msdb 資料庫 所以在重建 master 資料庫之前 必須為所有作業 警報和運算符生成腳本 此外 還必須確保移動了所有 DTS 包

◆因為在重建 master 資料庫時會重建 model 資料庫 所以在重建 master 資料庫之前 必須記下或導出以前對 model 資料庫所做的全部更改或為其生成腳本 重建 model 資料庫之後 請重新應用已記錄的全部更改

在 SQL Server 中更改 master 資料庫的排序規則

更改 master 資料庫的排序規則之前 請按照下列步驟操作

重建 master 資料庫之後 不會自動恢復在重建此資料庫之前創建的所有資料庫 因此 所有資料庫必須從備份進行還原 或者如果文件仍在磁碟上 則可以使用 sp_attach_db 系統存儲過程重新附加資料庫 請確保在重建 master 資料庫之前將所有必要的信息重新附加到現有資料庫

在重建 master 資料庫時 僅更改 master 資料庫 model 資料庫和 msdb 資料庫的排序規則 不會更改用戶資料庫的排序規則 要更改現有用戶資料庫的排序規則或者使用適當的排序規則創建新的資料庫 請使用 ALTER DATABASE 命令 然後使用 DTS 或 bcp 實用工具將數據傳輸到新的資料庫

注意 如果在 SQL Server 中使用 ALTER DATABASE 命令來更改資料庫的排序規則 則表中列的排序規則將不會自動更改 要更改列的排序規則 請使用 ALTER TABLE 命令和 ALTER COLUMN 命令 如果使用 DTS 則可以在傳輸數據或使用「使用排序規則」選項之前 使用適當的排序規則創建表和列 如果使用的 DTS 和表已經包含適當的排序規則 請確保在運行軟體包之前禁用了「首先刪除現有對象」選項

在 SQL Server 中更改 master 資料庫的排序規則

更改 master 資料庫的排序規則之前 請按照下列步驟操作

SQL Server 不支持資料庫使用除默認排序規則以外的排序規則 因此 在重建 master 資料庫之前 請從用戶資料庫中導出所有數據

為資料庫中的所有對象生成腳本

使用適當的排序規則重新創建 master 資料庫

創建新的資料庫 使用新的默認排序規則自動創建新的資料庫

lishixin/Article/program/SQLServer/201311/22349

B. 如何更改SQL Server 2008 R2的排序規則

請問怎麼更改排序規則呢

1.sp_helpsort
SELECT SERVERPROPERTY ('Collation')
查看你的排序規則.
不過你的這個應該和字元集有關.

2.更改伺服器排序規則
更改 SQL Server 2005 實例的默認排序規則的操作可能會比較復雜,包括以下步驟:

確保具有重新創建用戶資料庫及這些資料庫中的所有對象所需的全部信息或腳本。
使用工具(例如大容量復制)導出所有數據。
刪除所有用戶資料庫。
重新生成在 setup 命令的 SQLCOLLATION 屬性中指定新的排序規則的 master 資料庫。例如:
復制代碼
start /wait setup.exe /qb INSTANCENAME=MSSQLSERVER REINSTALL=SQL_Engine REBUILDDATABASE=1 SAPWD=test SQLCOLLATION=SQL_Latin1_General_CP1_CI_AI
有關重新生成 master 資料庫的詳細信息,請參閱如何重新生成 SQL Server 2005 的 Master 資料庫。
創建所有資料庫及這些資料庫中的所有對象。
導入所有數據。
注意:
可以為創建的每個新資料庫指定默認排序規則,而不更改 SQL Server 2005 實例的默認排序規則。

3.設置和更改資料庫排序規則
創建新資料庫時,可以使用下列內容之一指定排序規則:
CREATE DATABASE 語句的 COLLATE 子句。
SQL Server Management Studio.
SQL 管理對象 (SMO) 中的 Database.Collation 屬性。
如果未指定排序規則,則使用伺服器排序規則。
可以使用 ALTER DATABASE 語句的 COLLATE 子句來更改在用戶資料庫中創建的任何新對象的排序規則。使用此語句不能更改任何現有用戶定義的表中列的排序規則。使用 ALTER TABLE 的 COLLATE 子句可以更改這些列的排序規則。
更改資料庫排序規則時,需要更改下列內容:
資料庫的默認排序規則,這一新的默認排序規則將應用於資料庫中後續創建的所有列、用戶定義的數據類型、變數和參數。根據資料庫中定義的對象解析 SQL 語句中指定的對象標識符時,也使用新的默認排序規則。
將系統表中的任何 char、varchar、text、nchar、nvarchar 或 ntext 列更改為使用新的排序規則。
將存儲過程和用戶定義函數的所有現有 char、varchar、text、nchar、nvarchar 或 ntext 參數和標量返回值更改為使用新的排序規則。
將 char、varchar、text、nchar、nvarchar 或 ntext 系統數據類型和基於這些系統數據類型的所有用戶定義的數據類型更改為使用新的默認排序規則。

SQL code :

1.將資料庫的字元集修改為:
alter database dbname collate Chinese_PRC_CI_AS

2.

--1. 為資料庫指定排序規則
CREATE DATABASE db COLLATE Chinese_PRC_CI_AS
GO

ALTER DATABASE db COLLATE Chinese_PRC_BIN
GO

/*====================================*/

--2. 為表中的列指定排序規則
CREATE TABLE tb(
col1 varchar(10),
col2 varchar(10) COLLATE Chinese_PRC_CI_AS)
GO

ALTER TABLE tb ADD col3 varchar(10) COLLATE Chinese_PRC_BIN
GO

ALTER TABLE tb ALTER COLUMN col2 varchar(10) COLLATE Chinese_PRC_BIN
GO

/*====================================*/

--3. 為字元變數和參數應用排序規則
DECLARE @a varchar(10),@b varchar(10)
SELECT @a='a',@b='A'

--使用排序規則 Chinese_PRC_CI_AS
SELECT CASE WHEN @a COLLATE Chinese_PRC_CI_AS = @b THEN '@a=@b' ELSE '@a<>@b' END
--結果:@a=@b

--使用排序規則 Chinese_PRC_BIN
SELECT CASE WHEN @a COLLATE Chinese_PRC_BIN = @b THEN '@a=@b' ELSE '@a<>@b' END
--結果:@a<>@b

3.

ALTER TABLE tb
ALTER COLUMN colname nvarchar(100) COLLATE Chinese_PRC_CI_AS
--不區分大小寫
ALTER TABLE tb
ALTER COLUMN colname nvarchar(100) COLLATE Chinese_PRC_CS_AS
--區分大小寫
資料庫
ALTER DATABASE database
COLLATE Chinese_PRC_CS_AS
--區分大小寫

ALTER DATABASE database COLLATE Chinese_PRC_CI_AS --不區分大小寫

方法一.安裝SQL時選擇區分大小寫
或安裝完以後重建mastar,選擇區分大小
C:\Program Files\Microsoft SQL Server\80\Tools\Binn\rebuildm.exe

C. 如何用SQL語句修改欄位的排序規則

SQL排序子句的語法是:ORDER
BY
{column_name
[ASC|DESC]}
[,…n]
大括弧{}的內容表示是必有的內容(這里應該是你提問的內容)
中括弧[]表示的是可選的內容
連接符|連接的是任意有一個的謹絕毀派內容
例如:order
by
seq_id;--seq_id假設是表中的序號欄位,這樣是預設按asc順序排序
order
by
seq_id
desc;--顯式指定排序的方式,desc降序排序
order
by
1;--按輸出結果集的第一個欄位,預設按asc順序排序
order
by
1,3
desc,5;--按輸出結果集的第一個欄位,預設按asc順序排祥余姿序;第3個欄位,顯式明確按降序排序;第5個欄位,預設按asc順序排序

D. SQL如何修改存儲過程中的排序規則

改變資料庫的排序規則(做ALTER之前,要中斷所有用戶對此資料庫的訪問)
語法:
use
master
go
ALTER
DATABASE
資料庫名
COLLATE
排序規則名
例子:
use
master
go
ALTER
DATABASE
luwanzhufa
COLLATE
Chinese_PRC_CS_AS
Chinese_PRC_CS_AS這個是簡體中文。而且區分大小寫的排序規則。
192
Japanese_BIN
二進制順序、用於
932(日文)字元集。
193
Japanese_CI_AS
字典順序、不區分大小寫、用於
932(日文)字元集。
200
Japanese_CS_AS
字典順序、區分大小寫、用於
932(日文)字元集。
198
Chinese_PRC_BIN
二進制順序、用於
936(簡體中文)字元集。
199
Chinese_PRC_CI_AS
字典順序、不區分大小寫、用於
936(簡體中文)字元集。
203
Chinese_PRC_CS_AS
字典順序、區分大小寫、用於
936(簡體中文)字元集。

E. 修改SQL資料庫排序規則修改表欄位排序規則

修改SQL資料庫排序規則修改表欄位排序規則
修改SQL資料庫排序規則:
1.修改數數為單用戶模式
2.然後關閉所有的查詢窗口,修改Options的Collocation屬性,如:Chinese_PRC_90_CI_AS
3.再修改為多用戶模式
修改表欄位排序規則:
使用旦改存儲過程處理,可以指定對應的表,
存儲過程處理步驟:
1-刪除外鍵
(含對應的sql語句)
2-刪除主鍵
(含對應的sql語句)
2.5-刪除索引
(含對應的sql語句)
3-修改排序規則
(含對應的sql語句)
4-生成主鍵
(含對應的sql語句)
5-生成外鍵
(含對應的sql語句)
6-生成索引
(含對應的sql語句)
7-執行對應的sql語句及導出

不執行對應的模畢判sql語句只導出
存儲過程下載:

F. 更改SQL Server 2012 資料庫排序規則

針對市面上有部份應用系統或者ERP系統對於資料庫的排序規則是有要求,若安裝資料庫時沒有留意,採用默認安裝後,導致應用打開出現異常或者亂碼現象。其實不用再卸載重裝,通過如下步驟進行更改,節省大量的時間:

1、先停止需要變更 sqlserver 的服務 : 在 運行命令行中 services.msc 命令,在打開的服界面打到並關閉sql server 的服務;(直接通過 Net stop mssqlserver 語句也可以關閉SQL Server 後台服務)

2、執行命令:(cmd命令行)

F:>Setup /QUIET /ACTION=REBUILDDATABASE /INSTANCENAME=MSSQLSERVER /SQLSYSADMINACCOUNTS=administrator /SAPWD=****** /SQLCOLLATION=Chinese_PRC_BIN

參數介紹:

InstanceName : MSSQLSERVER 默認為:MSSQLSERVER

SQLSYSADMINACCOUNTS: administrator 默認為:administrator

StrongPassword : sa賬號的密碼

CollationName : Chinese_PRC_BIN (根據實際情況需要填寫)

F:>setup為安裝文件存放路徑;

3、等幾分鍾。出現成功提示

4、執行命令 Net start mssqlserver 啟動 SqlServer

5、原有各個資料庫會被移出,需要手動進行「附加資料庫」資料庫操作

G. SQL Server的排序規則在什麼時候能夠進行設置或修改

SQL
Server的默認排序規則只能在安裝SQL
Server的時候才能修改,如果只是修改一個庫,除了樓上給出的代碼修改外,還可以自己手動修改,右鍵單擊你需要修改的資料庫,選擇屬性,在彈出的對話框中選擇選項,選項對話框中有個排序規則的下拉框。一般都是選擇的Chinese_PRC_CI_AS

H. 如何用SQL語句修改欄位的排序規則

創建伏遲數據表的時候,欄位在表中的排列位置就已經確定了。不過,使用ALTER TABLE語句可以改變欄位在表中的排列位置。

在MySQL中,修改欄位排列位置的基本語法格式如下扒舉:
ALTER TABLE 表名 MODIFY 欄位名1 數據類型 FIRST | AFTER 欄位名2;

其中:
•欄位名1:表示需要修改位置的欄位的名稱。
•數據類型:表示「欄位名1」的數據類型。
•FIRST:指定位置為表的第一個位置。
•AFTER 欄位名2:指定「欄位名1」插入在「欄位名2」之後。

MySQL欄位修改到第一個位置

FIRST參數可以指定欄位為表的第一個欄位。

實例:將ke369表中的stu_name欄位修改為該表的第一個欄位。操作步驟如下:

1. 使用DESC語句查看ke369表的結構,以查看stu_name欄位的排列位置。如下圖所示:

查看stu_name欄位的排列位置

從查詢結果中可以看出,stu_ www.hbbz08.com name欄位為ke369表的第二個欄位。

2. 將ke369表中的stu_name欄位修改為該表的第一個欄位。SQL代碼如下:
ALTER TABLE ke369 MODIFY stu_name VARCHAR(30) FIRST;

在DOS提示符窗口中查看MySQL欄位修改到第一個位置的操作效果。如下圖所示:

在DOS提示符窗口中查看MySQL欄位修改到第一個位置的操作效果

代碼執行完畢,結果顯示stu_name欄位修改成功。

3. 使用DESC語句重新查看ke369表的結構,缺此李以檢查stu_name欄位在該表中的新位置。如下圖所示:

檢查stu_name欄位在該表中的新位置

查詢結果顯示,stu_name欄位已經成為了ke369表中的第一個欄位,操作成功。

MySQL欄位修改到指定位置

「AFTER 欄位名2」參數可以將欄位重新設置到表中指定的欄位之後。

實例:將ke369表中num欄位更改到address欄位之後。操作步驟如下:

1. 從上圖中可以看出,num欄位排在address欄位的前面。

2. 將ke369表中num欄位更改到address欄位之後。SQL代碼如下:
ALTER TABLE ke369 MODIFY num INT(8) AFTER address;

在DOS提示符窗口中查看MySQL欄位修改到指定位置的操作效果。如下圖所示:

在DOS提示符窗口中查看MySQL欄位修改到指定位置的操作效果

代碼執行完畢,結果顯示num欄位修改成功。

3. 使用DESC語句重新查看ke369表的結構,以便檢查num欄位是否排在了address欄位後面。如下圖所示:

I. 如何在 SQL Server 中轉換資料庫的排序規則

1.
SQL
Server
不支持資料庫使用除默認排序規則以外的排序規則。因此,在重建
master
資料庫之前,請從用戶資料庫中導出所有數據。2.
為資料庫中的所有對象生成腳本。3.
使用適當的排序規則重新創建
master
資料庫。4.
創建新的資料庫。使用新的默認排序規則自動創建新的資料庫。5.
運行以前保存的腳本以重新創建對象,然後導入以前導出的數據。

J. 如何修改SQL資料庫默認排序

在網上查了一些關於更改SQL SERVER2012資料庫安裝後的默認排序規則(Server Collation)的方法。經過實踐測試,把成功的方法記錄於此,方便大家查閱。具體的操作還是比較簡單的:1.首先打開命令提示符,即win+r,在彈出的窗口中輸入cmd即可進入命令提示符窗口;2.在命令提示符窗口中定位在你的SQL SERVER 2012安裝包的根目錄(注意:是SQL SERVER 2012的安裝包喲)如我的安裝在D盤的Download文件夾下的SQLSERVER2012SP1文件夾下,那麼就進行到SQLSERVER2012SP1這個目錄下3.最後運行如下命令:D:DownloadSQLServer2012SP1>Setup /QUIET /ACTION=REBUILDDATABASE /INSTANCENAME=MSSQLSERVER /SQLSYSADMINACCOUNTS=account /SAPWD=xxxxxxxx /SQLCOLLATION=Chinese_PRC_CI_AS
即可更改SQL SERVER 2012的默認排序規則(Server Collation)。第三步中的參數說明:INSTANCENAME:資料庫的實例名,默認的就是:你的資料庫管理賬號SAPWD:sa賬戶的密碼,可選SQLCOLLATION:需要修改成的排序規則

熱點內容
滑板鞋腳本視頻 發布:2025-02-02 09:48:54 瀏覽:432
群暉怎麼玩安卓模擬器 發布:2025-02-02 09:45:23 瀏覽:557
三星安卓12彩蛋怎麼玩 發布:2025-02-02 09:44:39 瀏覽:743
電腦顯示連接伺服器錯誤 發布:2025-02-02 09:24:10 瀏覽:537
瑞芯微開發板編譯 發布:2025-02-02 09:22:54 瀏覽:146
linux虛擬機用gcc編譯時顯示錯誤 發布:2025-02-02 09:14:01 瀏覽:235
java駝峰 發布:2025-02-02 09:13:26 瀏覽:651
魔獸腳本怎麼用 發布:2025-02-02 09:10:28 瀏覽:538
linuxadobe 發布:2025-02-02 09:09:43 瀏覽:212
sql2000資料庫連接 發布:2025-02-02 09:09:43 瀏覽:726