接手的某个数据库实例中,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
新闻热点
疑难解答