成人性生交大片免费看视频r_亚洲综合极品香蕉久久网_在线视频免费观看一区_亚洲精品亚洲人成人网在线播放_国产精品毛片av_久久久久国产精品www_亚洲国产一区二区三区在线播_日韩一区二区三区四区区区_亚洲精品国产无套在线观_国产免费www

主頁 > 知識庫 > 獲取SQL Server數(shù)據(jù)庫元數(shù)據(jù)的幾種方法

獲取SQL Server數(shù)據(jù)庫元數(shù)據(jù)的幾種方法

熱門標簽:電銷機器人被曝光 地圖標注一個圓圈怎么用 洛陽外呼系統(tǒng)平臺 廣州人工電銷機器人費用 怎樣把地圖標注導入公司地址 寧波人工外呼系統(tǒng)有效果嗎 如何在地圖標注自己店鋪 真人語音電銷機器人 400外呼系統(tǒng)合法

元數(shù)據(jù)簡介

元數(shù)據(jù) (metadata) 最常見的定義為“有關(guān)數(shù)據(jù)的結(jié)構(gòu)數(shù)據(jù)”,或者再簡單一點就是“關(guān)于數(shù)據(jù)的信息”,日常生活中的圖例、圖書館目錄卡和名片等都可以看作是元數(shù)據(jù)。在關(guān)系型數(shù)據(jù)庫管理系統(tǒng) (DBMS) 中,元數(shù)據(jù)描述了數(shù)據(jù)的結(jié)構(gòu)和意義。比如在管理、維護 SQL Server 或者是開發(fā)數(shù)據(jù)庫應用程序的時候,我們經(jīng)常要獲取一些涉及到數(shù)據(jù)庫架構(gòu)的信息:

◆某個數(shù)據(jù)庫中的表和視圖的個數(shù)以及名稱;
◆某個表或者視圖中列的個數(shù)以及每一列的名稱、數(shù)據(jù)類型、長度、精度、描述等;
◆某個表上定義的約束;
◆某個表上定義的索引以及主鍵/外鍵的信息。

下面我們將介紹幾種獲取元數(shù)據(jù)的方法。

獲取元數(shù)據(jù)

使用系統(tǒng)存儲過程與系統(tǒng)函數(shù)訪問元數(shù)據(jù)

獲取元數(shù)據(jù)最常用的方法是使用 SQL Server 提供的系統(tǒng)存儲過程與系統(tǒng)函數(shù)。

系統(tǒng)存儲過程與系統(tǒng)函數(shù)在系統(tǒng)表和元數(shù)據(jù)之間提供了一個抽象層,使得我們不用直接查詢系統(tǒng)表就能獲得當前數(shù)據(jù)庫對象的元數(shù)據(jù)。

常用的與元數(shù)據(jù)有關(guān)的系統(tǒng)存儲過程有以下一些:

系統(tǒng)存儲過程

◆sp_columns 返回指定表或視圖的列的詳細信息。
◆sp_databases 返回當前服務(wù)器上的所有數(shù)據(jù)庫的基本信息。
◆sp_fkeys 若參數(shù)為帶有主鍵的表,則返回包含指向該表的外鍵的所有表;若參數(shù)為帶有外鍵的表名,則返回所有同過主鍵/外鍵關(guān)系與該外鍵相關(guān)聯(lián)的所有表。
◆sp_pkeys 返回指定表的主鍵信息。
◆sp_server_info 返回當前服務(wù)器的各種特性及其對應取值。
◆sp_sproc_columns 返回指定存儲過程的的輸入、輸出參數(shù)的信息。
◆sp_statistics 返回指定的表或索引視圖上的所有索引以及統(tǒng)計的信息。
◆sp_stored_procedures 返回當前數(shù)據(jù)庫的存儲過程列表,包含系統(tǒng)存儲過程。
◆sp_tables 返回當前數(shù)據(jù)庫的所有表和視圖,包含系統(tǒng)表。

常用的與元數(shù)據(jù)有關(guān)的系統(tǒng)函數(shù)有以下一些:

