sql >> Databasteknik >  >> RDS >> Sqlserver

Hur kommer du förbi den här typen av fel:Ad hoc-uppdateringar av systemkataloger är inte tillåtna.?

Du kan inte uppdatera systemkatalogerna, precis som felmeddelandet sa. Du har inte kunnat göra detta sedan SQL Server 2000, och till och med på de cowboydagarna var det sällan en bra idé. Sättet du behöver göra detta, som Gordon sa, är att använda ÄNDRA MONTERING . Om du bara har en enda sammansättning att uppdatera:

ALTER ASSEMBLY [assembly name] WITH PERMISSION_SET = EXTERNAL_ACCESS;

Om du har flera kan du skapa ett skript med dynamisk 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;

Jag tror inte att du behöver filtrera bort Microsoft-sammansättningarna om du har angett ett specifikt assembly_id .




  1. MySQL Välj fråga för att hämta postbas på listvärden

  2. Hur slutför jag denna SSH-tunnel från lokal utvecklingsdocka till iscensättningsdatabas

  3. Hur man refererar till och sparar flera User_ID:s till ett enda formulär och visar nämnda ID:n i index / Show Pages of Rails 4 App

  4. Så här arbetar du med PL/SQL-arrayer eller samlingar som parametrar och SLUTAR sedan dem tillsammans med index