Я хочу подтвердить логин пользователя перед установкой нашего программного обеспечения.У них есть возможность использовать встроенную защиту или вход в систему sql.Этот логин не является и не должен быть в роли системного администратора, но это выходит за рамки этого вопроса.
На мой взгляд, это должно быть так же просто, как составление строки соединения без «Начального каталога» и проверкалогин.Это должно подключиться к базе данных пользователей по умолчанию, и мы можем убедиться, что соединение было в порядке.
Это не тот случай, когда речь идет о базах данных Azure SQL.Обычные пользователи обычно не имеют действующей базы данных по умолчанию, так как она установлена на master.Пользователи не имеют доступа к мастеру.
sqlcmd -U xxxUser -S xxxdatabases.database.windows.net
Password: Sqlcmd: Error: Microsoft ODBC Driver 11 for SQL Server : The server principal "xxxdatabases" is not able to access the database "master" under the current security context..
Sqlcmd: Error: Microsoft ODBC Driver 11 for SQL Server : Login failed for user 'xxxdatabases'..
Sqlcmd: Error: Microsoft ODBC Driver 11 for SQL Server : Cannot open user default database. Login failed..
Я мог бы использовать учетную запись администратора, чтобы проверить, есть ли у пользователей доступ к какой-либо из существующих баз данных, и подключить пользователя к этой базе данных.Но это похоже на глупое решение и, возможно, вступает в противоречие с нашим собственным лицензионным соглашением, поскольку нам не разрешено подключаться к случайным базам данных.
У кого-нибудь есть советы по проверке входа в базы данных SQL Azure?