系統(tǒng)函數(shù)

◆COLUMNPROPERTY 返回有關(guān)列或過程參數(shù)的信息,如是否允許空值,是否為計算列等。
◆COL_LENGTH 返回指定數(shù)據(jù)庫的指定屬性值,如是否處于只讀模式等。
◆DATABASEPROPERTYEX 返回指定數(shù)據(jù)庫的指定選項或?qū)傩缘漠斍霸O(shè)置,如數(shù)據(jù)庫的狀態(tài)、恢復模型等。
◆OBJECT_ID 返回指定數(shù)據(jù)庫對象名的標識號
◆OBJECT_NAME 返回指定數(shù)據(jù)庫對象標識號的對象名。
◆OBJECTPROPERTY 返回指定數(shù)據(jù)庫對象標識號的有關(guān)信息,如是否為表,是否為約束等。
◆fn_listextendedproperty 返回數(shù)據(jù)庫對象的擴展屬性值,如對象描述、格式規(guī)則、輸入掩碼等。

由于我們無法直接利用到存儲過程與函數(shù)的返回結(jié)果,因此只有在我們關(guān)心的只是查詢的結(jié)果,而不需要進一步利用這些結(jié)果的時候,我們會使用系統(tǒng)存儲過程與系統(tǒng)函數(shù)來查詢元數(shù)據(jù)。

例如,如果要獲得當前服務(wù)器上所有數(shù)據(jù)庫的基本信息,我們可以在查詢分析器里面運行:

EXEC sp_databases
GO

在返回結(jié)果中我們可以看到數(shù)據(jù)庫的名稱、大小及備注等信息。

但是如果要引用這部分信息,或者存儲這部分信息以供后面使用,那么我們必須借助中間表來完成這個操作:

CREATE TABLE #sp_result
(
DATABASE_NAME sysname,
DATABASE_SIZE int,
REMARKS varchar(254) NULL
)
GO
INSERT INTO #sp_result
EXEC ('sp_databases')
GO

使用信息架構(gòu)視圖訪問元數(shù)據(jù)

信息架構(gòu)視圖基于 SQL-92 標準中針對架構(gòu)視圖的定義,這些視圖獨立于系統(tǒng)表,提供了關(guān)于 SQL Server 元數(shù)據(jù)的內(nèi)部視圖。信息架構(gòu)視圖的最大優(yōu)點是,即使我們對系統(tǒng)表進行了重要的修改,應用程序也可以正常地使用這些視圖進行訪問。因此對于應用程序來說,只要是符合 SQL-92 標準的數(shù)據(jù)庫系統(tǒng),使用信息架構(gòu)視圖總是可以正常工作的。

信息架構(gòu)視圖

◆INFORMATION_SCHEMA.CHECK_CONSTRAINTS:返回有關(guān)列或過程參數(shù)的信息,如是否允許空值,是否為計算列等。
◆INFORMATION_SCHEMA.COLUMNS:返回當前數(shù)據(jù)庫中當前用戶可以訪問的所有列及其基本信息。
◆INFORMATION_SCHEMA.CONSTRAINT_COLUMN_USAGE:返回當前數(shù)據(jù)庫中定義了約束的所有列及其約束名。
◆INFORMATION_SCHEMA.CONSTRAINT_TABLE_USAGE:返回當前數(shù)據(jù)庫中定義了約束的所有表及其約束名。
◆INFORMATION_SCHEMA.KEY_COLUMN_USAGE:返回當前數(shù)據(jù)庫中作為主鍵/外鍵約束的所有列。
◆INFORMATION_SCHEMA.SCHEMATA:返回當前用戶具有權(quán)限的所有數(shù)據(jù)庫及其基本信息。
◆INFORMATION_SCHEMA.TABLES:返回當前用戶具有權(quán)限的當前數(shù)據(jù)庫中的所有表或者視圖及其基本信息。
◆INFORMATION_SCHEMA.VIEWS:返回當前數(shù)據(jù)庫中的當前用戶可以訪問的視圖及其所有者、定義等信息。

