建msdbSQL Server 修复MSDB: 妙趣横生(sqlserver 重)
的解决方案
当我们使用数据库技术去建设一个应用时,微软SQL Server 2005/2008 是一个很好的选择。MS SQL Server 是个优秀的数据库服务器,它可以应付一些复杂的任务。事实上,当今MS SQL Server 发挥着重要而且积极的功能,它拥有大量数据,如过程、sp.报表和任务。然而,有些情况下,MS SQL Server 的msdb 数据库可能会损坏,当这些结构被损坏的时候就没有建议的备份来方便的进行恢复数据。
为此,我们可以利用msdb修复方法来修复MS SQL Server。msdb 修复很完善,它可以快速地修复MS SQL Server的msdb数据库,优点是它可以保证MS SQL Server的性能和安全性,它也可以保证一切操作的安全性。
在使用msdb修复MS SQL Server之前,必须确保每一个数据子系统都已经正常地运行,没有任何错误。首先,可以通过检查SQL诊断日志,文件和事件日志等信息收集相关数据查看MS SQL Server的状态,而且也可以查看msdb的存储结构,这将有助于msdb的修复:
SELECT * FROM sys. sql_logins;
SELECT * FROM sys. sql_modules;
SELECT * FROM sys. sql_userdefined_functions;
查看相关msdb日志信息后,再以下脚本进行修复:
— Create the msdb temp tables.
USE msdb
GO
CREATE TABLE #msdb_temp (
db_name SYSNAME NOT NULL
,db_id SMALLINT NOT NULL
,name SYSNAME NOT NULL
,type CHAR (2) NOT NULL
,type_desc VARCHAR (60) NOT NULL
,[create_date] DATETIME NULL
,[modify_date] DATETIME NULL
,[state] TINYINT NOT NULL
,[state_desc] VARCHAR (60) NOT NULL
,[is_recover] TINYINT NOT NULL
)
GO
— Insert the temp table with the relevant values
INSERT INTO #msdb_temp EXEC sp_helpdb
GO
— Run the recovery of the msdb database.
EXEC sp_repairdb ‘msdb’
GO
— Check to see if the msdb recovery was successful.
SELECT *
FROM #msdb_temp
WHERE db_name = ‘msdb’
AND type = ‘D’
GO
— Drop the temp table.
DROP TABLE #msdb_temp
GO
由于 MS SQL Server 的 msdb 数据库定期要被修复,我们可以采取定期进行 msdb 数据库修复的计划,使用msdb修复可以保证 MS SQL Server 数据库的性能以及安全性,如此让MS SQL Server 得到持续性维护。所以,建msdb SQL Server 修复 MSDB 是一个妙趣横生的解决方案,可以通过这种方式来维护我们的 MS SQL Server 数据库。