View name cannot begin with #.

The view name cannot begin with a pound sign (#). Choose a different name.

SQL Server uses a leading pound sign in an object name to indicate that the object is a temporary object. Temporary objects exist only for the duration of the transaction within which they are created.