2013-05-23 2 views
1

Я установил tSQLt с разрешениями CLR Off. Я не уверен, как он был установлен. Я вижу некоторую хранимую процедуру класса tSQLt. Теперь я пытаюсь переустановить его, очистив tSQLt, но не смог этого сделать.Не удалось найти тип 'tSQLt.Private'

Когда я бегу tSQLt.Uninstall это дает ниже сообщение

EXEC tSQLt.Uninstall 
Msg 218, Level 16, State 1, Procedure Uninstall, Line 5 
Could not find the type 'tSQLt.Private'. Either it does not exist or you do not have the necessary permission. 

Нет, я побежал tSQLt.cleanup Это дает следующее сообщение об ошибке.

Msg 3729, Level 16, State 1, Line 2 
Cannot drop schema 'tSQLt' because it is being referenced by object 'NullTestResultFormatter'. 

Может кто-то поможет мне в этом контексте

ответ

2

Вы не можете удалить tSQLt потому tSQLt.Private типа от tSQLtCLR сборка не существует в вашем случае (потому что вы не включили SQL CLR перед установкой).

enter image description here

select * from sys.assembly_types where assembly_class = 'tSQLtCLR.tSQLtPrivate' 

Для повторного/деинсталлировать tSQLt в вашем случае вам необходимо:

1.Enable SQL CLR:

EXEC sp_configure 'clr enabled', 1; 
RECONFIGURE; 
GO 
DECLARE @cmd NVARCHAR(MAX); 
SET @cmd='ALTER DATABASE ' + QUOTENAME(DB_NAME()) + ' SET TRUSTWORTHY ON;'; 
EXEC(@cmd); 
GO 

2.Re установить tSQLt - просто выполните sql-скрипт от tSQLt.class.sql (она падает и воссоздать все объекты, если они существуют)

3.Un установить tSQLt (если нужно)

EXEC [tSQLt].[Uninstall] 
Смежные вопросы