I've come across an interesting thing today that i didn't even think could be an issue:
Case senstive object names (tables, columns, triggers, views, etc....).
If your database is created with a Case Sensitive collation then all object names will be Case Sensitive.
I always thought that collations are used for data and not schema but i guess i was wrong.
We had an issue with a view that had a lower case column name in it when it should be uppercase.
A bit of code to prove it:
create database testCollation collate Latin1_General_CS_AS -- case sensitive collation
go
use testCollation
create table Test(Col1 int, col2 int)
insert into Test
select 1, 1 union all
select 1, 2 union all
select 2, 1 union all
select 2, 2
go
SELECT Col1, col2 FROM Test -- works
SELECT col1, col2 FROM Test -- fails with error: Invalid column name 'col1'.
SELECT Col1, col2 FROM test -- fails with error: Invalid object name 'test'.
drop table Test
use master
drop database testCollation