index scan in select statement
SchemaID like '%[^a-zA-Z0-9-_]%' is going to be problematic no matter what you do.

Having said that, if you added an index like this:

CREATE INDEX IX_FormSchema 
ON dbo.FormSchema(SchemaID) 
INCLUDE (AccountID, SchemaID, Name, Description, CurrentVersion);


And change the query to:

WHERE SchemaID like '[^a-zA-Z0-9-_]%'


you might get an index seek.

Having said that, an index scan is not inherently a bad thing.  In fact, SQL Server is choosing to do an index scan because it believes that is the fastest way to get your results.