網域查詢: www.
返回首頁
當前位置: 首頁 > 站長學院 > 數據庫 > MSSQL >

管理常用SQL語句

時間:2010-02-17 17:17來源: 作者: 點擊:
SQL Server 數據庫管理常用的SQL和T-SQL︰ 1. 查看數據庫的版本 select @@version 常見的幾種SQL SERVER打補丁後的版本號︰ 8.00.194 Microsoft SQL Server 2000 8.00.384 Microsoft SQL Server 2000 SP1 8.00.532 Microsoft
  SQL Server 數據庫管理常用的SQL和T-SQL︰

 

 

  1. 查看數據庫的版本        
   select @@version
  常見的幾種SQL SERVER打補丁後的版本號︰
  8.00.194   Microsoft SQL Server 2000 
  8.00.384   Microsoft SQL Server 2000 SP1 
  8.00.532   Microsoft SQL Server 2000 SP2 
  8.00.760   Microsoft SQL Server 2000 SP3 
  8.00.818   Microsoft SQL Server 2000 SP3 w/ Cumulative Patch MS03-031 
  8.00.2039  Microsoft SQL Server 2000 SP4  

 

 

  2. 查看數據庫所在機器操作系統參數       
  exec master..xp_msver

 

 

  3. 查看數據庫啟動的參數        
  sp_configure

 

 

  4. 查看數據庫啟動時間        
  select convert(varchar(30),login_time,120) from master..sysprocesses where spid=1
  查看數據庫服務器名和實例名
  print 'Server Name...............︰' + convert(varchar(30),@@SERVERNAME)        
  print 'Instance..................︰' + convert(varchar(30),@@SERVICENAME)   
       
  5. 查看所有數據庫名稱及大小    
  sp_helpdb
  重命名數據庫用的SQL
  sp_renamedb 'old_dbname', 'new_dbname'

 

 

  6. 查看所有數據庫用戶登錄信息    
  sp_helplogins
  查看所有數據庫用戶所屬的角色信息       
  sp_helpsrvrolemember
  修復遷移服務器時孤立用戶時,可以用的fix_orphan_user腳本或者LoneUser過程
  更改某個數據對象的用戶屬主
     sp_changeobjectowner [@objectname =] 'object', [@newowner =] 'owner'
  注意︰更改對象名的任一部分都可能破壞腳本和存儲過程。
  把一台服務器上的數據庫用戶登錄信息備份出來可以用add_login_to_aserver腳本
  查看某數據庫下,對象級用戶權限
  sp_helprotect

 

 

  7. 查看鏈接服務器           
     sp_helplinkedsrvlogin
  查看遠端數據庫用戶登錄信息      sp_helpremotelogin

 

 

  8.查看某數據庫下某個數據對象的大小
  sp_spaceused @objname
  還可以用sp_toptables過程看最大的N(默認為50)個表
  查看某數據庫下某個數據對象的索引信息
  sp_helpindex @objname
  還可以用SP_NChelpindex過程查看更詳細的索引情況
  SP_NChelpindex @objname
  clustered索引是把記錄按物理順序排列的,索引佔的空間比較少。 
  對鍵值DML操作十分頻繁的表我建議用非clustered索引和約束,fillfactor參數都用默認值。
  查看某數據庫下某個數據對象的的約束信息
  sp_helpconstraint @objname 9.查看數據庫里所有的存儲過程和函數

  use @database_name

  sp_stored_procedures

  查看存儲過程和函數的源代碼

  sp_helptext '@procedure_name'

  查看包含某個字符串@str的數據對象名稱

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

  創建加密的存儲過程或函數在AS前面加WITH ENCRYPTION參數

  解密加密過的存儲過程和函數可以用sp_decrypt過程

 

 

  10.查看數據庫里用戶和進程的信息
  sp_who
  查看SQL Server數據庫里的活動用戶和進程的信息
  sp_who 'active'
  查看SQL Server數據庫里的鎖的情況
  sp_lock
  進程號1--50是SQL Server系統內部用的,進程號大于50的才是用戶的連接進程.
     spid是進程編號,dbid是數據庫編號,objid是數據對象編號
  查看進程正在執行的SQL語句
  dbcc inputbuffer ()
  推薦大家用經過改進後的sp_who3過程可以直接看到進程運行的SQL語句
  sp_who3
  檢查死鎖用sp_who_lock過程
  sp_who_lock 
              
  11.查看和收縮數據庫日志文件的方法
  查看所有數據庫日志文件大小          
  dbcc sqlperf(logspace)
  如果某些日志文件較大,收縮簡單恢復模式數據庫日志,收縮後@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}
  圖形方式顯示查詢執行計劃
  在查詢分析器->查詢->顯示估計的評估計劃(D)-Ctrl-L    或者點擊工具欄里的圖形
  文本方式顯示查詢執行計劃
  set showplan_all {on | off}
  set showplan_text { on | off }
  set statistics profile { on | off }

 

 

  13.出現不一致錯誤時,NT事件查看器里出3624號錯誤,修復數據庫的方法
  先注釋掉應用程序里引用的出現不一致性錯誤的表,然後在備份或其它機器上先恢復然後做修復操作
  alter database [@error_database_name] set single_user
  修復出現不一致錯誤的表
  dbcc checktable('@error_table_name',repair_allow_data_loss)
  或者可惜選擇修復出現不一致錯誤的小型數據庫名
  dbcc checkdb('@error_database_name',repair_allow_data_loss)
  alter database [@error_database_name] set multi_user 
  CHECKDB 有3個參數︰
  repair_allow_data_loss 包括對行和頁進行分配和取消分配以改正分配錯誤、結構行或頁的錯誤,以及刪除已損壞的文本對象,這些修復可能會導致一些數據丟失。
  修復操作可以在用戶事務下完成以允許用戶回滾所做的更改。
  如果回滾修復,則數據庫仍會含有錯誤,應該從備份進行恢復。
  如果由于所提供修復等級的緣故遺漏某個錯誤的修復,則將遺漏任何取決于該修復的修復。
  修復完成後,請備份數據庫。 
  repai*_**st 進行小的、不耗時的修復操作,如修復非聚集索引中的附加鍵。
  這些修復可以很快完成,並且不會有丟失數據的危險。 
  repair_rebuild 執行由 repai*_**st 完成的所有修復,包括需要較長時間的修復(如重建索引)。
  執行這些修復時不會有丟失數據的危險。
頂一下
(0)
0%
踩一下
(0)
0%
------分隔線----------------------------
最新評論 查看所有評論
發表評論 查看所有評論
請自覺遵守互聯網相關的政策法規,嚴禁發佈色情、暴力、反動的言論。
評價:
表情:
用戶名: 密碼: 驗證碼:
推薦內容