標籤:重新安裝 作業 記錄 密碼 技術分享 語句 一個 www author
需求
安裝資料庫時,將字元集安裝成了“SQL_Latin1_General_CP1_CI_AS”,現在需要將其更改為“Chinese_PRC_CI_AS”。
方法
重建系統資料庫 ,然後還原配置資訊。
局限
重建 master、model、msdb 和 tempdb 系統資料庫時,將刪除這些資料庫,然後在其原位置重新建立。 如果在重建語句中指定了新定序,則將使用該定序設定建立系統資料庫。 使用者對這些資料庫所做的所有修改都會丟失。 例如,您在 master 資料庫中的使用者定義對象、在 msdb 中的預定作業或在 model 資料庫中對預設資料庫設定的更改都會丟失。
前期準備
在重建系統資料庫之前執行下列任務,以確保可以將系統資料庫還原至它們的當前設定。
- 記錄所有伺服器範圍的配置值。 SELECT * FROM sys.configurations;
- 記錄所有應用到 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;
- 記錄系統資料庫的所有資料檔案和記錄檔的當前位置。 重建系統資料庫會將所有系統資料庫安裝到其原位置。 如果已將系統資料庫資料檔案或記錄檔移動到其他位置,則必須再次移動這些檔案。 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‘));
- 如果將 SQL Server 的執行個體配置為複製散發者,請找到該散發資料庫的當前備份。
- 確保您有重建系統資料庫的相應許可權。 必須是 sysadmin 固定伺服器角色的成員才能執行此操作。 有關詳細資料,請參閱伺服器層級角色。
- 將原資料庫的帳號、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執行個體預設字元集