SQLServer2005中5個不能查詢的系統表
在SQLServer2005裡,有這麼幾個特殊的系統表,我們無法直接查詢它,但它確實又是存在,這幾個系統表是:
sysallocunits
syshobts
syshobtcolumns
sysrowsets
sysrowsetcolumns
這裡所說的查詢,是指直接透過SELECT語句查詢,我們試著查詢:
SELECT * FROM sysallocunits
GO SELECT * FROM syshobts
GO SELECT * FROM syshobtcolumns
GO SELECT * FROM sysrowsets
GO SELECT * FROM sysrowsetcolumns
GO
執行上面的語句後,你會收到以下錯誤報告:
Msg 208, Level 16, State 1, Line 1
Invalid object name 'sysallocunits'.
Msg 208, Level 16, State 1, Line 1
Invalid object name 'syshobts'.
Msg 208, Level 16, State 1, Line 1
Invalid object name 'syshobtcolumns'.
Msg 208, Level 16, State 1, Line 1
Invalid object name 'sysrowsets'.
Msg 208, Level 16, State 1, Line 1
Invalid object name 'sysrowsetcolumns'.
但當我們透過以下語句檢查它的存在時,你會發現其實這5個系統表是存在的:
SELECT
name FROM sys.objects WHERE name IN (
'sysallocunits',
'syshobts',
'syshobtcolumns',
'sysrowsets',
'sysrowsetcolumns' ) GO
為什麼會這麼神奇?這是因為,這5個系統表是用於存放所有表以及索引的後設資料表,只能用於CHECKDB操作檢查後設資料一致
性的時候用到,當我們使用DBCC CHECKDB命令時,首先的內部操作就是要對這幾個表進行一致性檢查,找出裡面的後設資料是否有
損壞,同時注意,如果出現在該步操作時發生的任何錯誤,都是無法修復的,只能透過備份檔案還原來修復.
關於這個,更多的內容可參考SQL Server 資料庫引擎團隊的BLOG:
http://blogs.msdn.com/sqlserverstorageengine/
來自 “ ITPUB部落格 ” ,連結:http://blog.itpub.net/26273052/viewspace-1058334/,如需轉載,請註明出處,否則將追究法律責任。
相關文章
- hfm系統常見表查詢
- mysql 從一個表中查詢,插入到另一個表中MySql
- MySQL 合併查詢union 查詢出的行合併到一個表中MySql
- MySQL 合併查詢join 查詢出的不同列合併到一個表中MySql
- ABAP 查詢系統BAPI的方法API
- django 兩個表或多個表聯合查詢Django
- 提高 Laravel Eloquent 查詢的5個小技巧Laravel
- 在 with 查詢中只查詢個別欄位
- SQL 兩個表組合查詢SQL
- 在Linux中,如何查詢系統中佔用CPU最高的程序?Linux
- GBase 庫中查詢表的列資訊
- win10系統如何查詢MTU值_win10系統查詢MTU值的方法Win10
- 資料庫中單表查詢資料庫
- Sql查詢 一個表中某欄位的資料在另一個表中某欄位中不存在的SQL
- efcore 跨表查詢,實現一個介面內查詢兩個不同資料庫裡各自的表資料資料庫
- 如何查詢某個資料表中除某個欄位的所有資訊???
- 分散式系統中的解耦模式:領域查詢 - mathiasverraes分散式解耦模式
- 5 個用於在 Linux 終端中查詢域名 IP 地址的命令Linux
- 5-順序表查詢及插入問題
- 單表查詢
- NOT IN之後的子查詢不能包含NULL值Null
- Oracle常用的系統查詢語句整理Oracle
- 查詢資料庫每個表佔用的大小資料庫
- mysql 5.7.11查詢分割槽表的一個問題MySql
- 海關資料查詢系統「查詢平臺分類」
- Chapter 5 查詢APT
- 推薦2款檔案系統中查詢檔案的工具
- MySQL查詢最佳化的5個實用技巧MySql
- SAP RETAIL分配表的查詢報表AI
- 政策查詢系統(安卓)6安卓
- 政策查詢系統(安卓)7安卓
- GaussDB 200系統資訊查詢
- 查詢a表中b表沒有的資料,使用not exists
- Elasticsearch中的Term查詢和全文查詢Elasticsearch
- 表膨脹的查詢方法
- Mysql建表、索引、函式、查詢使用中的坑!!!MySql索引函式
- Mac電腦中重複檔案太多,不能很快查詢出來?試試這個Mac
- mysql查詢語句5:連線查詢MySql
- 5種快速查詢容器檔案系統中檔案的方法