转:更改SQLServer实例默认字符集

需求html

      安装数据库时,将字符集安装成了“SQL_Latin1_General_CP1_CI_AS”,如今须要将其更改成“Chinese_PRC_CI_AS”。数据库

 

 

 

方法安全

           从新生成系统数据库 ,而后还原配置信息。服务器

 

局限spa

从新生成 master、model、msdb 和 tempdb 系统数据库时,将删除这些数据库,而后在其原位置从新建立。 若是在从新生成语句中指定了新排序规则,则将使用该排序规则设置建立系统数据库。 用户对这些数据库所作的全部修改都会丢失。 例如,您在 master 数据库中的用户定义对象、在 msdb 中的预约做业或在 model 数据库中对默认数据库设置的更改都会丢失。3d

 

前期准备日志

在从新生成系统数据库以前执行下列任务,以确保能够将系统数据库还原至它们的当前设置。htm

  1. 记录全部服务器范围的配置值。
    SELECT * FROM sys.configurations;
  2. 记录全部应用到 SQL Server 实例和当前排序规则的 Service Pack 和修补程序。 从新生成系统数据库后必须从新应用这些更新。
    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 是数据库安装文件所在的路径)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

相关文章
相关标签/搜索