需求html
安裝數據庫時,將字符集安裝成了「SQL_Latin1_General_CP1_CI_AS」,如今須要將其更改成「Chinese_PRC_CI_AS」。數據庫
方法安全
從新生成系統數據庫 ,而後還原配置信息。服務器
侷限spa
從新生成 master、model、msdb 和 tempdb 系統數據庫時,將刪除這些數據庫,而後在其原位置從新建立。 若是在從新生成語句中指定了新排序規則,則將使用該排序規則設置建立系統數據庫。 用戶對這些數據庫所作的全部修改都會丟失。 例如,您在 master 數據庫中的用戶定義對象、在 msdb 中的預約做業或在 model 數據庫中對默認數據庫設置的更改都會丟失。3d
前期準備日誌
在從新生成系統數據庫以前執行下列任務,以確保能夠將系統數據庫還原至它們的當前設置。htm
從新生成系統數據庫對象
運行下面的命令就可重建數據庫(根據您的系統,須要作相應的修改 ;D:/Setup 是數據庫安裝文件所在的路徑)blog
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版本上面完成的,不一樣的版本您可能須要作一些修改,另外此方法存在必定的風險(主要是在重建數據庫階段),產品環境
最好仍是從新安裝數據庫。
原文地址:http://www.cnblogs.com/fygh/archive/2012/05/15/2501598.html