I have recently created 2 new SQL 2008 instances. One on a new VM and the other on an existing VM (this one is a named instance as the VM already had a default SQL instance).
I have created a SQL login which is mapped to a Windows Group in AD. This login has a Server Role of Public and a User Mapping to a database. I have assigned Database Roles of public, db_datareader and db_datawriter to this User. In the Database Permissions I have granted Alter, Connect, and Execute permissions and Denied Delete permission.
I have 3 members in the Windows Group. 2 of these members, when they create a new table in SSMS Table Designer, the table is given the dbo schema. When the other member creates a table, the table is given a schema of [Domain\User].
I have the same setup in the SQL instance on the new VM and all 3 users can create tables with dbo schema.
As I am using a Windows Group (and the fact you cannot assign default schemas to Windows Groups), I've ruled that out as the problem. And as it works correctly on the new VM (with the same user), that rules out a Windows User problem. The only difference is that the SQL instance is on a different VM and the fact that one is a default instance and the other is a named instance. Why this would make a difference though, I have no idea, and more importantly I'm not sure what I can do to correct it?
Has anyone else come across this issue, or can anyone recommend any steps to try resolve it?
[Edit] If I create a specific SQL login for the user I'm having problems with and give them db_owner role, the problem is corrected. But why would it work for the other 2 users that I don't give db_owner role to? Another thing to mention (not sure if it makes a difference) is that I am using Windows Authentication with Kerberos.