久久国产成人av_抖音国产毛片_a片网站免费观看_A片无码播放手机在线观看,色五月在线观看,亚洲精品m在线观看,女人自慰的免费网址,悠悠在线观看精品视频,一级日本片免费的,亚洲精品久,国产精品成人久久久久久久

分享

系統(tǒng)庫

 佚名2016 2022-10-10 發(fā)布于江蘇

概述

最近公司做了一個關(guān)于SQLSERVER的大項目,,所以對SQL SERVER進(jìn)行了探究,。master數(shù)據(jù)庫,是SQL Server中最重要的系統(tǒng)數(shù)據(jù)庫,。master數(shù)據(jù)庫包含有關(guān) SQL Server 系統(tǒng)的所有信息,,包括有關(guān)初始化的信息,、配置設(shè)置,、與實例相關(guān)的元數(shù)據(jù),、有關(guān)所有其他數(shù)據(jù)庫的信息,,例如數(shù)據(jù)庫文件的位置等。這就是為什么主數(shù)據(jù)庫的存在和正常功能對于任何 SQL Server 實例都是至關(guān)重要的,。在本文中,,我們將說明有關(guān)這個重要數(shù)據(jù)庫的五個事實,。

解決方案

通過以下幾個事實,,我們將闡明master一些重要特性和功能,。

1 、 登錄帳戶和其他實例范圍的元數(shù)據(jù)存儲在 SQL Server master庫中

你有沒有想過登錄名存儲在哪里,?例如,,您知道“sa”登錄名及其密碼存儲在哪里嗎?好吧,,登錄信息存儲在主數(shù)據(jù)庫中,。雖然在 SQL 登錄的情況下,它們的密碼哈希也存儲在主數(shù)據(jù)庫中,,但對于 Windows 登錄,SQL Server 依賴于 Windows 進(jìn)行身份驗證,。因此,,可以在 master 數(shù)據(jù)庫中找到“sa”帳戶及其散列密碼。我們可以通過運行下面的 T-SQL 代碼來獲取這些信息:

SELECT name AS LoginName, password_hash 
FROM sys.sql_logins 
WHERE name='sa'

我們可以從 SQL 查詢中看到登錄名和密碼哈希:

不僅登錄帳戶,,而且所有系統(tǒng)級信息都存儲在主數(shù)據(jù)庫中,。鏈接服務(wù)器和端點是另外兩個這樣的例子??赡軙霈F(xiàn)一個問題:我們在哪里可以看到存儲所有這些信息的這些表,?當(dāng)我們在SQL Server Management Studio (SSMS)中展開master 數(shù)據(jù)庫的“表”時,我們看不到相關(guān)的表,。主“表”下沒有表 (如果我們沒有手動創(chuàng)建),,“系統(tǒng)表”下只有四個表,如下所示:

這是因為包含系統(tǒng)級信息的表是隱藏的,,并且在SSMS中不可見,。

2,、master庫并不存儲系統(tǒng)對象

有一個常見的誤解,即系統(tǒng)對象是存儲在主數(shù)據(jù)庫中的,。雖然在 SQL Server 的舊版本(例如 SQL Server 2000)中,,主數(shù)據(jù)庫包含系統(tǒng)對象,但在新版本中,,這些數(shù)據(jù)不再存儲在master數(shù)據(jù)庫中,。從 SQL Server 2005 開始,這些對象存儲在資源數(shù)據(jù)庫中,,這是一個隱藏的只讀系統(tǒng)數(shù)據(jù)庫,。因此,主數(shù)據(jù)庫不再包含系統(tǒng)對象,,例如 sys.objects 中的數(shù)據(jù),。

3、如果master數(shù)據(jù)庫不可用,,則無法啟動 SQL Server

我們知道初始化信息,,實例中其他數(shù)據(jù)庫的信息及其文件位置都存儲在master庫中,如果master庫不可用,,則實例無法啟動,。我們可以通過使master庫不可用來說明這種行為。為此,,我們可以停止實例(強烈建議僅在測試實例上執(zhí)行所有這些測試),,將master庫文件(數(shù)據(jù)和日志或僅其中一個)移動到另一個位置,然后嘗試啟動實例.

