我真的不知道这个问题应该去哪里,所以我已经添加了我觉得适用的所有内容。
我在IIS 2012上安装了SQL Server 2016。 创建一个空数据库(无表)和SQL用户和密码。 我在使用ASP .Net构建的IIS中托管一个站点并转到其管理网页。这包括选择我在上面创建的数据库。 一切都运行成功。
我遇到的问题是每个表都以格式" IIS AppPool \ DatabaseUsername.Tablename"格式添加模式。所以IIS_AppPool \ MyUser.Customers。
我不知道为什么会这样做所以我尝试过,从服务器运行网站,从网络PC运行网站,添加网络服务和其他帐户的权限,但无论我做什么,数据库表全部将此架构附加到它上面。我怎么能阻止它添加呢?
答案 0 :(得分:1)
看起来脚本没有对对象名进行模式限定。在这种情况下,该用户创建的对象将在用户的默认架构中创建。您可以使用T-SQL语句为单个用户指定所需的默认架构:
ALTER USER [IIS AppPool\DatabaseUsername] WITH DEFAULT_SCHEMA = dbo;