Что такое хранимая процедура со значком замка в SQL Server 2005?

Вы можете создать обратный словарь:

revdict = dict((v,k) for k,v in ref.items())

, затем найдите то, что вы хотите:

assert revdict["def"] == "abc"

Обратите внимание, что это не будет работать, если два ключа отображаются на одно и то же значение.

11
задан shA.t 1 January 2017 в 14:24
поделиться

4 ответа

Замок означает, что хранимая процедура была зашифрована с помощью подсказки WITH ENCRYPTION (дополнительную информацию см. В CREATE PROC в BOL).

Это не означает, что это хранимая процедура CLR.

Вот статья в журнале SQL Server Magazine о том, как расшифровать объекты, зашифрованные с помощью подсказки WITH ENCRYPTION .

Существуют также сторонние инструменты, которые делают то же самое - собственное шифрование sproc не предназначено для обеспечения надежного уровня шифрования.

Изменить: Вот еще один, но я не знаю » Я тестировал его на SQL Server 2005 или новее.

14
ответ дан 3 December 2019 в 05:13
поделиться

Помимо зашифрованного, это также означает, что у вас нет прав ПРОСМОТР ОПРЕДЕЛЕНИЯ , поэтому вы не можете видеть код хранимой процедуры.

4
ответ дан 3 December 2019 в 05:13
поделиться

Замок просто означает, что они зашифрованы - не имеет ничего общего с тем, что они являются CLR. Невозможно просмотреть исходный код, независимо от того, является ли он CLR / T-SQL.

3
ответ дан 3 December 2019 в 05:13
поделиться

Это хранимые процедуры, созданные с помощью параметра WITH ENCRYPTION (дополнительную информацию см. В документации MSDN по CREATE PROCEDURE ). Все это означает, что вы не можете видеть код для хранимой процедуры.

Можно расшифровать такие хранимые процедуры, но поскольку идея шифрования заключается в том, что вы не можете сделать это, это непросто - определенно не делайте этого на производстве серверы!

0
ответ дан 3 December 2019 в 05:13
поделиться
Другие вопросы по тегам:

Похожие вопросы: