亚洲免费在线-亚洲免费在线播放-亚洲免费在线观看-亚洲免费在线观看视频-亚洲免费在线看-亚洲免费在线视频

MS-SQL數據庫系統表

系統 1938 0
      Select * From master.dbo.sysdatabases   查詢本數據庫信息

---------------------------------------------------------------------------------------------------------------------------

Sysobjects:SQL-SERVER的每個數據庫內都有此系統表,它存放該數據庫內創建的 

所有對象,如約束、默認值、日志、規則、存儲過程等,每個對象在表中占一行。

對象類型(xtype)。可以是下列對象類型中的一種: 

C = CHECK 約束 

D = 默認值或 DEFAULT 約束 

F = FOREIGN KEY 約束 

L = 日志 

FN = 標量函數 

IF = 內嵌表函數 

P = 存儲過程 

PK = PRIMARY KEY 約束(類型是 K) 

RF = 復制篩選存儲過程 

S = 系統表 

TF = 表函數 

TR = 觸發器 

U = 用戶表 

UQ = UNIQUE 約束(類型是 K) 

V = 視圖 

X = 擴展存儲過程 

當xtype='U' and status>0代表是用戶建立的表,對象名就是表名,對象ID就是表 

---------------------------------------------------------------------------------------------------------------------------

syscolumns :每個表和視圖中的每列在表中占一行,存儲過程中的每個參數在表 

Select c.*,t.name 

From dbo.syscolumns c  left join dbo.systypes t on c.xtype=t.xtype

where c.id in (Select id From sysobjects

             where name='NET_User')

---------------------------------------------------------------------------------------------------------------------------

Select * From sysaltfiles    主數據庫               保存數據庫的文件 

Select * From syscharsets    主數據庫               字符集與排序順序 

Select * From sysconfigures  主數據庫               配置選項 

Select * From syscurconfigs  主數據庫               當前配置選項 

Select * From sysdatabases   主數據庫               服務器中的數據庫 

Select * From syslanguages   主數據庫               語言 

Select * From syslogins      主數據庫               登陸帳號信息 

Select * From sysoledbusers  主數據庫               鏈接服務器登陸信息 

Select * From sysprocesses   主數據庫               進程 

Select * From sysremotelogins 主數據庫               遠程登錄帳號 

Select * From syscolumns     每個數據庫             列 

Select * From sysconstrains  每個數據庫             限制 

Select * From sysfilegroups  每個數據庫             文件組 

Select * From sysfiles       每個數據庫             文件 

Select * From sysforeignkeys 每個數據庫             外部關鍵字 

Select * From sysindexes      每個數據庫             索引 

Select * From sysmembers     每個數據庫             角色成員 

Select * From sysobjects     每個數據庫             所有數據庫對象 

Select * From syspermissions 每個數據庫             權限 

Select * From systypes       每個數據庫             用戶定義數據類型 

Select * From sysusers       每個數據庫             用戶

sql server系統表詳細說明 

sysaltfiles 主數據庫 保存數據庫的文件 

syscharsets 主數據庫字符集與排序順序

sysconfigures 主數據庫 配置選項

syscurconfigs 主數據庫當前配置選項

sysdatabases 主數據庫服務器中的數據庫

syslanguages 主數據庫語言

syslogins 主數據庫 登陸帳號信息

sysoledbusers 主數據庫 鏈接服務器登陸信息

sysprocesses 主數據庫進程

sysremotelogins主數據庫 遠程登錄帳號

syscolumns 每個數據庫 列

sysconstrains 每個數據庫 限制

sysfilegroups 每個數據庫 文件組

sysfiles 每個數據庫 文件

sysforeignkeys 每個數據庫 外部關鍵字

sysindexs 每個數據庫 索引

sysmenbers 每個數據庫角色成員

sysobjects 每個數據庫所有數據庫對象

syspermissions 每個數據庫 權限

systypes 每個數據庫 用戶定義數據類型

sysusers 每個數據庫 用戶

---------------------------------------------------------------------------------------------------------------------------

SELECT OBJECT_NAME (id) [OBJECT_NAME] FROM sysobjects WHERE xtype = 'U' AND OBJECTPROPERTY (id, 'IsMSShipped') = 0

