方法二:
1、设置数据库为紧急模式;
2、停掉SQL Server服务;
3、把应用数据库的数据文件XXX_Data.mdf移走;
4、重新建立一个同名的数据库XXX;
5、停掉SQL服务;
6、把原来的数据文件再覆盖回来;
7、运行以下语句,把该数据库设置为紧急模式;
8、运行。
|
执行结果:
DBCC 执行完毕。(如果 DBCC 输出了错误信息,请与系统管理员联系。)已将配置选项 "allow updates" 从 0 改为 1。请运行 RECONFIGURE 语句以安装,接着运行“update sysdatabases set status = 32768 where name = "XXX"”。
执行结果:
重启SQL Server服务;运行以下语句,把应用数据库设置为Single User模式;运行“sp_dboption "XXX", "single user", "true"”。
执行结果:
命令已成功完成;做DBCC CHECKDB;运行“DBCC CHECKDB("XXX")”。
执行结果:
"XXX" 的 DBCC 结果;"sysobjects" 的 DBCC 结果;对象 "sysobjects" 有 273 行,这些行位于 5 页中;"sysindexes" 的 DBCC 结果;对象 "sysindexes" 有 202 行,这些行位于 7 页中;"syscolumns" 的 DBCC 结果。
运行以下语句把系统表的修改选项关掉,运行“sp_resetstatus "XXX":
|
执行结果:
在 sysdatabases 中更新数据库 "XXX" 的条目之前,模式 = 0,状态 = 28(状态 suspect_bit = 0),没有更新 sysdatabases 中的任何行,因为已正确地重置了模式和状态。没有错误,未进行任何更改。
DBCC 执行完毕。(如果 DBCC 输出了错误信息,请与系统管理员联系。)已将配置选项 "allow updates" 从 1 改为 0。请运行 RECONFIGURE 语句以安装;重新建立另外一个数据库XXX.Lost。
DTS导出向导:
12.维护SQL Server中表的索引
在使用和创建数据库索引中经常会碰到一些问题,在这里可以采用一些另类的方法解决:
第一步:查看是否需要维护,查看扫描密度/Scan Density是否为100%:
|
第二步:重构表索引:
|
重做第一步,如发现扫描密度/Scan Density还是小于100%则重构表的所有索引:
|
13.SQL Server补丁版本的检查
SQL Server的补丁版本检查不如Windows
1、用ISQL或者SQL查询分析器登录到SQL Server,如果是用ISQL,请在cmd窗口输入iSQL -U sa,然后输入密码,进入;如果是用SQL查询分析器,请从程序中启动,输入sa和密码(也可以用windows验证)。
2、在ISQL中输入:
|
或者SQL查询分析器中输入(其实如果不想输入,只要打开帮助的关于就可以了:
|
然后按执行,这时会返回SQL的版本信息,如下:
|
这样我们就能看到SQL Server的正确版本和补丁号了与此同进也可以用xp_msver看到更详细的信息。