Sqlserver
 sql >> база данни >  >> RDS >> Sqlserver

Как да преминете през този вид грешка:Ad hoc актуализациите на системните каталози не са разрешени.?

Не можете да актуализирате системните каталози, точно както се казва в съобщението за грешка. Не сте били в състояние да направите това от SQL Server 2000 и дори в онези каубойски дни това рядко е било добра идея. Начинът, по който трябва да направите това, както каза Гордън, е да използвате ALTER ASSEMBLY . Ако имате само една сглобка за актуализиране:

ALTER ASSEMBLY [assembly name] WITH PERMISSION_SET = EXTERNAL_ACCESS;

Ако имате няколко, можете да генерирате скрипт с помощта на динамичен SQL:

DECLARE @sql NVARCHAR(MAX) = N'';

SELECT @sql += N'ALTER ASSEMBLY ' + QUOTENAME(name)
  + ' WITH PERMISSION_SET = EXTERNAL_ACCESS;
  '
FROM sys.assemblies WHERE assembly_id = <someInt>; -- or IN (<some range>)

PRINT @sql;
-- EXEC sp_executesql @sql;

Не мисля, че е необходимо да филтрирате сборките на Microsoft, ако сте предоставили конкретен assembly_id .




  1. Database
  2.   
  3. Mysql
  4.   
  5. Oracle
  6.   
  7. Sqlserver
  8.   
  9. PostgreSQL
  10.   
  11. Access
  12.   
  13. SQLite
  14.   
  15. MariaDB
  1. Как да посоча изчислени колони в таблица, които са базирани на друга колона в SQL Server?

  2. Уникален ключ срещу уникален индекс на SQL Server 2008

  3. MS Access грешка ODBC-неуспешно повикване. Невалидна стойност на символа за спецификацията на каста (#0)

  4. Неуспешно влизане за потребител „NT AUTHORITY\ANONYMOUS LOGON“ Възможен проблем с низа за връзка?

  5. Вече е добавен елемент със същия ключ. Грешка в SSRS при опит за задаване на набор от данни