Using email addresses as LOGIN usernames on Azure SQL
If your SQL Database server is called
myazureserverand your login is
email@example.com, then you must supply your login as
This is a modified quote from the documentation for CREATE LOGIN (section titled ‘Windows Azure SQL Database Logins’).
firstname.lastname@example.org@myazureserver is obviously a very clumsy username. If you maintain some software which defers authentication to the SQL Server, and are migrating your data to Azure SQL V12 (as I am) then you probably don’t want to require that your users get accustomed to adding an extra
@server to the end of their username.
Currently this doesn’t have a good fix. A workaround is to rename your users’ accounts during migration to remove the
@ sign, for example to
I also have a uservoice request for better support for email address logins to which you could add some votes :)
I’ll leave you with more from that documentation page:
In some methods of connecting to SQL Database, such as sqlcmd, you must append the SQL Database server name to the login name in the connection string by using the
<login>@<server>notation. For example, if your login is login1 and the fully qualified name of the SQL Database server is servername.database.windows.net, the username parameter of the connection string should be login1@servername. Because the total length of the username parameter is 128 characters,
login_nameis limited to 127 characters minus the length of the server name. In the example,
login_namecan only be 117 characters long because servername is 10 characters.
SQL Server rules allow you create a SQL Server authentication login in the format
<loginname>@<servername>. If your SQL Database server is myazureserver and your login is email@example.com, then you must supply your login as firstname.lastname@example.org@myazureserver.