共用方式為


安全性增強功能 (Database Engine)

SQL Server Database Engine 中的安全性增強功能包括在安裝期間提供、新的 SEARCH PROPERTY LIST 權限、新的使用者定義伺服器角色,以及管理伺服器和資料庫角色的新方式。

在安裝期間提供

為了強化角色分隔,系統不會自動在系統管理員 (sysadmin) 固定伺服器角色中提供 BUILTIN\administratorsLocal System (NT AUTHORITY\SYSTEM)。 在單一使用者模式中,本機管理員仍可存取 Database Engine。

SQL Server 現在支援受管理的服務帳戶和虛擬帳戶 (安裝在 Windows 7 或 Windows Server 2008 R2 上時)。 如需詳細資訊,請參閱<設定 Windows 服務帳戶與權限>。

個別服務 SID 底下之作業服務的保護現在已擴充至所有作業系統。 如需詳細資訊,請參閱<設定 Windows 服務帳戶與權限>。

新的權限

Database Engine 中有 19 項新權限。 若要查看所有權限,請執行下列陳述式。

SELECT * FROM sys.fn_builtin_permissions('');

新權限如下:

新的 GRANT、DENY 和 REVOKE 權限,可對搜尋屬性清單執行 CONTROL/VIEW DEFINTION/TAKE OWNERSHIP/REFERENCES/ALTER。

新的 GRANT、DENY 和 REVOKE 權限,可對伺服器角色執行 ALTER ANY SERVER ROLE、CREATE SERVER ROLE 和 CONTROL/VIEW DEFINTION/TAKE OWNERSHIP/ALTER。

新的 GRANT、DENY 和 REVOKE 權限,可對可用性群組執行 ALTER ANY AVAILABILITY GROUP、CREATE AVAILABILITY GROUP 和 CONTROL/VIEW DEFINTION/TAKE OWNERSHIP/ALTER。

可對 CREATE SEQUENCE 權限執行的新 GRANT、DENY 和 REVOKE 權限。

可對 ALTER ANY EVENT SESSION 權限執行的新 GRANT、DENY 和 REVOKE 權限。

新的角色管理

使用者定義的伺服器角色現在可供使用。 若要管理使用者定義的伺服器角色,請使用 CREATE SERVER ROLEALTER SERVER ROLEDROP SERVER ROLE。 若要在所有伺服器角色中加入和移除成員,請使用 ALTER SERVER ROLE … WITH ADD MEMBER。 sp_addsrvrolemembersp_dropsrvrolemember 已被取代。

已修改 ALTER ROLE,可使用 ADD MEMBER 語法在角色中加入或移除成員。 sp_addrolemembersp_droprolemember 已被取代。

已加入 IS_ROLEMEMBER,可檢查資料庫角色的成員資格。

群組的預設結構描述

您現在可以定義 Windows 群組的預設結構描述。 當 Windows 使用者建立物件時,如果沒有指定預設結構描述,SQL Server 不會再自動建立結構描述。 如需有關預設結構描述的詳細資訊,請參閱<CREATE USER>。

SQL Server Audit 增強功能

伺服器層級稽核的支援已擴充成包括所有 SQL Server 版本。 資料庫層級稽核則限於 Enterprise、Developer 和 Evaluation Edition。

SQL Server Audit 現在對於寫入稽核記錄的失敗具有較大的彈性。 例如,如果目標目錄位於遠端共用上,而且網路中斷,SQL Server Audit 就能夠於網路連接重新建立之後復原。 此外,也導入了讓作業失敗的新選項,避免產生要寫入失敗之稽核目標的稽核事件。 如需詳細資訊,請參閱<CREATE SERVER AUDIT>中 ON_FAILURE 事件的 FAIL_OPERATION 選項。

之前,稽核記錄可能具有不定數目的記錄檔,或在預先定義的數目之後換用。 現在,已經導入了新的選項,可設定稽核檔案的數目上限而不換用,讓客戶能夠控制所收集的稽核資訊數量,而不會遺失稽核記錄。 如需詳細資訊,請參閱<CREATE SERVER AUDIT>中的 MAX_FILES 選項。

稽核記錄會盡可能提供其他 Transact-SQL 堆疊框架資訊。 在許多情況下,稽核人員現在可以判斷查詢是透過預存程序發出,還是直接由應用程式發出。

SQL Server 稽核規格現在支援使用者定義稽核群組。 您可以使用新的 sp_audit_write (Transact-SQL) 程序,將稽核事件寫入稽核記錄。 使用者定義稽核事件可讓應用程式將自訂資訊寫入稽核記錄,例如在使用一般登入來連接至 SQL Server 的情況下,已經連接之應用程式使用者的名稱。

sys.server_file_auditssys.server_auditssys.fn_get_audit_file 加入了新的資料行,可追蹤使用者定義稽核事件。

SQL Server Audit 現在支援先篩選稽核事件,然後再將它們寫入稽核記錄的功能。 如需詳細資訊,請參閱<CREATE SERVER AUDIT>和<ALTER SERVER AUDIT>中的 WHERE 子句。

新的稽核群組支援監視自主資料庫使用者。

Management Studio 中的稽核對話方塊已經加入了新的稽核選項。

允許透過自主資料庫進行 Database Engine 存取

允許透過不需要登入的自主資料庫使用者存取自主資料庫。 SQL Server 系統管理員應該了解自主資料庫如何變更 SQL Server 安全性模型。 如需詳細資訊,請參閱<自主資料庫的安全性最佳做法>。

雜湊演算法

HASHBYTES 函數現在支援 SHA2_256SHA2_512 演算法。

進一步取代 RC4

只有 RC4 演算法支援回溯相容性。 只有在資料庫相容性層級為 90 或 100 時,才能使用 RC4 或 RC4_128 加密新資料 (不建議使用)。請改用較新的演算法,如其中一個 AES 演算法。 在 SQL Server 2012 中,使用 RC4 或 RC4_128 加密的資料可以在任何相容性層級進行解密。

憑證金鑰長度

建立憑證時,從外部來源匯入的最大私密金鑰長度從 3,456 位元擴大為 4,096 位元。

服務主要金鑰和資料庫主要金鑰加密從 3DES 到 AES 的變化

SQL Server 2012 是使用 AES 加密演算法來保護服務主要金鑰 (SMK) 及資料庫主要金鑰 (DMK)。 與早期版本中使用的 3DES 相比,AES 是一種較新的加密演算法。 將 Database Engine 執行個體升級至 SQL Server 2012 之後,應該會重新產生 SMK 和 DMK,以將主要金鑰升級至 AES。 如需有關重新產生 SMK 的詳細資訊,請參閱<ALTER SERVICE MASTER KEY (Transact-SQL)>及<ALTER MASTER KEY (Transact-SQL)>。

可根據二進位建立憑證

CREATE CERTIFICATE (Transact-SQL) 具有 FROM BINARY 選項,可讓您指定 ASN 編碼憑證的二進位描述。 可以使用新函數 CERTENCODED (Transact-SQL)CERTPRIVATEKEY (Transact-SQL) 來擷取現有憑證的二進位描述。

請參閱

概念

新功能 (Database Engine)

SQL Server Audit (Database Engine)