When you write a query... say SELECT* FROM [DatabaseName].[dbo].[TableName]
what is the difference in that and [DatabaseName]..[TableName] ? I have seen it written like that before but I just don't want to run into errors later down the road for not fully qualifying or something.
I have even ran into weird errors from not putting the brackets around the database and table names.
If you omit the schema name - it could cause performance issues. When you omit the schema - and you have multiple users using that query to access the system and each user has a different default schema, SQL Server will create a separate execution plan for each user.
Not only could you have multiple plans defined and saved in memory, but one user could end up with an optimal plan and a different user with a non-optimal plan and troubleshooting will become much harder.
I recommend that you always schema-qualify all objects and only use the database when accessing objects in another database.