我们有一些 SQL Server 数据库需要将可信选项设置为“ON”以允许加载外部程序集,但每次有任何安全补丁时,该选项都会设置为关闭并且应用程序会中断。
我不想创建多个 SQL 代理作业来不断运行该set trustworthy on
命令,因此我一直在尝试开发一个游标来在五个数据库上运行此命令。
这就是我现在所拥有的,但我收到一个错误,说“值得信赖”不是公认的 SET 选项。有人可以看看并帮助解决这个问题吗?
在 SQL Server 2019 企业版上运行。
Declare @db_name varchar (100)
Declare @command nvarchar (200)
Declare database_cursor cursor for
Select name from master.sys.sysdatabases
Where name in ('db1', 'db2', 'db3', 'db4', 'db5')
Open database_cursor
Fetch next from database_cursor into @db_name
While @@fetch_status = 0
Begin
Select @command = 'ALTER DATABASE' + ''''+ @DB_NAME+ '''' + 'SET TRUSTWORTHY ON'
PRINT @COMMAND
EXEC SP_EXECUTESQL @COMMAND
FETCH NEXT FROM DATABASE_CURSOR INTO @DB_NAME
END
CLOSE DATABASE_CURSOR
DEALLOCATE DATABASE_CURSOR