SQL Server 重新生成系统数据库(转:http://msdn.microsoft.com/zh-cn/library/dd207003.aspx)
必须重新生成系统数据库才能修复 master、model、msdb 或 resource 系统数据库中的损坏问题或者修改默认的服务器级排序规则。本主题提供如何重新生成系统数据库的分步说明。
重新生成 master、model、msdb 和 tempdb 系统数据库时,将删除这些数据库,然后在其原位置重新创建它们。如果在重新生成语句中指定了新排序规则,则将使用该排序规则设置创建系统数据库。用户对这些数据库所做的所有修改都会丢失。例如,您在 master 数据库中的用户定义对象、msdb 中的预定作业或 model 数据库中对默认数据库设置的更改都会丢失。
在重新生成系统数据库之前执行下列任务,以确保可以将系统数据库还原至它们的当前设置。
- 记录所有服务器范围的配置值。
 
- 记录所有应用到 SQL Server 实例和当前排序规则的 Service Pack 和修补程序。重新生成系统数据库后必须重新应用这些更新。
 
- 记录系统数据库的所有数据文件和日志文件的当前位置。重新生成系统数据库会将所有系统数据库安装到其原位置。如果已将系统数据库数据文件或日志文件移动到其他位置,则必须重新移动这些文件。
 
- 找到 master、model 和 msdb 数据库的当前备份。
- 如果将 SQL Server 的实例配置为复制分发服务器,请找到该分发数据库的当前备份。
- 确保您有重新生成系统数据库的相应权限。必须是 sysadmin 固定服务器角色的成员才能执行此操作。有关详细信息,请参阅服务器级别角色。
- 请验证本地服务器上是否有 master、model、msdb 数据模板文件和日志模板文件的副本。模板文件的默认位置是 C:\Program Files\Microsoft SQL Server\MSSQL10_50.MSSQLSERVER\MSSQL\Binn\Templates。在重新生成过程中要用到这些文件,而且若想让安装成功这些文件就必须存在。如果缺少这些文件,请运行安装程序的“修复”功能或者手动从安装介质中复制这些文件。若要在安装介质上查找这些文件,请导航到相应的平台目录(x86、x64 或 ia64),然后导航到 setup\sql_engine_core_inst_msi\Pfiles\SqlServr\MSSQL.X\MSSQL\Binn\Templates。
以下过程将重新生成 master、model、msdb 和 tempdb 系统数据库。无法指定要重新生成哪些系统数据库。对于群集实例,必须在活动节点上执行此过程。此过程不重新生成 resource 数据库。请参阅本主题后面的“resource 数据库重新生成过程”部分。
重新生成 SQL Server 2008 实例的系统数据库:- 
将 SQL Server 2008 安装介质插入到磁盘驱动器中,或者在本地服务器上,从命令提示符处将目录更改为 setup.exe 文件的位置。在服务器上的默认位置为 C:\Program Files\Microsoft SQL Server\100\Setup Bootstrap\Release。 
- 
在命令提示符窗口中,输入以下命令。方括号用来指示可选参数。不要输入括号。在使用 Windows Vista 操作系统且启用了用户帐户控制 (UAC) 时,运行安装程序需要提升的特权。必须以管理员身份运行命令提示符。 Setup /QUIET /ACTION=REBUILDDATABASE /INSTANCENAME=InstanceName /SQLSYSADMINACCOUNTS=accounts /[ SAPWD= StrongPassword ] [ /SQLCOLLATION=CollationName] 参数名称 说明 /QUIET 或 /Q 指定在没有任何用户界面的情况下运行安装程序。 /ACTION=REBUILDDATABASE 指定安装程序将重新创建系统数据库。 /INSTANCENAME=实例名称 是 SQL Server 实例的名称。对于默认实例,请输入 MSSQLSERVER。对于命名实例,请以 server_name\instance_name 格式输入其名称。 /SQLSYSADMINACCOUNTS=帐户 指定要添加到 sysadmin 固定服务器角色中的 Windows 组或单个帐户。指定多个帐户时,请用空格将帐户隔开。例如,请输入 BUILTIN\Administrators MyDomain\MyUser。当您在帐户名称内指定包含空格的帐户时,用双引号将该帐户引起来。例如,输入 NT AUTHORITY\SYSTEM。 [ /SAPWD=强密��� ] 指定 SQL Server sa 帐户的密码。如果实例使用混合身份验证(SQL Server 和 Windows 身份验证)模式,则此参数是必需的。  安全说明:sa 帐户是一个广为人知的 SQL Server 帐户,并且经常成为恶意用户的攻击目标。因此,为 sa 登录名使用强密码非常重要。 安全说明:sa 帐户是一个广为人知的 SQL Server 帐户,并且经常成为恶意用户的攻击目标。因此,为 sa 登录名使用强密码非常重要。不要为 Windows 身份验证模式指定此参数。 [ /SQLCOLLATION=排序规则名称 ] 指定新的服务器级排序规则。此参数可选。如果没有指定,则使用服务器的当前排序规则。  重要提示:更改服务器级排序规则不会更改现有用户数据库的排序规则。默认情况下,所有新创建的用户数据库都将使用新排序规则。 重要提示:更改服务器级排序规则不会更改现有用户数据库的排序规则。默认情况下,所有新创建的用户数据库都将使用新排序规则。有关详细信息,请参阅设置和更改服务器排序规则。 
- 
在安装程序完成系统数据库重新生成后,它将返回到命令提示符,而且不显示任何消息。请检查 Summary.txt 日志文件以验证重新生成过程是否成功完成。此文件位于 C:\Program Files\Microsoft SQL Server\100\Setup Bootstrap\Logs。 
重新生成数据库后,您可能需要执行以下额外任务:
- 应用最新的 Service Pack 和任何适用的修补程序。
- 还原 master、model 和 msdb 数据库的最新完整备份。有关详细信息,请参阅备份和还原系统数据库的注意事项。
 如果没有备份或者还原的备份不是最新的,请重新创建所有缺失的条目。例如,重新创建用户数据库、备份设备、SQL Server 登录名、端点等缺少的所有条目。重新创建这些条目的最佳方法是运行创建它们的原始脚本。 重要提示: 重要提示:如果更改了服务器排序规则,请不要还原系统数据库。否则,将使新排序规则替换为以前的排序规则设置。 
|  安全说明: | 
|---|
| 建议您保护好脚本,以防未经授权的人员更改脚本。 
 | 
- 如果将 SQL Server 实例配置为复制分发服务器,则必须还原分发数据库。有关详细信息,请参阅备份和还原复制的数据库。
- 将系统数据库移到您以前记录的位置。有关详细信息,请参阅移动系统数据库。
- 验证服务器范围的配置值是否与您以前记录的值相符。
以下过程将重新生成 resource 系统数据库。重新生成 resource 数据库时,所有的 Service Pack 和修补程序都将丢失,因此必须重新应用。
重新生成 resource 系统数据库:- 
从 SQL Server 2008 分发介质中启动 SQL Server 安装程序 (setup.exe)。 
- 
在左侧导航区域中单击“维护”,然后单击“修复”。 
- 
安装程序支持规则和文件例程将运行,以确保您的系统上安装了必备组件,并且计算机能够通过安装程序验证规则。单击“确定”或“安装”以继续操作。 
- 
在“选择实例”页上,选择要修复的实例,然后单击“下一步”。 
- 
将运行修复规则以验证修复操作。若要继续,请单击“下一步”。 
- 
在“准备修复”页上,单击“修复”。“完成”页指示修复操作已完成。 
语法和其他运行时错误会显示在命令提示符窗口中。检查 Setup 语句中是否存在以下语法错误:
- 每个参数名称前面缺少斜杠标记 (/)。
- 参数名称和参数值之间缺少等号 (=)。
- 参数名称和等号之间存在空格。
- 存在逗号 (,) 或语法中未指定的其他字符。
重新生成操作完成后,请检查 SQL Server 日志中是否存在任何错误。默认的日志位置是 C:\Program Files\Microsoft SQL Server\100\Setup Bootstrap\Logs。若要查找包含重新生成过程的结果的日志文件,请从命令提示符处将目录更改到“Logs”文件夹,然后运行 findstr /s RebuildDatabase summary*.*。此搜索将引导您找到包含系统数据库重新生成结果的所有日志文件。打开日志文件,检查其中有无相关错误消息。
 
                    
                     
                    
                 
                    
                 
                
            
         
         浙公网安备 33010602011771号
浙公网安备 33010602011771号