包括安装时提示有挂起的操作、收缩数据库、压缩数据库、转移数据库给新用户以已存在用户权限、检查备份集、修复数据库等 K-F<X85m :zH`@!h\\\\\\\"sE
运行以下语句把系统表的修改选项关掉; H..HdJL,4
W 8.l~v]
运行“sp_resetstatus "XXX" '1j<#j nj
;F^L@
go {nNxg{Iq
BEqG\:-x=
sp_configure 'allow updates', 0 F r1a+>e
snr"rDi?
reconfigure with override I5DcvhcU
VgQ2 Qt8P
Go” jx?+q%{2
8E\-f1#4
执行结果: ;TyAny$A
1 l=PQf
在 sysdatabases 中更新数据库 'XXX' 的条目之前,模式 = 0,状态 = 28(状态 suspect_bit = 0), re?Hz? l
vyR8Bj
没有更新 sysdatabases 中的任何行,因为已正确地重置了模式和状态。没有错误,未进行任何更改。 {Zy#Y,VY
AS# I3tk
DBCC 执行完毕。如果 DBCC 输出了错误信息,请与系统管理员联系。 SOT2W>MQ%
a=9AChQt7
已将配置选项 'allow updates' 从 1 改为 0。请运行 RECONFIGURE 语句以安装。 GI@lLT"`W
rn,xd8H]
~[UbpJ(
G1U!7U
重新建立另外一个数据库XXX.Lost; `YLpXaU"f
]ymu"t
DTS导出向导 rFRp P03\<
$rKqif~qIy
运行DTS导出向导; Y. 1Z
|7sdhw_
复制源选择EmergencyMode的数据库XXX,导入到XXX.Lost; qxI~$
dq<RzwEt]
选择“在SQL Server数据库之间复制对象和数据”,试了多次,好像不行,只是复制过来了所有表结构,但是没有数据,也没有视图和存储过程,而且DTS向导最后报告复制失败; -yg@"
.uEL/q
所以最后选择“从源数据库复制表和视图”,但是后来发现,这样总是只能复制一部分表记录; iXvmVIfs$
p "9,5AK
于是选择“用一条查询指定要传输的数据”,缺哪个表记录,就导哪个; ( 5u
a?W1DH_)7
视图和存储过程是执行SQL语句添加的。 cRr<!(6Vz
BbrXFtB
1@V(Z&
b}Pe hYp
12.维护Sql Server中表的索引 vh^F>
bD+w|tNs~g
在使用和创建数据库索引中经常会碰到一些问题,在这里可以采用一些另类的方法解决… !S!' <r8n\
pG)avsLzI
--第一步:查看是否需要维护,查看扫描密度/Scan Density是否为100% ?e<8>43&
declare @table_id int jLovxnh
set @table_id=object_id('表名') `Y1{.qY_E
dbcc showcontig(@table_id) Ic o"4;x
rdz):tm
--第二步:重构表索引 g&dk^RSl1
dbcc dbreindex('表名',pk_索引名,100) aN21ulzd
yf[?w"Wol
--重做第一步,如发现扫描密度/Scan Density还是小于100%则重构表的所有索引 }6HSX\S
--杨铮:并不一定能达100%。 e^Yeg|T3!
dbcc dbreindex('表名','',100) }i/uK>CK}J
OXo}q
c`]58qBs
[(Z[{,,
13.SQL Server补丁版本的检查 E&nS^8 8b
]O WDG~V
SQL Server的补丁版本检查不如Windows 补丁版本检查直接,一个系统管理员,如果不了解SQL Server版本对应的补丁号,可能也会遇到一点麻烦,因此在这说明一下,通过这样的办法判别机器是安全的办法,不会对系统产生任何影响。 |Ay}RmJ{8
1、用Isql或者SQL查询分析器登录到SQL Server,如果是用Isql,请在cmd窗口输入isql -U sa,然后输入密码,进入;如果是用SQL查询分析器,请从程序中启动,输入sa和密码(也可以用windows验证)。 tvs{#K@j
2、在ISQL中输入: cF;a:VkC
Select @@Version; f<XDrP'v
go >db49EN^
Q[D\A)K{
或者SQL查询分析器中输入(其实如果不想输入,只要打开帮助的关于就可以了:)) #Q;>G/\h$
Select @@Version; rXY T%Ga
然后按执行; H;l`ok|m
这时会返回SQL的版本信息,如下: l ATj |
Microsoft SQL Server 2000 - 8.00.760 (Intel X86) Dec 17 2002 14:22:05 Copyright (c) 1988-2003 Microsoft Corporation Enterprise Edition on Windows NT 5.0 (Build 2195: Service Pack 3) FxRZ kT
其中的8.00.760就是SQL Server的版本和补丁号。对应关系如下: W .7sS b
&h u(~
SQL Server 2000 版本和级别 @@VERSION 产品级别 NF9Bs&q
SQL Server 2000 原始版本 8.00.194 RTM AIuiv6R>Tb
Database Components SP1 8.00.384 SP1 U(Lwe@n
Database Components SP2 8.00.534 SP2 aK $`|
Database Components SP3、SP3a 或 MSDE 2000 Release A 8.00.760 SP3 Y&nI#3I
Database Components SP4 8.00.2039 SP4 qJztT1xI%
]fXIbo!
" H8W>J&w
这样我们就能看到SQL Server的正确版本和补丁号了。 <W4Gqfzt"
IQk:4=i
我们也可以用xp_msver看到更详细的信息 ?E{7Ft>
N1~~V'GU