SELECT     

                          表名=case   when   a.colorder=1   then   d.name   else   ''   end,   

                          表說明=case   when   a.colorder=1   then   isnull(f.value,'')   else   ''   end,   

                          字段序號=a.colorder,   

                          字段名=a.name,   

                          標識=case   when   COLUMNPROPERTY(   a.id,a.name,'IsIdentity')=1   then   '√'else   ''   end,   

                          主鍵=case   when   exists(SELECT   1   FROM   sysobjects   where   xtype='PK'   and   name   in   (   

                          SELECT   name   FROM   sysindexes   WHERE   indid   in(   

                          SELECT   indid   FROM   sysindexkeys   WHERE   id   =   a.id   AND   colid=a.colid   

                          )))   then   '√'   else   ''   end,   

                          類型=b.name,   

                          占用字節數=a.length,   

                          長度=COLUMNPROPERTY(a.id,a.name,'PRECISION'),   

                          小數位數=isnull(COLUMNPROPERTY(a.id,a.name,'Scale'),0),   

                          允許空=case   when   a.isnullable=1   then   '√'else   ''   end,   

                          默認值=isnull(e.text,''),   

                          字段說明=isnull(g.[value],'')   

                          FROM   syscolumns   a   

                          left   join   systypes   b   on   a.xusertype=b.xusertype   

                          inner   join   sysobjects   d   on   a.id=d.id     and   d.xtype='U'   and     d.name<>'dtproperties'   

                          left   join   syscomments   e   on   a.cdefault=e.id   

                          left   join   sysproperties   g   on   a.id=g.id   and   a.colid=g.smallid       

                          left   join   sysproperties   f   on   d.id=f.id   and   f.smallid=0   

                          where   d.name='NET_Department'         --如果只查詢指定表,加上此條件   

                          order   by   a.id,a.colorder



顯示每個表當前有多少行

SELECT TOP 100 Percent sysobjects.name,sysindexes.rows 

FROM sysindexes with(nolock)

JOIN sysobjects with(nolock) ON sysindexes.id = sysobjects.id AND sysobjects.xtype = 'u' 

WHERE sysindexes.indid in(0, 1) 

ORDER By sysobjects.name ASC

-------------------------------------------------------------------------------------------------------------------

SELECT               ---2005

    TableName=CASE WHEN C.column_id=1 THEN O.name ELSE N'' END,    

    Column_id=C.column_id,

    ColumnName=C.name,     

    Type=T.name,

    Length=C.max_length,

    Precision=C.precision,

    Scale=C.scale,

    NullAble=CASE WHEN C.is_nullable=1 THEN N'√'ELSE N'' END,

    [Default]=ISNULL(D.definition,N''),

    ColumnDesc=ISNULL(PFD.[value],N''),

    Create_Date=O.Create_Date,

    Modify_Date=O.Modify_date

FROM sys.columns C

    INNER JOIN sys.objects O

        ON C.[object_id]=O.[object_id]

            AND O.type='U'

            AND O.is_ms_shipped=0

    INNER JOIN sys.types T

        ON C.user_type_id=T.user_type_id

    LEFT JOIN sys.default_constraints D

        ON C.[object_id]=D.parent_object_id

            AND C.column_id=D.parent_column_id

            AND C.default_object_id=D.[object_id]

    LEFT JOIN sys.extended_properties PFD

        ON PFD.class=1 

            AND C.[object_id]=PFD.major_id 

            AND C.column_id=PFD.minor_id

    LEFT JOIN sys.extended_properties PTB

        ON PTB.class=1 

            AND PTB.minor_id=0 

            AND C.[object_id]=PTB.major_id

--where O.name='GoToneCustomService'  -- 要查詢的表名   如果不加默認是該庫底下的所有表

---------------------------------------------------------------------------------------------------------------------------

4.如何得到服務器的IP地址

create table #ip(id int identity(1,1),re varchar(200))

declare @s varchar(1000)

set @s='ping '+left(@@servername,charindex('/',@@servername+'/')-1)+' -a -n 1 -l 1'

insert #ip(re) exec master..xp_cmdshell @s

select 服務器名=@@servername,IP地址=stuff(left(re,charindex(']',re)-1),1,charindex('[',re),'')

from #ip

where id=2

drop table #ip



---------------------------------------------------------------------------------------------------------------------------

9.如何知道哪些觸發器被禁用?

--將trigger 在sysobjects 表中 status字段的值轉換為二進制的,第12位為1則表示禁止,為0表示允許

select 表名=object_name(parent_obj),觸發器名=name

 ,狀態=case status & power(2,11) when 0 then N'啟用' else N'禁用' end

from sysobjects  where type='TR'

---------------------------------------------------------------------------------------------------------------------------

select j.name as jobName,step_id,s.step_name,command,database_name from sysjobs j

right outer join sysjobsteps s

on j.job_id= s.job_id

--where subsystem ='tsql'

order by j.job_id,s.step_id



---------------------------------------------------------------------------------------------------------------------------

                                 作業