由于這些信息架構(gòu)都是以視圖的方式存在的,因此我們可以很方便地獲得并利用需要的信息。

例如,我們要得到某個表有多少列,可以使用以下語句:

SELECT COUNT(*) FROM INFORMATION_SCHEMA.COLUMNS

WHERE TABLE_NAME='mytable'

使用系統(tǒng)表訪問元數(shù)據(jù)

雖然使用系統(tǒng)存儲過程、系統(tǒng)函數(shù)與信息架構(gòu)視圖已經(jīng)可以為我們提供了相當豐富的元數(shù)據(jù)信息,但是對于某些特殊的元數(shù)據(jù)信息,我們?nèi)匀恍枰苯訉ο到y(tǒng)表進行查詢。因為SQL Server 將所有數(shù)據(jù)庫對象的信息均存放在系統(tǒng)表中,作為 SQL Server 的管理、開發(fā)人員,了解各個系統(tǒng)表的作用將有助于我們了解 SQL Server 的內(nèi)在工作原理。

SQL Server 的系統(tǒng)表非常多,其中最常用的與元數(shù)據(jù)查詢有關(guān)的表有如下一些:
syscolumns 存儲每個表和視圖中的每一列的信息以及存儲過程中的每個參數(shù)的信息。
syscomments 存儲包含每個視圖、規(guī)則、默認值、觸發(fā)器、CHECK 約束、DEFAULT 約束和存儲過程的原始 SQL 文本語句。
sysconstraints 存儲當前數(shù)據(jù)庫中每一個約束的基本信息。
sysdatabases 存儲當前服務(wù)器上每一個數(shù)據(jù)庫的基本信息。
sysindexes 存儲當前數(shù)據(jù)庫中的每個索引的信息。
sysobjects 存儲數(shù)據(jù)庫內(nèi)的每個對象(約束、默認值、日志、規(guī)則、存儲過程等)的基本信息。
sysreferences 存儲所有包括 FOREIGN KEY 約束的列。
systypes 存儲系統(tǒng)提供的每種數(shù)據(jù)類型和用戶定義數(shù)據(jù)類型的詳細信息。

將系統(tǒng)存儲過程、系統(tǒng)函數(shù)、信息架構(gòu)視圖與系統(tǒng)表結(jié)合使用,可以方便地讓我們獲得所有需要的元數(shù)據(jù)信息。

示例:

1、 獲得當前數(shù)據(jù)庫所有用戶表的名稱。

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

其中主要用到了系統(tǒng)表 sysobjects以及其屬性 xtype,還有就是用到了 OBJECTPROPERTY 系統(tǒng)函數(shù)來判斷是不是安裝 SQL Server 的過程中創(chuàng)建的對象。

2、獲得指定表上所有的索引名稱。

SELECT name FROM sysindexes
WHERE id = OBJECT_ID ('mytable') AND indid > 0

綜合實例

下面給出了一個存儲過程,它的作用是自動將當前數(shù)據(jù)庫的用戶存儲過程加密。

DECLARE @sp_name nvarchar(400)
DECLARE @sp_content nvarchar(2000)
DECLARE @asbegin int
declare @now datetime
select @now = getdate()
DECLARE sp_cursor CURSOR FOR
SELECT object_name(id)
FROM sysobjects
WHERE xtype = 'P'
AND type = 'P'
AND crdate  @now
AND OBJECTPROPERTY(id, 'IsMSShipped')=0

OPEN sp_cursor

FETCH NEXT FROM sp_cursor
INTO @sp_name

WHILE @@FETCH_STATUS = 0
BEGIN
SELECT @sp_content = text FROM
syscomments WHERE id = OBJECT_ID(@sp_name)
SELECT @asbegin =
PATINDEX ( '%AS' + char(13) + '%', @sp_content)
SELECT @sp_content =
SUBSTRING(@sp_content, 1, @asbegin - 1)
+ ' WITH ENCRYPTION AS'
+ SUBSTRING (@sp_content, @asbegin+2, LEN(@sp_content))
SELECT @sp_name = 'DROP PROCEDURE [' + @sp_name + ']'
EXEC sp_executesql @sp_name
EXEC sp_executesql @sp_content
FETCH NEXT FROM sp_cursor
INTO @sp_name
END

