更改SQLServer執行個體預設字元集

來源:互聯網
上載者:User

標籤:重新安裝   作業   記錄   密碼   技術分享   語句   一個   www   author   

需求

      安裝資料庫時,將字元集安裝成了“SQL_Latin1_General_CP1_CI_AS”,現在需要將其更改為“Chinese_PRC_CI_AS”。

 

 

 

方法

           重建系統資料庫 ,然後還原配置資訊。

 

局限

重建 master、model、msdb 和 tempdb 系統資料庫時,將刪除這些資料庫,然後在其原位置重新建立。 如果在重建語句中指定了新定序,則將使用該定序設定建立系統資料庫。 使用者對這些資料庫所做的所有修改都會丟失。 例如,您在 master 資料庫中的使用者定義對象、在 msdb 中的預定作業或在 model 資料庫中對預設資料庫設定的更改都會丟失。

 

前期準備

在重建系統資料庫之前執行下列任務,以確保可以將系統資料庫還原至它們的當前設定。

  1. 記錄所有伺服器範圍的配置值。 SELECT * FROM sys.configurations;
  2. 記錄所有應用到 SQL Server      執行個體和當前定序的 Service Pack 和Hotfix。 重建系統資料庫後必須重新應用這些更新。 SELECT           SERVERPROPERTY(‘ProductVersion ‘) AS ProductVersion,           SERVERPROPERTY(‘ProductLevel‘) AS ProductLevel, SERVERPROPERTY(‘ResourceVersion‘) AS ResourceVersion,           SERVERPROPERTY(‘ResourceLastUpdateDateTime‘) AS ResourceLastUpdateDateTime,           SERVERPROPERTY(‘Collation‘) AS Collation;
  1. 記錄系統資料庫的所有資料檔案和記錄檔的當前位置。 重建系統資料庫會將所有系統資料庫安裝到其原位置。 如果已將系統資料庫資料檔案或記錄檔移動到其他位置,則必須再次移動這些檔案。 SELECT name, physical_name AS     current_file_location           FROM sys.master_files           WHERE database_id IN (DB_ID(‘master‘), DB_ID(‘model‘), DB_ID(‘msdb‘),     DB_ID(‘tempdb‘));
  1. 如果將      SQL Server 的執行個體配置為複製散發者,請找到該散發資料庫的當前備份。
  2. 確保您有重建系統資料庫的相應許可權。 必須是 sysadmin 固定伺服器角色的成員才能執行此操作。 有關詳細資料,請參閱伺服器層級角色。
  1. 將原資料庫的帳號、JOB等與系統資料庫相關的資訊全部備份起來(可以先產生相應的指令碼),分離掉所有使用者庫。

 

重建系統資料庫

運行下面的命令就可重建資料庫(根據您的系統,需要做相應的修改 ;D:/Setup 是資料庫安裝檔案所在的路徑)

D:/Setup /QUIET /ACTION=REBUILDDATABASE /INSTANCENAME=MSSQLSERVER /SQLSYSADMINACCOUNTS=Administrators /SAPWD=XXXX /SQLCOLLATION=Chinese_PRC_CI_AS

參數說明:

參數名稱

說明

/QUIET 或 /Q

指定在沒有任何使用者介面的情況下運行安裝程式。

/ACTION=REBUILDDATABASE

指定安裝程式將重新建立系統資料庫。

/INSTANCENAME=InstanceName

SQL  Server 執行個體的名稱。 對於預設執行個體,請輸入 MSSQLSERVER。

/SQLSYSADMINACCOUNTS=accounts

指定要添加到 sysadmin 固定伺服器角色中的 Windows 組或單個帳戶。 指定多個帳戶時,請用空格將帳戶隔開。 例如,請輸入 BUILTIN\Administrators  MyDomain\MyUser。 當您在帳戶名稱內指定包含空格的帳戶時,用雙引號將該帳戶引起來。 例如,輸入 NT AUTHORITY\SYSTEM。

[  /SAPWD=StrongPassword ]

指定 SQL  Server sa 帳戶的密碼。 如果執行個體使用混合身分識別驗證(SQL Server 和   Windows 身分識別驗證)模式,則此參數是必需的。

安全記事

sa 帳戶是一個廣為人知的 SQL Server 帳戶,並且經常成為惡意使用者的攻擊目標。 因此,為 sa 登入名稱使用強密碼非常重要。

不要為 Windows 身分識別驗證模式指定此參數。

[  /SQLCOLLATION=CollationName ]

指定新伺服器級定序。 此參數可選。 如果沒有指定,則使用伺服器的當前定序。

重要提示

更改伺服器級定序不會更改現有使用者資料庫的定序。 預設情況下,所有新建立的使用者資料庫都將使用新定序。

有關詳細資料,請參閱設定或更改伺服器定序。

 

安裝程式完成後,將顯示如下資訊,(你也可以檢查 Summary.txt 記錄檔以驗證重建過程是否成功完成。 此檔案位於 C:\Program Files\Microsoft SQL Server\100\Setup Bootstrap\Logs)。

 

檢查和修複

系統資料庫恢複完成後,先檢查一下字元集是否按要求恢複了:

字元集更改完成後,我們還需要附加上使用者資料庫,將原來的帳號和JOB等資訊以及配置資訊做修複,還需要修複孤立帳號等。

 

附加說明

  如果您只需要更改某個使用者資料庫的字元集,非常簡單:

  --修改資料庫字元集

  alter database DBName collate Chinese_PRC_CI_AS

 

注意

    以上恢複是在SQLServer2008R2版本上面完成的,不同的版本您可能需要做一些修改,另外此方法存在一定的風險(主要是在重建資料庫階段),產品環境

最好還是重新安裝資料庫。

更改SQLServer執行個體預設字元集

聯繫我們

該頁面正文內容均來源於網絡整理,並不代表阿里雲官方的觀點,該頁面所提到的產品和服務也與阿里云無關,如果該頁面內容對您造成了困擾,歡迎寫郵件給我們,收到郵件我們將在5個工作日內處理。

如果您發現本社區中有涉嫌抄襲的內容,歡迎發送郵件至: info-contact@alibabacloud.com 進行舉報並提供相關證據,工作人員會在 5 個工作天內聯絡您,一經查實,本站將立刻刪除涉嫌侵權內容。

A Free Trial That Lets You Build Big!

Start building with 50+ products and up to 12 months usage for Elastic Compute Service

  • Sales Support

    1 on 1 presale consultation

  • After-Sales Support

    24/7 Technical Support 6 Free Tickets per Quarter Faster Response

  • Alibaba Cloud offers highly flexible support services tailored to meet your exact needs.