要停止實例,,我們打開 SQL Server 配置管理器并選擇相應(yīng)的實例,,右鍵單擊它并選擇停止。

在使用上面顯示的屬性選項的實例的啟動參數(shù)中,,我們可以找到master庫文件的位置,。

所以,讓我們將master數(shù)據(jù)庫的數(shù)據(jù)文件復(fù)制到另一個位置,。

然后,,我們嘗試啟動實例,方法是右鍵單擊它并選擇 Start,。

實例將無法啟動,,我們收到以下錯誤。

如果我們打開ERRORLOG文件,,我們可以看到錯誤原因描述:

4,、可以在 master 數(shù)據(jù)庫中創(chuàng)建用戶對象,但不建議這樣做

雖然我們可以在 master 數(shù)據(jù)庫中創(chuàng)建表,、存儲過程等用戶對象,,但不建議這樣做,。但是在某些情況下,有些人出于某些目的不遵循最佳實踐并在主數(shù)據(jù)庫中創(chuàng)建用戶對象,。這通常會發(fā)生在T-SQL 代碼中沒有使用“USE <database> 語句,,則將會在主數(shù)據(jù)庫中創(chuàng)建對象。因為當(dāng)我們在 SSMS 中打開一個新的查詢窗口時,,默認(rèn)數(shù)據(jù)庫是主數(shù)據(jù)庫(除非它被更改),。

要在 master 數(shù)據(jù)庫中查找用戶創(chuàng)建的對象,我們可以運行以下 Transact-SQL 代碼,。

SELECT *FROM master.sys.objects 
WHERE is_ms_shipped=0

其中 is_ms_shipped為 0 或 1(位數(shù)據(jù)類型字段),,并顯示對象是由內(nèi)部 SQL 組件 (1) 還是不是 (0) 創(chuàng)建。在如下的例子中,,我們可以看到我們有兩個用戶創(chuàng)建的對象,。

5、master數(shù)據(jù)庫只允許創(chuàng)建完整備份

建議對master數(shù)據(jù)庫進(jìn)行全新備份,。特別是在我們創(chuàng)建,、刪除或修改新數(shù)據(jù)庫、登錄帳戶和更改配置值時,,執(zhí)行主數(shù)據(jù)庫的備份非常重要,。另外,如果你已經(jīng)在master數(shù)據(jù)庫中創(chuàng)建了用戶對象(上面不推薦這樣做),,根據(jù)這些用戶創(chuàng)建對象的變化,備份master數(shù)據(jù)庫是合理的,。無法對主數(shù)據(jù)庫進(jìn)行事務(wù)日志或差異備份。

如果我們嘗試在 master 數(shù)據(jù)庫上執(zhí)行備份操作,,我們可以看到唯一可用的選項是完整備份,。

小結(jié)

總而言之,我們探討了有關(guān) SQL Server master數(shù)據(jù)庫的五個有趣事實,。具體來說,,我們了解到主數(shù)據(jù)庫包含 SQL 身份驗證用戶的登錄帳戶和密碼哈希。此外,,我們了解到master數(shù)據(jù)庫不包含系統(tǒng)對象(自 SQL Server 2005 起,它們存儲在資源數(shù)據(jù)庫中),。如果master數(shù)據(jù)庫不可用,, SQL Server 實實例則無法啟動。此外展示了我們是否可以在主數(shù)據(jù)庫中創(chuàng)建用戶對象,。最后,,我們了解到主數(shù)據(jù)庫的唯一可能備份是完整備份。首文見本人博客
https://www.cnblogs.com/lkj371/p/16731903.html,,轉(zhuǎn)載請注明出處,,歡迎轉(zhuǎn)發(fā),、點贊和關(guān)注!

    本站是提供個人知識管理的網(wǎng)絡(luò)存儲空間,,所有內(nèi)容均由用戶發(fā)布,,不代表本站觀點。請注意甄別內(nèi)容中的聯(lián)系方式,、誘導(dǎo)購買等信息,,謹(jǐn)防詐騙。如發(fā)現(xiàn)有害或侵權(quán)內(nèi)容,,請點擊一鍵舉報,。
    轉(zhuǎn)藏 分享 獻(xiàn)花(0

    0條評論

    發(fā)表

    請遵守用戶 評論公約

    類似文章 更多