CLOSE sp_cursor
DEALLOCATE sp_cursor

該存儲過程利用了 sysobjects 和 syscomments 表,并巧妙地修改了原存儲過程的 SQL 定義語句,將 AS 修改為了 WITH ENCRYPTION AS,從而達到了加密存儲過程的目的。本存儲過程在 SQL Server 2000 上通過。

您可能感興趣的文章:
  • 調(diào)用MySQL中數(shù)據(jù)庫元數(shù)據(jù)的方法
  • SQL Server 使用 SET FMTONLY ON 獲得表的元數(shù)據(jù)

標簽:南昌 煙臺 北海 東營 晉中 珠海 咸寧 石家莊

巨人網(wǎng)絡(luò)通訊聲明:本文標題《獲取SQL Server數(shù)據(jù)庫元數(shù)據(jù)的幾種方法》,本文關(guān)鍵詞  獲取,SQL,Server,數(shù)據(jù)庫,元,;如發(fā)現(xiàn)本文內(nèi)容存在版權(quán)問題,煩請?zhí)峁┫嚓P(guān)信息告之我們,我們將及時溝通與處理。本站內(nèi)容系統(tǒng)采集于網(wǎng)絡(luò),涉及言論、版權(quán)與本站無關(guān)。
  • 相關(guān)文章
  • 下面列出與本文章《獲取SQL Server數(shù)據(jù)庫元數(shù)據(jù)的幾種方法》相關(guān)的同類信息!
  • 本頁收集關(guān)于獲取SQL Server數(shù)據(jù)庫元數(shù)據(jù)的幾種方法的相關(guān)信息資訊供網(wǎng)民參考!
  • 推薦文章
    91精品国产综合久久福利| 欧美另类极品videosbest视频| 一本一道久久a久久精品综合| 97av免费视频| 视频精品在线观看| 精品成人久久av| 欧美四级在线| 欧美视频二区| 一本色道亚洲精品aⅴ| 欧美性天天影院| 91蝌蚪porny九色| 超碰人人人人人人| 成人激情在线观看| av中文字幕亚洲| 污网站在线观看免费| 蜜桃臀一区二区三区| 国产日韩一区二区| 久草福利资源在线视频| 亚洲国产小视频| 国产中文字幕在线播放| 鲁大师私人影院在线观看| 午夜影院在线观看视频| 久久久久成人网| 伊人久久精品视频| 日韩精品一区二区三区三区免费| 福利视频网站一区二区三区| 国产精品第108页| 欧美激情视频在线| 99免在线观看免费视频高清| japanese色国产在线看视频| 亚洲人成人一区二区在线观看| 免费看国产黄色片| 久久免费公开视频| 国产伦精品一区二区三区免费优势| 欧美性一区二区三区| 在线精品小视频| 欧美激情第二页| 97精品国产一区二区三区| 色操视频在线| av成人天堂| 国产精品18久久久| 免费能直接在线观看黄的视频| 成人一区而且| 国产精品第一页第二页第三页| 国产麻豆视频一区二区| 一区二区三区福利| 色老板在线视频| 超碰影院在线观看| 日韩二区三区| 96成人在线视频| 三妻四妾的电影电视剧在线观看| 天堂va欧美ⅴa亚洲va一国产| 1024手机在线视频| 中文字幕在线中文字幕日亚韩一区| 亚洲午夜激情网页| 精品国产欧美一区二区| 久久久久久av| 午夜视频免费在线| 色佬视频在线观看| 欧美三级网站在线观看| 伦理中文字幕亚洲| 无码人妻丰满熟妇区五十路| 伊人色综合久久天天五月婷| 国产一区二区三区在线播放免费观看| 免费视频网站www| 亚洲国产另类 国产精品国产免费| 亚洲大片在线观看| 亚洲午夜久久久久久久久| fc2成人免费视频| 成人午夜免费在线视频| 国模私拍在线观看| 中文字幕在线中文| 欧美成人精品福利| 欧美日韩mp4| 久久免费电影网| 国产7777777| 亚洲第一天堂无码专区| 精品无码一区二区三区爱欲| 蜜桃视频网站在线观看| 日韩漫画puputoon| 亚洲激情图片小说视频| 国模私拍一区二区| 国产性生活大片| 欧美一级成年大片在线观看| 青春草在线视频观看| 国产午夜精品一区理论片| 亚洲精品乱码久久久久久蜜桃91| 一个人看的日本www的免费视频| 3d动漫精品啪啪一区二区下载| 日韩无一区二区| 精品久久久久久中文字幕大豆网| 国产成人免费xxxxxxxx| 中文字幕一区二区三区四区视频| 播金莲一级淫片aaaaaaa| 一区二区国产在线观看| 91国偷自产一区二区三区的观看方式| 中文字幕v亚洲ⅴv天堂| 亚洲精品久久久成人| 国产人妖一区| 欧美国产综合在线| 黄网站欧美内射| 国产人成在线观看| av电影免费在线观看| 人妻无码中文久久久久专区| 337p日本欧洲亚洲大胆鲁鲁| 亚洲精品在线二区| 成人羞羞国产免费| 美国毛片一区二区| 97免费资源站| 亚洲成a人片77777在线播放| 亚洲国产精品免费在线观看| 久久久久九九九| 欧美性色黄大片| 在线免费观看国产精品| 男女视频一区二区| 视频一区视频二区中文字幕| 国产精品xxxx喷水欧美| 一区二区不卡在线播放| 亚洲啪啪av| 成人av福利| 夜夜狠狠擅视频| 国产理论片免费观看| 91精品中文字幕| tube8在线hd| 粉嫩老牛aⅴ一区二区三区| 成人在线视频一区二区三区| 久久久国产在线视频| 日本久久伊人| caopon在线免费视频| 亚洲欧美电影一区二区| 国产无一区二区| av资源在线播放| 久久99深爱久久99精品| 亚洲每日在线| 日本免费一级视频| 日韩在线精品一区| 高潮一区二区| 国产高清免费观看| 男人午夜影院| 久久99精品国产99久久6尤物| 日韩欧美国产综合| 亚洲优女在线| 亚洲天堂av线| 国产精品69xx| jk漫画禁漫成人入口| 8848成人影院| 久久久久成人精品无码中文字幕| 日本www在线观看视频| 日本人妻丰满熟妇久久久久久| 亚洲经典视频在线观看| 日本一二三区视频免费高清| 久99九色视频在线观看| 中文区中文字幕免费看| 黄色一区二区在线| 久久久久久久久久成人| 欧美色视频一区| 亚洲男人7777| 天堂在线中文字幕| 国产精品美女久久久久| 欧美久久影院| 日本www高清视频| 国语自产精品视频在线看抢先版结局| 色中文字幕在线| av电影高清在线观看| 性欧美精品一区二区三区在线播放| 亚洲黄色录像| 午夜精品久久久久久久无码| 国产精品高清免费在线观看| 国产精品高清在线观看| 日本在线视频不卡| 免费尤物视频| 黄色小视频在线播放| 亚洲国产二区| 日韩av手机在线看| 久久婷婷国产综合精品青草| 夜夜嗨av一区二区三区网站四季av| 亚洲国产精品成人综合色在线婷婷| 成人av在线播放| 国产在线传媒| av网站一区| 久久综合五月天婷婷伊人| www.男人天堂网| 蜜桃一区二区| eeuss影院在线观看第一页| 欧美日韩三级视频| 成人在线播放网站| 成人欧美一区二区三区黑人麻豆| 国模私拍视频在线播放| 亚洲午夜精品福利| 亚洲免费视频一区| 中文字幕专区| 亚洲色图88| 99在线观看视频网站| 亚洲尤物精选| 日本一二三区视频| 欧美中文字幕精品| 日本黄色a视频| 免费看污黄网站在线观看| 国产精品99久久久久久久vr| 免费福利电影| 国产精品无码天天爽视频| 国产剧情一区二区| 全国精品免费看| 欧洲av一区二区三区| 国产精品视频精品视频| 色一情一乱一伦一视频免费看| 精品网站www| 国产精品swag| 国产色视频在线| 欧美日本韩国一区二区三区视频| 无码精品国产一区二区三区免费| 国产一级做a爰片久久| 日本高清不卡视频| 国产精品一国产精品| 日本人视频jizz页码69| 秋霞在线观看av| 不卡视频一区| 无码久久精品国产亚洲av影片| 色哟哟欧美精品| 亚洲视频国产| 日韩av一二三四区| 国产一级片中文字幕| 99热免费精品| 一个人看的www日本高清视频| 91蜜桃视频在线| 99亚偷拍自图区亚洲| 国产高清一区二区三区视频| 欧美18—20岁hd第一次| 欧美一区二区三区日韩| 国产不卡一区二区三区在线观看| 国产亚洲精品拍拍拍拍拍| 亚洲一区二区三区毛片| 久久久久免费av| 精品人妻午夜一区二区三区四区| 日韩中文在线不卡| 国产麻豆精品入口在线观看| 色999日韩| 久久国产激情视频| 黄色激情小视频| 一级毛片电影| 国产日韩精品在线播放| 免费在线稳定资源站| 91成人免费视频| 翔田千里在线视频| 欧美特黄aaa| 日本一区二区视频在线播放| 久久99青青精品免费观看| 成人午夜激情免费视频| 欧美亚洲禁片免费| 日本福利视频在线| 手机av在线免费| 日韩一区二区三区在线免费观看| 国产小视频免费在线观看| 亚洲精品美女久久7777777| 你懂的视频在线观看| 性欧美一区二区三区| 欧美韩国日本在线| 精品全国在线一区二区| 国产精品99久久99久久久| 欧美videos中文字幕| 久久久精品成人| 你懂得网站在线| 亚洲无码久久久久| 国内精品国产三级国产在线专| 一本二本三本亚洲码| 色一情一乱一区二区三区| 日本裸体美女视频| 超污黄色软件| 成人精品一区二区三区| 亚洲香肠在线观看| 国产高清免费在线| 中文字幕欧美人与畜| 日韩av免费一区| 国模娜娜一区二区三区| a天堂中文在线官网| 亚洲欧美日韩中文字幕一区二区三区| 午夜性爽视频男人的天堂| 最新国产精品| 懂色av一区二区夜夜嗨| 无码少妇一区二区三区| 亚洲综合久久久久| 亚洲国产视频一区二区| 亚洲美女屁股眼交3| 狠狠人妻久久久久久综合麻豆| 一区二区三区观看| 国产原厂视频在线观看| 亚洲激情中文1区| 91精品在线观看国产| 二区三区不卡| 蜜桃视频一区| 久久精品国产96久久久香蕉| 欧美一区日韩一区| 久久久久久久毛片| 中文有码一区| 久久久久高清精品| a级影片在线观看| 久久综合999| 中文字幕av在线免费观看| 婷婷伊人五月天| 91丝袜在线| 亚洲免费黄色网址| 国产精品免费在线播放| 欧美国产97人人爽人人喊| 99麻豆久久久国产精品免费优播| 欧美日韩国产一区中文午夜| 在线观看三级视频欧美| 国产理论在线观看| 久久三级毛片| 日日躁夜夜躁人人揉av五月天| 性做久久久久久久| www.男人的天堂| 深夜福利在线看| 91在线网站视频| jjzzjjzz欧美69巨大| 影音先锋久久久| 亚洲国产另类 国产精品国产免费| 91亚洲精选| 午夜精品国产更新| 亚洲欧美激情国产综合久久久| av大片在线看| 午夜一区在线观看| 四虎一区二区| 一级黄色片毛片| 国产精品一区三区在线观看| 欧美成人精品午夜一区二区| 黑人巨大国产9丨视频| 日韩欧美一区二区三区在线视频| 精品久久久久久久久久ntr影视|