科技行者

行者学院 转型私董会 科技行者专题报道 网红大战科技行者

知识库

知识库 安全导航

至顶网软件频道SQL Server 数据库操作技巧锦集(4)

SQL Server 数据库操作技巧锦集(4)

  • 扫一扫
    分享文章到微信

  • 扫一扫
    关注官方公众号
    至顶头条

包括安装时提示有挂起的操作、收缩数据库、压缩数据库、转移数据库给新用户以已存在用户权限、检查备份集、修复数据库等 K-F<X85m :zH`@!h\\\\\\\"sE

作者:赛迪网技术社区 来源:赛迪网技术社区 2007年9月2日

关键字: 技巧 SQL Server SQL Server 各版本 数据库

  • 评论
  • 分享微博
  • 分享邮件
运行以下语句把系统表的修改选项关掉; 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
    • 评论
    • 分享微博
    • 分享邮件
    邮件订阅

    如果您非常迫切的想了解IT领域最新产品与技术信息,那么订阅至顶网技术邮件将是您的最佳途径之一。

    重磅专题
    往期文章
    最新文章