SELECT 作業的名稱 = name,

       對作業的說明 = description,

       計劃運行作業的下一個日期 = (SELECT top 1   left(left(next_run_date,4)+'-'+right(next_run_date,4),7)+'-'+right(next_run_date,2)

                       FROM   msdb.dbo.sysjobschedules

                       WHERE  job_id = sysjobs.job_id),

       計劃運行作業的時間 = (SELECT top 1   left(left(left('000000',6-len(next_run_time))+ltrim(next_run_time),2)+':'+right(left('000000',6-len(next_run_time))+ltrim(next_run_time),4),5)+':'+right(left('000000',6-len(next_run_time))+ltrim(next_run_time),2)

                    FROM   msdb.dbo.sysjobschedules

                    WHERE  job_id = sysjobs.job_id),

       作業的執行狀態 = CASE (SELECT   top 1   run_status

                       FROM     msdb.dbo.sysjobhistory

                       WHERE    job_id = sysjobs.job_id

                       ORDER BY instance_id DESC) 

                   WHEN 0 THEN '失敗'

                   WHEN 1 THEN '成功'

                   WHEN 2 THEN '重試'

                   WHEN 3 THEN '已取消'

                   WHEN 4 THEN '正在進行中'

                 END,

       作業或步驟開始執行的日期 = (SELECT   top 1   left(left(run_date,4)+'-'+right(run_date,4),7)+'-'+right(run_date,2)

                       FROM     msdb.dbo.sysjobhistory

                       WHERE    job_id = sysjobs.job_id

                       ORDER BY instance_id DESC),

       作業或步驟開始的時間 = (SELECT   top 1   left(left(left('000000',6-len(run_time))+ltrim(run_time),2)+':'+right(left('000000',6-len(run_time))+ltrim(run_time),4),5)+':'+right(left('000000',6-len(run_time))+ltrim(run_time),2)

                     FROM     msdb.dbo.sysjobhistory

                     WHERE    job_id = sysjobs.job_id

                     ORDER BY instance_id DESC),

       執行作業或步驟所花費的時間 = (SELECT   top 1  left(left(left('000000',6-len(run_duration))+ltrim(run_duration),2)+'小時'+right(left('000000',6-len(run_duration))+ltrim(run_duration),4),5)+'分鐘'+right(left('000000',6-len(run_duration))+ltrim(run_duration),2)+'秒' 

                        FROM     msdb.dbo.sysjobhistory

                        WHERE    job_id = sysjobs.job_id

                        ORDER BY instance_id DESC)

FROM   msdb.dbo.sysjobs

 

---------------------------------------------------------------------------------------------------------------------------

 SQL server 中的作業信息查詢     

作業信息存儲在MSDB中.可以運行以下存儲過程,監視作業的執行情況.

可以參考如下SQL:

SELECT 作業的名稱 = name,

       對作業的說明 = description,

       計劃運行作業的下一個日期 = (SELECT next_run_date

                       FROM   sysjobschedules

                       WHERE  job_id = sysjobs.job_id),

       計劃運行作業的時間 = (SELECT next_run_time

                    FROM   sysjobschedules

                    WHERE  job_id = sysjobs.job_id),

       作業的執行狀態 = CASE (SELECT   top 1   run_status

                       FROM     sysjobhistory

                       WHERE    job_id = sysjobs.job_id

                       ORDER BY instance_id DESC) 

                   WHEN 0 THEN '失敗'

                   WHEN 1 THEN '成功'

                   WHEN 2 THEN '重試'

                   WHEN 3 THEN '已取消'

                   WHEN 4 THEN '正在進行中'

                 END,

       作業或步驟開始執行的日期 = (SELECT   top 1   run_date

                       FROM     sysjobhistory

                       WHERE    job_id = sysjobs.job_id

                       ORDER BY instance_id DESC),

       作業或步驟開始的時間 = (SELECT   top 1   run_time

                     FROM     sysjobhistory

                     WHERE    job_id = sysjobs.job_id

                     ORDER BY instance_id DESC),

       執行作業或步驟所花費的時間 = (SELECT   top 1   run_duration

                        FROM     sysjobhistory

                        WHERE    job_id = sysjobs.job_id

                        ORDER BY instance_id DESC)

FROM   sysjobs

 如果監視備份作業的執行計劃,可以在描述中輸入:"備份" 等字樣,查詢時候可以用description 描述信息過濾.如下:

(注意:對某些字段盡心了翻譯和轉換)

