解决使用SQLServer2008R2的“sp_send_dbmail”发邮件,当邮件标
问题:使用SQLServer2008R2的“sp_send_dbmail”发邮件,当邮件标题、内容中有中文时就会变成“?”。 分析:?经过分析是因为安装数据库的排序规则 “ SQL_Latin1_General_CP1_CI_AS ”导致的。需求:安装数据库时,将字符集安装成了“SQL_Latin1_General_CP1_CI_AS”,现在需要将其更改为“Chinese_PRC_CI_AS”。 ? ? ? ??提示:使用下列脚本可以查询到当前数据库的排序规则(注意:排序规则在安装数据库时是可以选择的,大家常常会忽略。) ? ? ? ??
方法:重新生成系统数据库?,然后还原配置信息。 ? ? ? ? 提示:这种方法是有局限性的,重新生成 master、model、msdb 和 tempdb 系统数据库时,将删除这些数据库,然后在其原位置重新创建。?如果在重新生成语句中指定了新排序规则,则将使用该排序规则设置创建系统数据库。?用户对这些数据库所做的所有修改都会丢失。?例如,您在?master?数据库中的用户定义对象、在?msdb?中的预定作业或在?model?数据库中对默认数据库设置的更改都会丢失。
----------------------------------------------------------------------------------- 前期准备 ? ? ? ? ? 提示:如没有重要配置信息可以略过前期准备,如之前配置过了数据库邮件配置,则可以在重新生成系统数据库后再重新配置。 在重新生成系统数据库之前执行下列任务,以确保可以将系统数据库还原至它们的当前设置。
操作方法: Step1、先解压好SQLServer的安装文件,如:解压在D盘的“SQL Server 2008R2 x86 x64”文件夹下; Step2、开始-->运行输入“CMD”进入CMD模式,在命令行下进入SQL Server 安装文件所在目录(setup.exe文件所在目录,即“SQL Server 2008R2 x86 x64”目录下) Step3、运行命令:Net stop mssqlserver ?关闭mssqlserver服务,当提示成功后执行下一步; Step4、执行如下命令:Setup /QUIET /ACTION=REBUILDDATABASE /instancename=mssqlserver /SQLSYSADMINACCOUNTS=administrator /sapwd=XXXXXX /sqlcollation=Chinese_PRC_CI_AS? 提示:Step4执行的时间可能会有一些长,只要不报错,请安静等待命令行提示符出现,此时说明已经执行成功了;
参数说明: |