la variable @address ne vit que dans le lot dans lequel elle est définie, les lots sont délimités par l'instruction go, où elle sort de la portée.
essayez ceci :
declare @address varchar(50)
set @address = 'Hope'
insert into DB1.dbo.Address
values (@address)
insert into DB2.dbo.Address
values (@address)
go