sp_execute_policy Ошибка в SQL, как создавать политики аспектов SQL
Я пытаюсь создать политику в SQL, которая будет ограничивать sproc к соглашению об именах.
Как и когда кто-то создает новый sproc, он будет вынужден префикс sproc с sp_
Подобно - sp_MySprocName
,
Но я получаю сообщение об ошибке ниже, когда я пытаюсь создать новый sproc с правильным соглашением об именах.
Когда я щелкаю правой кнопкой мыши на Политике и выбираю свою политику, я нажимаю на Evaluate
вариант и все работает просто отлично, в отличие от того, когда я фактически создаю новый sproc, я получаю эту ошибку.
Msg 6522, Level 16, State 1, Procedure sp_execute_policy, Line 0
A .NET Framework error occurred during execution of user-defined routine or aggregate "sp_execute_policy":
System.TypeInitializationException: The type initializer for 'Microsoft.SqlServer.Management.Dmf.PolicyEvaluationHelper' threw an exception. ---> System.IO.FileNotFoundException: Could not load file or assembly 'Microsoft.SqlServer.Diagnostics.STrace, Version=10.0.0.0, Culture=neutral, PublicKeyToken=89845dcd8080cc91' or one of its dependencies. The system cannot find the file specified.
System.IO.FileNotFoundException:
at Microsoft.SqlServer.Management.Dmf.PolicyEvaluationHelper..cctor()
System.TypeInitializationException:
at Microsoft.SqlServer.Management.Dmf.PolicyEvaluationHelper.EvaluateAutomatedPolicy(String policy, SqlXml eventData, Int64& historyId)
at Microsoft.SqlServer.Management.Dmf.PolicyEvaluationWrapper.EvaluateAutomatedPolicy(String policy, SqlXml eventData, Int64& historyId)
Что мне нужно сделать, чтобы избежать этой ошибки?
Я обновил хранимые процедуры для префикса proc_
, Теперь они proc_MyProcedure
,
Я все еще получаю ту же ошибку.
Какие-либо предложения?
1 ответ
В основном проблема заключалась в том, что microsoft.sqlserver.diadnostics.strace.dll
не был установлен в GAC. Кроме того, этого файла не было на моем сервере и на установочных DVD, поэтому я не смог его установить. Я нашел это на своем ПК дома, но был хитрость, чтобы добраться до моего рабочего сервера.
Я считаю, что я исправил проблему, скопировав
C:\Program Files\Microsoft Visual Studio 10.0\Common7\IDE\PrivateAssemblies\Microsoft.SqlServer.Diagnostics.STrace to C:\Program Files\Microsoft SQL Server\100\Tools\Binn\VSSHell\Common7\IDE