淺談(SQL Server)資料庫中系統資料表的作用

來源:互聯網
上載者:User

一)系統資料表:儲存SQL所有的系統資訊。儲存有關資料庫服務中的中繼資料所謂中繼資料即比如資料服務器有哪些使用者資料庫、資料庫伺服器有哪些登陸帳號,資料庫中都有哪些表,每個表都有哪些欄位 每個資料庫有哪些預存程序、視圖等等的資料),系統資料表一般sys開頭。

二)瞭解資料庫中系統資料表,可以編寫sql語句或編程的時候用到。以下情境使用到了系統資料表

           1、在建立資料庫的時候選判斷資料庫是否存在;建立資料庫中對象表、視圖、預存程序、索引等)是否存在,存在返回,不存在則執行建立語句。

           2、大量刪除資料庫中對象,比如一次性刪除某個具體資料庫中的所有使用者建立的表、視圖、索引等對象,可以查詢系統資料表中對象然後使用sql語句控制刪除。

三)重要的幾個系統資料表

Sysxlogins:存在與Master資料庫中,所有資料庫中使用者和角色),記錄著所有能登陸到Sql server 的帳號。因為系統資料表是不允許人工刪除的,如想刪除則執行sp_configure’allow update’,1

                    不會立即生效,要重啟服務或reconfigure with override

sysdatabases:記錄著當前系統所有的資料庫。只有Master資料中有此系統資料表。

Systypes(每個資料庫都有):存放系統中預設的使用者類型和使用者自訂的使用者類型。

Sysusers:記錄每個資料庫中的使用者和角色。

Sysobjects:在資料庫內建立的每個對象約束、預設、日誌、規則、預存程序)在表中佔一行。

四)知道了資料庫中系統資料表,可以在寫sql語句或在開發過程中通過sql陳述式完成以下任務

      1、查詢資料庫中都有哪些資料庫

            select * from dbo.sysdatabases

       2、查詢使用者建立的資料庫中有哪些使用者建立的表

            select * from Sysobjects  where xtype='U'

      3、查詢使用者建立的資料庫中有哪些使用者建立的預存程序

            select * from Sysobjects  where xtype='P'

      4、批量產生刪除資料庫中所有使用者表的sql語句

          select 'drop table '+ name  from Sysobjects where xtype='U'

綜合以上所述,掌握資料庫中系統資料表,對於我們sql編程具有很大協助

廣告

650) this.width=650;" height="201" title="titel263" alt="titel263" src="http://www.bkjia.com/uploads/allimg/131228/224I12357-0.jpg" border="0" />

650) this.width=650;" height="300" title="12353" alt="12353" src="http://www.bkjia.com/uploads/allimg/131228/224I15a4-1.jpg" border="0" />

650) this.width=650;" height="359" title="system63" alt="system63" src="http://www.bkjia.com/uploads/allimg/131228/224I132J-2.jpg" border="0" />

650) this.width=650;" height="561" title="system373" alt="system373" src="http://www.bkjia.com/uploads/allimg/131228/224I161B-3.jpg" border="0" />

相關文章

A Free Trial That Lets You Build Big!

Start building with 50+ products and up to 12 months usage for Elastic Compute Service

  • Sales Support

    1 on 1 presale consultation

  • After-Sales Support

    24/7 Technical Support 6 Free Tickets per Quarter Faster Response

  • Alibaba Cloud offers highly flexible support services tailored to meet your exact needs.