欧美激情网,国产欧美亚洲高清,欧美屁股xxxxx,欧美群妇大交群,欧美人与物ⅴideos另类,区二区三区在线 | 欧洲

知識學(xué)堂
  • ·聯(lián)系電話:+86.023-75585550
  • ·聯(lián)系傳真:+86.023-75585550
  • ·24小時手機(jī):13896886023
  • ·QQ 咨 詢:361652718 513960520
當(dāng)前位置 > 首頁 > 知識學(xué)堂 > 網(wǎng)站建設(shè)知識
SQL Server數(shù)據(jù)庫常用的T-SQL命令
更新時間:2011-12-23 | 發(fā)布人:本站 | 點擊率:566

1. 查看數(shù)據(jù)庫的版本

select @@version

2.查看數(shù)據(jù)庫所在機(jī)器操作系統(tǒng)參數(shù)

exec master..xp_msver

3. 查看數(shù)據(jù)庫啟動的參數(shù)

sp_configure

4.查看數(shù)據(jù)庫啟動時間

select convert(varchar(30),login_time,120) from master..sysprocesses where spid=1

查看數(shù)據(jù)庫服務(wù)器名和實例名

print ''Server Name...............: '' + convert(varchar(30),@@SERVERNAME)

print ''Instance..................: '' + convert(varchar(30),@@SERVICENAME)

5. 查看所有數(shù)據(jù)庫名稱及大小

sp_helpdb

重命名數(shù)據(jù)庫用的SQL

sp_renamedb ''old_dbname'', ''new_dbname''

6. 查看所有數(shù)據(jù)庫用戶登錄信息

sp_helplogins

查看所有數(shù)據(jù)庫用戶所屬的角色信息

sp_helpsrvrolemember

修復(fù)遷移服務(wù)器時孤立用戶時,可以用的fix_orphan_user腳本或者LoneUser過程

更改某個數(shù)據(jù)對象的用戶屬主

sp_changeobjectowner [@objectname =] ''object'', [@newowner =] ''owner''

注意: 更改對象名的任一部分都可能破壞腳本和存儲過程。

把一臺服務(wù)器上的數(shù)據(jù)庫用戶登錄信息備份出來可以用add_login_to_aserver腳本

7. 查看鏈接服務(wù)器

sp_helplinkedsrvlogin

查看遠(yuǎn)端數(shù)據(jù)庫用戶登錄信息

sp_helpremotelogin

8.查看某數(shù)據(jù)庫下某個數(shù)據(jù)對象的大小

sp_spaceused @objname

還可以用sp_toptables過程看最大的N(默認(rèn)為50)個表

查看某數(shù)據(jù)庫下某個數(shù)據(jù)對象的索引信息

sp_helpindex @objname

還可以用SP_NChelpindex過程查看更詳細(xì)的索引情況

SP_NChelpindex @objname

clustered索引是把記錄按物理順序排列的,索引占的空間比較少。

對鍵值DML操作十分頻繁的表我建議用非clustered索引和約束,fillfactor參數(shù)都用默認(rèn)值。

查看某數(shù)據(jù)庫下某個數(shù)據(jù)對象的的約束信息

sp_helpconstraint @objname

9.查看數(shù)據(jù)庫里所有的存儲過程和函數(shù)

use @database_name

sp_stored_procedures

查看存儲過程和函數(shù)的源代碼

sp_helptext ''@procedure_name''

查看包含某個字符串@str的數(shù)據(jù)對象名稱

select distinct object_name(id) from syscomments where text like ''%@str%''

創(chuàng)建加密的存儲過程或函數(shù)在AS前面加WITH ENCRYPTION參數(shù)

解密加密過的存儲過程和函數(shù)可以用sp_decrypt過程

10.查看數(shù)據(jù)庫里用戶和進(jìn)程的信息

sp_who

查看SQL Server數(shù)據(jù)庫里的活動用戶和進(jìn)程的信息

sp_who ''active''

查看SQL Server數(shù)據(jù)庫里的鎖的情況

sp_lock

進(jìn)程號1--50是SQL Server系統(tǒng)內(nèi)部用的,進(jìn)程號大于50的才是用戶的連接進(jìn)程.

spid是進(jìn)程編號,dbid是數(shù)據(jù)庫編號,objid是數(shù)據(jù)對象編號

查看進(jìn)程正在執(zhí)行的SQL語句

dbcc inputbuffer ()

推薦大家用經(jīng)過改進(jìn)后的sp_who3過程可以直接看到進(jìn)程運行的SQL語句

sp_who3

檢查死鎖用sp_who_lock過程

sp_who_lock

11.收縮數(shù)據(jù)庫日志文件的方法

收縮簡單恢復(fù)模式數(shù)據(jù)庫日志,收縮后@database_name_log的大小單位為M

backup log @database_name with no_log

dbcc shrinkfile (@database_name_log, 5)

12.分析SQL Server SQL 語句的方法:

set statistics time {on | off}

set statistics io {on | off}

圖形方式顯示查詢執(zhí)行計劃

在查詢分析器->查詢->顯示估計的評估計劃(D)-Ctrl-L 或者點擊工具欄里的圖形

文本方式顯示查詢執(zhí)行計劃

set showplan_all {on | off}

set showplan_text { on | off }

set statistics profile { on | off }

13.出現(xiàn)不一致錯誤時,NT事件查看器里出3624號錯誤,修復(fù)數(shù)據(jù)庫的方法

先注釋掉應(yīng)用程序里引用的出現(xiàn)不一致性錯誤的表,然后在備份或其它機(jī)器上先恢復(fù)然后做修復(fù)操作

alter database [@error_database_name] set single_user

修復(fù)出現(xiàn)不一致錯誤的表

dbcc checktable(''@error_table_name'',repair_allow_data_loss)

或者選擇修復(fù)出現(xiàn)不一致錯誤的小型數(shù)據(jù)庫名

dbcc checkdb(''@error_database_name'',repair_allow_data_loss)

alter database [@error_database_name] set multi_user

CHECKDB 有3個參數(shù):

repair_allow_data_loss 包括對行和頁進(jìn)行分配和取消分配以改正分配錯誤、結(jié)構(gòu)行或頁的錯誤,

以及刪除已損壞的文本對象,這些修復(fù)可能會導(dǎo)致一些數(shù)據(jù)丟失。

修復(fù)操作可以在用戶事務(wù)下完成以允許用戶回滾所做的更改。

如果回滾修復(fù),則數(shù)據(jù)庫仍會含有錯誤,應(yīng)該從備份進(jìn)行恢復(fù)。

如果由于所提供修復(fù)等級的緣故遺漏某個錯誤的修復(fù),則將遺漏任何取決于該修復(fù)的修復(fù)。

修復(fù)完成后,請備份數(shù)據(jù)庫。

repair_fast 進(jìn)行小的、不耗時的修復(fù)操作,如修復(fù)非聚集索引中的附加鍵。

這些修復(fù)可以很快完成,并且不會有丟失數(shù)據(jù)的危險。

repair_rebuild 執(zhí)行由 repair_fast 完成的所有修復(fù),包括需要較長時間的修復(fù)(如重建索引)。

執(zhí)行這些修復(fù)時不會有丟失數(shù)據(jù)的危險。