Я боюсь, что вы не можете использовать подобный синтаксис в DROP, ниже простой строки, чтобы отбросить несколько процедур.
DROP PROCEDURE testest,testest1
И на ваш второй вопрос. Есть сценарии, в которых мы можем создать Storedprocedure, которая может быть доступна только для определенной роли.
create proc dbo.testest
as
begin
select 1
end
запрос sys.objects со значением роли
select * from sys.objects where name ='dbo.testest'
возвращает ноль
select * from sys.objects where name ='testest'
теперь работает
Представление каталога sys.objects хранит информацию без имен ролей (только имена). Но используя OBJECT_ID, мы можем получить информацию о конкретной роли
select OBJECT_ID('dbo.testest') //works
select OBJECT_ID('testest') //works
надеюсь, ты сможешь понять сейчас.