CREATE USER 与 Azure 数据库断开连接

CREATE USER disconnects from Azure database

在 SQL Azure 数据库中,我想创建一个新架构、一个新登录名和一个新用户:

CREATE SCHEMA a AUTHORIZATION dbo ;

CREATE LOGIN a WITH PASSWORD = 'secret';

CREATE USER a FOR LOGIN a WITH DEFAULT_SCHEMA = a;

CREATE SCHEMACREATE LOGIN 有效。但是,总是立即执行CREATE USER会导致断开连接!没有创建用户!怎么了?

编辑——错误信息是:

Msg 10054, Level 20, State 0, Line 0

A transport-level error has occurred when sending the request to the server. (provider: TCP Provider, error: 0 - An existing connection was forcibly closed by the remote host.)

你的 CREATE USER 不应该像下面这样吗?使用关键字 FROM 而不是 FOR

CREATE USER a FROM LOGIN a WITH DEFAULT_SCHEMA = a;

编辑:
确保在 master 数据库中创建 LOGIN

Master 数据库中创建登录名

CREATE LOGIN a WITH PASSWORD = 'secret';

然后回到您自己的数据库并创建 user

CREATE USER a FROM LOGIN a WITH DEFAULT_SCHEMA = a;

此错误消息似乎与登录无关,如果您能够始终如一地重现该问题,最好的办法是使用 Azure 支持记录一个票证

虽然我仍然不知道问题的确切根源,但升级到最新版本解决了一切:

  • 已将 SQL Azure 从 V11 升级到 V12
  • 安装了最新的 SQL Management Studio(V12 - 我还在使用 V11)