首頁
編程語言
C語言|JAVA編程
Python編程
網頁編程
ASP編程|PHP編程
JSP編程
數據庫
MYSQL數據庫|SqlServer數據庫
Oracle數據庫|DB2數據庫
您现在的位置: 程式碼之家 >> 數據庫知識 >  >> SQL Server 資料庫 >> 關於SqlServer

SQL Server 2000 系統表應用速查:取得使用者表、欄位、相依物件、預存程序、使用者資料庫與欄位型別

     編輯:關於SqlServer

系統表 (sysobjects、syscolumns、syscomments、sysdatabases、INFORMATION_SCHEMA.COLUMNS) 是掌握資料庫中繼資料的鑰匙。六大常用查詢:

  1. 所有使用者表:
    SELECT name FROM sysobjects WHERE xtype = 'U' AND status >= 0
  2. 指定表所有欄位:
    SELECT name FROM syscolumns WHERE id = OBJECT_ID('table_name')
  3. 與指定表相關的視圖/預存程序/函數:
    SELECT a.* FROM sysobjects a, syscomments b
    WHERE a.id = b.id AND b.text LIKE '%table_name%'
  4. 所有預存程序:
    SELECT name AS 'Stored Procedure' FROM sysobjects WHERE xtype = 'P'
  5. 使用者建立的資料庫 (排除 sa):
    SELECT * FROM master..sysdatabases d
    WHERE d.sid NOT IN (SELECT sid FROM master..syslogins WHERE name = 'sa')
    -- 或
    SELECT dbid, name AS DB_NAME FROM master..sysdatabases WHERE sid <> 0x01
  6. 指定表欄位與資料型別:
    SELECT column_name, data_type
    FROM INFORMATION_SCHEMA.COLUMNS
    WHERE table_name = 'table_name'

進階補充

  • INFORMATION_SCHEMA 檢視為 ANSI 標準,跨版本相容性優於直接查系統表。
  • SQL Server 2005+ 建議使用 sys.objects、sys.columns、sys.sql_modules 等新版目錄檢視。
  • OBJECT_ID() 函數避免硬編碼 ID,提升腳本可攜性。

總結

熟練這六類系統表查詢,能快速完成中繼資料盤點、相依性分析、結構同步與自動化腳本生成,是 DBA 與開發人員的必備基本功。

  1. 上一篇文章:
  2. 下一篇文章:
Copyright © 程式碼之家 All Rights Reserved