关于作者

MS-sql study one

上一篇 / 下一篇  2007-06-06 16:25:08 / 个人分类:ms-sql

  • 文件版本: V1.0
  • 开发商: 本站原创
  • 文件来源: 本地
  • 界面语言: 简体中文
  • 授权方式: 免费
  • 运行平台: Win9X/Win2000/WinXP
SQL Server 管理常用的SQL和T-SQL(二)

1. 查看数据库的版本    CNOUG博客首页 KE6u#]`(_pR"D
   select @@versionCNOUG博客首页O}%L+|+F"ch"rD^
   
S9x/lO7Pd"p0   常见的几种SQL SERVER打补丁后的版本号:
lhT1D4C&Y\Q0uBi0   CNOUG博客首页(t6R!D.MbPuG
    8.00.194   Microsoft SQL Server 2000 CNOUG博客首页Y$J^QB:_#?A#\ ~
    8.00.384   Microsoft SQL Server 2000 SP1 
Jdi4}Q0    8.00.532   Microsoft SQL Server 2000 SP2 
X}?1~'L I!PF0    8.00.760   Microsoft SQL Server 2000 SP3 
o0U-]6cC,f0    8.00.818   Microsoft SQL Server 2000 SP3 w/ Cumulative Patch MS03-031 CNOUG博客首页q#f)HKN"X
    8.00.2039  Microsoft SQL Server 2000 SP4  CNOUG博客首页+`0}Aw%u%O
   
-Je7T1tK Hwa02. 查看数据库所在机器操作系统参数    CNOUG博客首页Yv5Y0c Q^2[M;k!y,K
   exec master..xp_msverCNOUG博客首页 O vjLe a
   
!P^%K]V&@&M!R.r*fP03. 查看数据库启动的参数        
$e!C\ j*}Z:^/ys&O0   sp_configureCNOUG博客首页_jb _p8X w?/]h
        CNOUG博客首页{TVOE4F}s)J I|
4. 查看数据库启动时间        
,z3ZP#\!f,bx6@#B0   select convert(varchar(30),login_time,120) from master..sysprocesses where spid=1
Re@*Wk }0   CNOUG博客首页"a;Nog y2~{
   查看数据库服务器名和实例名
wgSCH![0   print 'Server Name...............: ' + convert(varchar(30),@@SERVERNAME)        CNOUG博客首页,^iE0QOK
   print 'Instance..................: ' + convert(varchar(30),@@SERVICENAME)      
xB2|7c&D9C0
/oGQLN&S\ @H05. 查看所有数据库名称及大小
{"F0_7Dv:pHm0   sp_helpdb
)iv1A;l1F kzm*l0   
pf4Db o|i M0   重命名数据库用的SQLCNOUG博客首页 _R,P e$d1t)E
   sp_renamedb 'old_dbname', 'new_dbname'CNOUG博客首页k+t V.M&@0suxg:FE
   
:s\o;iHP?6r oL06. 查看所有数据库用户登录信息CNOUG博客首页.g1k5U3vF?]{
   sp_helplogins
^6ry.uA.b0   CNOUG博客首页0]W5}Z:h U
   查看所有数据库用户所属的角色信息    
j$v;z7s5O!D0   sp_helpsrvrolememberCNOUG博客首页*H R&ezYP+v z
   
#b x3f~Ur2o.yj0   修复迁移服务器时孤立用户时,可以用的fix_orphan_user脚本或者LoneUser过程
G0h'Z oH)gN%n1pa0   CNOUG博客首页F;B5c[Y0M
   更改某个数据对象的用户属主
(D.I"n;N @Q%qN8b#B7F0   sp_changeobjectowner [@objectname =] 'object', [@newowner =] 'owner'CNOUG博客首页 R*C2T[4^t"tNs(e
   
2I2qP3Cx-_U$`k0   注意: 更改对象名的任一部分都可能破坏脚本和存储过程。CNOUG博客首页W.J1p:[0?l(J
   CNOUG博客首页,j-ZI5p4A
   把一台服务器上的数据库用户登录信息备份出来可以用add_login_to_aserver脚本
3L,`,ypZ@V2u7Y0   
)I |R4U@-{ `Rpm0   查看某数据库下,对象级用户权限
9y D.A@A_\VG0   sp_helprotectCNOUG博客首页We*_"cU {U
   CNOUG博客首页O.c9j|HQ
7. 查看链接服务器        CNOUG博客首页$oz(U`&^-h
   sp_helplinkedsrvloginCNOUG博客首页nQ"{1^s
   
xh @^c'hcPBh0   查看远端数据库用户登录信息    CNOUG博客首页guCr9O z
   sp_helpremoteloginCNOUG博客首页 \7K(Z'S&z*s+b]!MNW+|
   
D9n H5W.ht:O08.查看某数据库下某个数据对象的大小
2w,aq5|&bF8S.e0   sp_spaceused @objname
k4|Zm*b,r.U*qs6f%J0  CNOUG博客首页O{6^ {^:z
   还可以用sp_toptables过程看最大的N(默认为50)个表
~T,`-~$H'pY I/Io0  
&TNl|A7S:| K0   查看某数据库下某个数据对象的索引信息CNOUG博客首页6M#EK?K-]Q|
   sp_helpindex @objnameCNOUG博客首页9kx8_#f!^b"Y
   
^-g*[ Sw C!a(t0   还可以用SP_NChelpindex过程查看更详细的索引情况
X X0US PW q]9r@0   SP_NChelpindex @objnameCNOUG博客首页bMP"i/Y;z.l LJ6y
   
FC3N.c'@{ ZL.y0   clustered索引是把记录按物理顺序排列的,索引占的空间比较少。 
-XQ9|:k/_N%Et%p0   对键值DML操作十分频繁的表我建议用非clustered索引和约束,fillfactor参数都用默认值。CNOUG博客首页!Ld pnT/WlY:E9i3O
CNOUG博客首页B7|z)T&]2g M:Zdi
   查看某数据库下某个数据对象的的约束信息
\,ib MUVlC\0   sp_helpconstraint @objnameCNOUG博客首页 S/O:jy+wW
  
R8H"g4|b!Q09.查看数据库里所有的存储过程和函数CNOUG博客首页 U GWC @a[ \ N9B3V
   use @database_nameCNOUG博客首页fsgCVh`#v5^8w
   sp_stored_procedures
U^bY%_Be ~n3]0
(cAh-q MW0   查看存储过程和函数的源代码CNOUG博客首页vGkAh ppx
   sp_helptext '@procedure_name'CNOUG博客首页B|5XE#deVy
   
DzP7c @2g6W7`\0   查看包含某个字符串@str的数据对象名称
7UZ(U#G:?tK1z~0   select distinct object_name(id) from syscomments where text like '%@str%'
TwEQ2Oo5z0  
+l xLv/[^x0   创建加密的存储过程或函数在AS前面加WITH ENCRYPTION参数CNOUG博客首页.g(q"P7o(s#x!l.I0V.}
  
X&CY]lt$c0   解密加密过的存储过程和函数可以用sp_decrypt过程
4S'Kj {S:~K5_0  
s|S2`8Q}0       10.查看数据库里用户和进程的信息CNOUG博客首页z8e/jAgr
   sp_whoCNOUG博客首页}"h|2Z|.h/{@

(?'jD6_oz7W0  查看SQL Server数据库里的活动用户和进程的信息CNOUG博客首页3J~O/~"]!kkz5x
   sp_who 'active'CNOUG博客首页v&[,@4PGf

f/Mb*K|0  查看SQL Server数据库里的锁的情况CNOUG博客首页p x3q Dv)b(W:d
   sp_lock
8s5h,x EB8@2}4Q G1o0   CNOUG博客首页Xr0WC0g
   进程号1--50是SQL Server系统内部用的,进程号大于50的才是用户的连接进程.CNOUG博客首页 w'r?(wVc

9k!I-J0e0nH&q0   spid是进程编号,dbid是数据库编号,objid是数据对象编号
O2[*Q U [ e0
;Z)F8K~ x%`]n)h0   查看进程正在执行的SQL语句CNOUG博客首页7y7{r n,[ gb K-b z
   dbcc inputbuffer ()
0RH$k?#h@7I0           
iD.v2?4y8R0  推荐大家用经过改进后的sp_who3过程可以直接看到进程运行的SQL语句CNOUG博客首页z[ _$~&\"~\
   sp_who3CNOUG博客首页3J wqAZ e
   
6g7gM2gs lf6W0  检查死锁用sp_who_lock过程
Drm6ff0H {0   sp_who_lock    
/m\0T'iRv&ec+GP0       CNOUG博客首页A6F?o4R_^
       11.查看和收缩数据库日志文件的方法CNOUG博客首页&D mr TpX'JD&b
       
%j^2Ga F]q-QF0          查看所有数据库日志文件大小          
2p.a*vKgS7O.B0          dbcc sqlperf(logspace)CNOUG博客首页5wg|%ge a8RQ
 
fX i3r-IO(y0          如果某些日志文件较大,收缩简单恢复模式数据库日志,收缩后@database_name_log的大小单位为M
8}F:We4ZT0   backup log @database_name with no_logCNOUG博客首页)|:W Vzx2@Cp/a
   dbcc shrinkfile (@database_name_log, 5)
+i5g2Dvx0
e1s.KU xT8d6r0       12.分析SQL Server SQL 语句的方法:CNOUG博客首页1TZ$nUK_ M.{LKY3B
       CNOUG博客首页^i\Wy&X5Z6dI
   set statistics time {on | off}CNOUG博客首页7Z,upJDU

hI7o2i!h+L t0   set statistics io {on | off}CNOUG博客首页gVs3Ud4c](@

#D%OJ;|6E0           图形方式显示查询执行计划
)q:ReO4UVD$Lj0           CNOUG博客首页 ` a%FFS4V4S&f
           在查询分析器->查询->显示估计的评估计划(D)-Ctrl-L 或者点击工具栏里的图形CNOUG博客首页%n)]"j}QU
           CNOUG博客首页C6Nx%\9i[
           文本方式显示查询执行计划CNOUG博客首页r kie;o(?+D%e
CNOUG博客首页dT3P`/v,@
   set showplan_all {on | off}CNOUG博客首页5bo#}O y5A/W
   
Jdm+Pc+c;A0   set showplan_text { on | off }CNOUG博客首页uS!` e-aO2h

,_{/Da};B0   set statistics profile { on | off }
dkW:N K }0   CNOUG博客首页+a(f)}0XT
 
:F Kje&d0       13.出现不一致错误时,NT事件查看器里出3624号错误,修复数据库的方法
Y-m$JC/w~m#Jk0  CNOUG博客首页0]^)lT2oK}0_E
  先注释掉应用程序里引用的出现不一致性错误的表,然后在备份或其它机器上先恢复然后做修复操作
ay#Sz+E0hB4Z0  CNOUG博客首页-q5[F*ni,]6r8e3b
  alter database [@error_database_name] set single_userCNOUG博客首页KL&A7a\UK
  CNOUG博客首页jr x~6I
  修复出现不一致错误的表CNOUG博客首页6] sot@
  
x4}9Kay"}0  dbcc checktable('@error_table_name',repair_allow_data_loss)
.l)@#xO7Z ?Z0  
mi/Y&e8~1h0  或者可惜选择修复出现不一致错误的小型数据库名
7k(j5B:}A|m7WMx0  CNOUG博客首页d"fl/ER!G$P^P
  dbcc checkdb('@error_database_name',repair_allow_data_loss)CNOUG博客首页M#V,v*Atj ~k
CNOUG博客首页 X'|4i:Q8F2K/\s:c,|
  alter database [@error_database_name] set multi_user
'G3J Zp.g{ _9[FC0CNOUG博客首页E.gN0cw
  CHECKDB 有3个参数:CNOUG博客首页I x:{C{#d}o-O
CNOUG博客首页8q$hh!YH*Z
  repair_allow_data_loss 包括对行和页进行分配和取消分配以改正分配错误、结构行或页的错误,CNOUG博客首页 SPJ;J]k7@6y
  以及删除已损坏的文本对象,这些修复可能会导致一些数据丢失。
:q*X rs,aW-gG0Dw:c0  修复操作可以在用户事务下完成以允许用户回滚所做的更改。CNOUG博客首页N itm&K
  如果回滚修复,则数据库仍会含有错误,应该从备份进行恢复。CNOUG博客首页)dU2|me(vU!j(o)E
  如果由于所提供修复等级的缘故遗漏某个错误的修复,则将遗漏任何取决于该修复的修复。
X:U:zF.oH5itlv0  修复完成后,请备份数据库。 CNOUG博客首页m)AV*T A G"f

)nog:h K/x0  repair_fast 进行小的、不耗时的修复操作,如修复非聚集索引中的附加键。CNOUG博客首页VT6?VCu
  这些修复可以很快完成,并且不会有丢失数据的危险。 CNOUG博客首页Ad#bu)U

4Z)hU4K Y(Fk0  repair_rebuild 执行由 repair_fast 完成的所有修复,包括需要较长时间的修复(如重建索引)。
,n Z$g&^'gP3Q0  执行这些修复时不会有丢失数据的危险。 

TAG: ms-sql

 

评分:0

我来说两句

显示全部

:loveliness: :handshake :victory: :funk: :time: :kiss: :call: :hug: :lol :'( :Q :L ;P :$ :P :o :@ :D :( :)