首页 > 代码库 > 找回master库中被删除的系统表

找回master库中被删除的系统表

接手的某个数据库实例中,master数据库中的所有系统表都被误删除掉了。

最直接影响就是一旦涉及到要查询这些系统表,就会出现错误。

例如,右键电击某个数据,查看属性时会出现如下图所示错误:

那么怎么找回这些表呢?其中一个方法就是找一个正常的实例,在master数据库下找到这些表,并把这些表的脚本导出来,

在被删掉掉的master库中运行这些脚本,再利用sp_MS_marksystemobject把这些表标识为系统对象。

其实,这些表的脚本在sqlserver的安装包中也可以找到:假设安装包路径为E:\,则所在的路径为(这里以sqlserver 2008r2enterprise的安装包为例):

E:\x64\Setup\sql_engine_core_inst_msi\PFiles\SqlServr\MSSQL.X\MSSQL\Install

例如spt_values和spt_monitor的脚本就是u_tables.sql

找回master库中被删除的系统表