Назад | Перейти на главную страницу

SQL CLR неправильно включает

У нас есть SQL-сервер, на котором установлена ​​64-разрядная версия SQL 2005 Workgroup (9.0.4273), на сервере Windows 2003 64-разрядная.

Мы запустили процедуру sp_configure и перенастроили сервер, что указывает на то, что теперь clr включен.

exec sp_configure 'clr enabled', '1'
go
reconfigure
go

Однако при попытке вызвать CREATE ASSEMBLY сервер полностью умирает, и мы должны выполнить полную перезагрузку машины.

Еще немного диагностической информации, хотя для clr enabled установлено значение 1, и мы полностью перезагрузили сервер, выполнив следующую инструкцию

select * from sys.dm_clr_properties

возвращается

directory   
version 
state   locked CLR version with mscoree

это то, что он говорит, когда CLR не включен на другом компьютере.

На правильно включенной машине (после перезагрузки) эта функция читает

directory   C:\Windows\Microsoft.NET\Framework64\v2.0.50727\
version v2.0.50727
state   CLR is initialized

Запрос может неправильно отображать версию CLR, если у вас нет VIEW SERVER STATE разрешения на сервере.

Убедитесь, что ваш логин, под которым выполняется запрос, имеет VIEW SERVER STATE разрешения. Один из методов - предоставить этот логин «db_owner» в базу данных и повторно запустить запрос, тогда вы должны получить правильные результаты.

Подробнее о sys.dm_clr_properties: [https://msdn.microsoft.com/en-nz/library/ms174983.aspx]