SELECT 作業的名稱 = name,

       對作業的說明 = description,

       計劃運行作業的下一個日期 = (SELECT left(left(next_run_date,4)+'-'+right(next_run_date,4),7)+'-'+right(next_run_date,2)

                       FROM   sysjobschedules

                       WHERE  job_id = sysjobs.job_id),

       計劃運行作業的時間 = (SELECT left(left(left('000000',6-len(next_run_time))+ltrim(next_run_time),2)+':'+right(left('000000',6-len(next_run_time))+ltrim(next_run_time),4),5)+':'+right(left('000000',6-len(next_run_time))+ltrim(next_run_time),2)

                    FROM   sysjobschedules

                    WHERE  job_id = sysjobs.job_id),

       作業的執行狀態 = CASE (SELECT   top 1   run_status

                       FROM     sysjobhistory

                       WHERE    job_id = sysjobs.job_id

                       ORDER BY instance_id DESC) 

                   WHEN 0 THEN '失敗'

                   WHEN 1 THEN '成功'

                   WHEN 2 THEN '重試'

                   WHEN 3 THEN '已取消'

                   WHEN 4 THEN '正在進行中'

                 END,

       作業或步驟開始執行的日期 = (SELECT   top 1   left(left(run_date,4)+'-'+right(run_date,4),7)+'-'+right(run_date,2)

                       FROM     sysjobhistory

                       WHERE    job_id = sysjobs.job_id

                       ORDER BY instance_id DESC),

       作業或步驟開始的時間 = (SELECT   top 1   left(left(left('000000',6-len(run_time))+ltrim(run_time),2)+':'+right(left('000000',6-len(run_time))+ltrim(run_time),4),5)+':'+right(left('000000',6-len(run_time))+ltrim(run_time),2)

                     FROM     sysjobhistory

                     WHERE    job_id = sysjobs.job_id

                     ORDER BY instance_id DESC),

       執行作業或步驟所花費的時間 = (SELECT   top 1  left(left(left('000000',6-len(run_duration))+ltrim(run_duration),2)+'小時'+right(left('000000',6-len(run_duration))+ltrim(run_duration),4),5)+'分鐘'+right(left('000000',6-len(run_duration))+ltrim(run_duration),2)+'秒' 

                        FROM     sysjobhistory

                        WHERE    job_id = sysjobs.job_id

                        ORDER BY instance_id DESC)

FROM   sysjobs

WHERE description LIKE '%備份%'

這樣就可以監視到備份數據庫計劃的執行,前臺頁面就可以用Ajax來無刷新監視備份情況了.

測試后,SQL server 2005 也使用.


    

MS-SQL數據庫系統表


更多文章、技術交流、商務合作、聯系博主

微信掃碼或搜索:z360901061

微信掃一掃加我為好友

QQ號聯系: 360901061

您的支持是博主寫作最大的動力,如果您喜歡我的文章,感覺我的文章對您有幫助,請用微信掃描下面二維碼支持博主2元、5元、10元、20元等您想捐的金額吧,狠狠點擊下面給點支持吧,站長非常感激您!手機微信長按不能支付解決辦法:請將微信支付二維碼保存到相冊,切換到微信,然后點擊微信右上角掃一掃功能,選擇支付二維碼完成支付。

【本文對您有幫助就好】

您的支持是博主寫作最大的動力,如果您喜歡我的文章,感覺我的文章對您有幫助,請用微信掃描上面二維碼支持博主2元、5元、10元、自定義金額等您想捐的金額吧,站長會非常 感謝您的哦!!!

發表我的評論
最新評論 總共0條評論
主站蜘蛛池模板: 久久欧美久久欧美精品 | 亚欧在线视频 | 久久天天躁狠狠躁夜夜躁综合 | 国产日韩一区二区 | 青青青青手机在线视频观看国产 | 福利视频在线观看午夜 | 中文字字幕乱码视频 | 成人a毛片免费视频观看 | 一级大片免费观看 | 欧美大交乱xxxxbbbb | 日本在线播放一区 | 国产精品99久久99久久久看片 | 久久综合一区 | 七七影院九色桃花78 | 日本在线高清不卡 | 久久久亚洲国产精品主播 | 久久国产精品国产精品 | 在线有码| 精品视频一区二区三区在线播放 | 韩国一大片a毛片 | 99热这里只有成人精品国产 | 成人在线播放 | 亚洲狠狠婷婷综合久久久久网站 | 午夜精品久久久久久久99热 | 有码在线 | 97人人网| 久久久久青草 | 日本不卡视频免费 | 豆国产96在线 | 亚洲 | 国产美女a做受大片在线观看 | 亚洲一级毛片免费在线观看 | 天天色网站 | 欧美日韩性猛交xxxxx免费看 | 狠狠色丁香婷婷综合小时婷婷 | 国产精品你懂的在线播放 | 色偷偷在线刺激免费视频 | 国产精品免费播放 | 四虎精品永久在线网址 | 中文字幕一区二区三区精品 | 一级欧美毛片成人免费视频 | 日日射夜夜操 |