• GUID's are very large numbers which cause several issues: they make joining tables less efficient, take extra cycles to generate numbers, and it requires lots of cutting-and-pasting to work data and other support issues.

    Databases are shared resources and need to be used efficiently. For this reason one could use them if you're working with tables with less than 50K rows per table. But if there is a need to do a batch update in a stored proc, generating the GUIDs will require additional resources.

    I strongly recommend NOT using GUIDs in place of identity columns unless there is a very specific reason for implementing them and it is used on a very limited basis. Use them for what they were intended for, not for identity columns.