Dropping multiple foreign keys of unknown name
One way is dump the result of below query into a Temp Table and execute resulted rows one by one.

CREATE TABLE #foregnkeys
    (
      ROWID INT IDENTITY(1, 1),
      SQLStmt VARCHAR(3000)
    )

DECLARE @count INT= 0,
    @SQLStmt VARCHAR(3000)


INSERT  INTO #foregnkeys
        SELECT  'alter table [' + sc.name + '].['
                + OBJECT_NAME(fk.parent_object_id, DB_ID('DBNAME'))
                + '] drop constraint [' + fk.name + ']'
        FROM    DBNAME.sys.foreign_keys fk
                INNER JOIN DBNAME.sys.tables tbl ON tbl.[object_id] = fk.parent_object_id
                INNER JOIN DBNAME.sys.schemas sc ON sc.[schema_id] = tbl.[schema_id]
        WHERE   tbl.name LIKE 'TA_%'
                OR tbl.name LIKE 'XTB_%'    --- AND of your query is converted to OR


SELECT  @count = ( SELECT MAX(rowid) FROM #foregnkeys )


WHILE ( @count &gt; 0 )  
    BEGIN


        SELECT  @SQLStmt = ( SELECT SQLStmt
                             FROM   #foregnkeys
                             WHERE  ROWID = @count
                           )

        PRINT ( Cast(@count as varchar)+'_ '+ @SQLStmt )
        EXEC ( @SQLStmt)

        SELECT  @count = @count - 1

    END      



DROP TABLE #foregnkeys