У меня есть небольшое приложение, которое использует SQL Server 2005 Express с хранимыми процедурами CLR. Он был успешно установлен и работает на многих компьютерах под управлением XP и Vista.CREATE ASSEMBLY не удалось проверить: недостаточно данных для завершения этой операции
Для создания сборки следующий SQL выполняется (имена изменены, чтобы защитить невинных):
CREATE ASSEMBLY myAssemblyName FROM 'C:\PathToAssembly\myAssembly.dll
На одном компьютере (тест машины, который отражает другие компьютеры, предназначенные для установки), работающем под управлением Vista, и имеет некоторые очень агрессивные ограничения политики безопасности, я получаю следующее сообщение об ошибке:
Msg 6218, Level 16, State 2, Server domain\servername, Line 2
CREATE ASSEMBLY for assembly 'myAssembly' failed because assembly 'myAssembly' failed verification. Check if the referenced assemblies are up-to-date and trusted (for external_access or unsafe) to execute in the database. CLR Verifier error messages if any will follow this message[ : myProcSupport.Axis::Proc1][mdToken=0x6000004] [HRESULT 0x8007000E] - Not enough storage is available to complete this operation.
[ : myProcSupport.Axis::Proc2][mdToken=0x6000005] [HRESULT 0x8007000E] - Not enough storage is available to complete this operation.
[ : myProcSupport.Axis::Proc3][mdToken=0x6000006] [HRESULT 0x8007000E] - Not enough storage is available to complete this operation.
[ : myProcSupport.Axis::.ctor][mdToken=0x600000a] [HRESULT 0x8007000E] - Not enough storage is available to complete this operation.
[ : myProcSupport.Axis::Proc4][mdToken=0x6000001] [HRESULT 0x8007000E] - Not enough storage is available to complete this operation.
[ : myProcSupport.Axis::Proc5][mdToken=0x6000002] [HRESULT 0x8007000E] - Not enough storage is available to complete this operation.
[ : myProcSupport.Axis::Proc6][mdToken=0x6000007] [HRESULT 0x8007000E] - Not enough storage is available to complete this operation.
[ : myProcSupport.Axis::Proc7][mdToken=0x6000008] [HRESULT 0x8007000E] - Not enough storage is available to complete this operation.
[ : myProcSupport.Axis::Proc8][mdToken=0x6000009] [HRESULT 0x8007000E] - Not enough storage is available to complete this operation.
[ : myProcSupport.Axis::Proc8][mdToken=0x600000b] [HRESULT 0x8007000E] - Not enough storage is available to complete this operation.
[ : myProcSupport.Axis::Proc9][mdToken=0x600000c] [HRESULT 0x8007000E] - Not enough storage is available to complete this operation....
C# DLL определяется как SAFE
, как он использует только данные, содержащиеся в базе данных. DLL обычно не подписывается, но я предоставил подписанную версию для тестирования и получения тех же результатов.
Установка выполняется кем-то еще, и у меня нет доступа к коробке, но они выполняют скрипты, которые я предоставил, и работаю на других компьютерах.
Я попытался найти информацию об этой ошибке, кроме того, что дает результат сценария, но я ничего не нашел.
Лицо, выполняющее скрипт для создания сборки, регистрируется с учетной записью администратора, запускает CMD в качестве администратора, подключается к БД через проверку подлинности Windows, добавляется в роль dbo_owner и добавляется в роль сервера SysAdmin с надеждой, что это проблема с разрешениями. Это ничего не изменило.
Нужно ли настраивать SQL Server 2005 Express по-разному для этой среды?
Эта ошибка регистрируется где угодно, кроме как только выход SQLCMD? Что может вызвать эту ошибку? Могли ли политики безопасности Vista вызывать это?
У меня нет доступа к компьютеру (клиент проводит тестирование), поэтому я не могу сам изучить коробку.
ТИА
'Недостаточно места для хранения этой операции.' Ваш SQL Server с низким уровнем дискового пространства случайно? –
Нет, это недавно обработанная машина со множеством концертов свободного места на жестком диске. Первое, что установлено, - SQL Server 2005 Express. Когда база данных создается, два концерта предварительно выделяются для роста. Сборка, которая не установлена, составляет 52 КБ. Я имел в виду, что «недостаточно места для хранения» было остаточной ошибкой «неудачной проверки». –
Все эти ссылки на «myProcSupport» - это настоящая ссылка или вы защищаете больше невинных? Сколько памяти имеет сервер, и SQL, возможно, настроен так, чтобы не использовать все это? –