Ескертпе
Бұл бетке кіру үшін қатынас шегін айқындау қажет. Жүйеге кіруді немесе каталогтарды өзгертуді байқап көруге болады.
Бұл бетке кіру үшін қатынас шегін айқындау қажет. Каталогтарды өзгертуді байқап көруге болады.
Применимо к:SQL Server
База данных
SQL AzureУправляемый экземпляр
SQL AzureБаза данных SQL в Microsoft Fabric
Указывает, подписан ли объект с помощью определенного сертификата или асимметричного ключа.
Соглашения о синтаксисе Transact-SQL
Синтаксис
IS_OBJECTSIGNED (
'OBJECT', @object_id, @class, @thumbprint
)
Аргументы
'OBJECT'
Тип защищаемого класса.
@object_id
Идентификатор object_id проверяемого объекта. Аргумент @object_id имеет тип int.
@class
Класс объекта:
'certificate'
«Асимметричный ключ»
Аргумент @class имеет тип sysname.
@thumbprint
SHA-отпечаток объекта. Аргумент @thumbprint имеет тип varbinary(32).
Возвращаемые типы
int
Замечания
Функция IS_OBJECTSIGNED возвращает следующие значения.
| Возвращаемое значение | Description |
|---|---|
| NULL | Объект не подписан или недопустим. |
| 0 | Объект подписан, но подпись недействительна. |
| 1 | Объект подписан. |
Разрешения
Необходимо разрешение VIEW DEFINITION на сертификат или асимметричный ключ.
Примеры
А. Отображение расширенных свойств базы данных
В приведенном ниже примере проверяется, подписана ли таблица spt_fallback_db в базе данных master с помощью сертификата подписания схемы.
USE master;
-- Declare a variable to hold a thumbprint and an object name
DECLARE @thumbprint varbinary(20), @objectname sysname;
-- Populate the thumbprint variable with the thumbprint of
-- the master database schema signing certificate
SELECT @thumbprint = thumbprint
FROM sys.certificates
WHERE name LIKE '%SchemaSigningCertificate%';
-- Populate the object name variable with a table name in master
SELECT @objectname = 'spt_fallback_db';
-- Query to see if the table is signed by the thumbprint
SELECT @objectname AS [object name],
IS_OBJECTSIGNED(
'OBJECT', OBJECT_ID(@objectname), 'certificate', @thumbprint
) AS [Is the object signed?] ;