求问SQL server为什么按顺序执行以下语句会出现“用户对象实体已经存在”错误呢

求问
外部程序(数据库在另外一台机子上,写了个C#程序打算管理数据库用户)

在 SQL server 2008里 在C#程序中用拼装语句执行模式 以
SqlCommand BaseSqlCommand.ExecuteNonQuery()
方式 按顺序执行以下语句时 会出现 “用户对象实体已经存在”这类型的错误呢
用户sa登陆
第一句:CREATE DATABASE egg_udb

第二句:create login egg with password='edd',default_database=egg_udb

第三句:create user egg for login egg with default_schema=egg_udb

在第二句和第三局都有可能出现 “用户对象实体已经存在”这个类型的错误
求问为什么会出现这个错误
该如何解决

(虽然虚拟机是复制的但是 sql server 2008是新安装的)

检查下对应的数据库和账户是否已经存在