Sqlserver
 sql >> Cơ Sở Dữ Liệu >  >> RDS >> Sqlserver

Làm cách nào để bạn vượt qua loại lỗi này:Không cho phép cập nhật đặc biệt đối với danh mục hệ thống.?

Bạn không thể cập nhật danh mục hệ thống, giống như thông báo lỗi đã nói. Bạn đã không thể làm điều này kể từ SQL Server 2000, và thậm chí trong những ngày cao bồi đó hiếm khi là một ý tưởng hay. Cách bạn cần làm điều này, như Gordon đã nói, là sử dụng ALTER ASSEMBLY . Nếu bạn chỉ có một lắp ráp duy nhất để cập nhật:

ALTER ASSEMBLY [assembly name] WITH PERMISSION_SET = EXTERNAL_ACCESS;

Nếu bạn có nhiều, bạn có thể tạo một tập lệnh bằng SQL động:

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;

Tôi không nghĩ rằng bạn cần lọc ra các tập hợp Microsoft nếu bạn đã cung cấp một assembly_id cụ thể .




  1. Database
  2.   
  3. Mysql
  4.   
  5. Oracle
  6.   
  7. Sqlserver
  8.   
  9. PostgreSQL
  10.   
  11. Access
  12.   
  13. SQLite
  14.   
  15. MariaDB
  1. chuyển đổi tên tháng trong varchar thành ngày tháng để sắp xếp theo tháng

  2. Ghi đè ORDER BY mặc định theo bảng chữ cái bằng UNION gồm 2 bảng trở lên?

  3. Máy chủ thích ứng không khả dụng hoặc không tồn tại lỗi kết nối với SQL Server từ PHP

  4. Phương thức Statement.setFetchSize (nSize) thực sự làm gì trong trình điều khiển JDBC của SQL Server?

  5. Trả về thông tin cột từ một máy chủ được liên kết trong SQL Server (Ví dụ T-SQL)