我想通过系统定义的sp删除测试IP的数量
从sql server中的sp_delete_firewall_rule表执行sys.firewall_rules
我正在使用下面的光标,但它不起作用。
declare @name nvarchar(max)
declare cur CURSOR LOCAL for
select @name from sys.firewall_rules where [name] like '%TestIP%'
open cur
fetch next from cur into @name
while @@FETCH_STATUS = 0 BEGIN
    exec sp_delete_firewall_rule  @name
    fetch next from cur into @name
END
close cur
deallocate cur发布于 2021-10-12 10:02:43
它对我有效,您只需更改代码中的一些内容即可。
选择列表中的
exec sp_delete_firewall_rule @name = @name1;SP参数。
我的防火墙规则里有这些IP:

使用下面的代码,我将删除IP,它的名称类似于TestIP1。
DECLARE @name1 nvarchar(128);
DECLARE MyCursor CURSOR FOR
  SELECT [name] from sys.firewall_rules where [name] like '%TestIP1%';
OPEN MyCursor;
FETCH FROM MyCursor into @name1
  WHILE @@FETCH_STATUS = 0 BEGIN
    EXEC sp_delete_firewall_rule @name = @name1 ;
FETCH next from MyCursor into @name1
END
CLOSE MyCursor;
DEALLOCATE MyCursor;
GO

现在的结果显示只有一个IP没有包含在上面的删除列表中。

https://stackoverflow.com/questions/69407107
复制相似问题