У меня есть табличная база данных служб аналитики Azure с уровнем совместимости 1400. Когда я подключаюсь и пытаюсь получить роли с помощью пакета AMO, свойство Roles
всегда равно null
, то же самое для свойства DatabasePermissions
, котороеупомянутый в этот ответ .
Я использую объекты Tabular.Server
и Tabular.Database
, как рекомендовано в официальных документах .
У меня естьна основе моего кода отключен этот ответ , и я подключаюсь, используя учетную запись администратора.
Подтверждение того, что роли установлены на той БД, к которой я обращаюсь:
Проверка объекта базы данных:
Интересно, что у меня есть две другие базы данных в одной и той же службе аналитики Azureсервера, и они имеют ту же проблему.
Мой код:
using (Server server = new Server())
{
string serverDomain = "australiasoutheast.asazure.windows.net";
string serverName = "redacteddevpilotv1";
string databaseModel = "PilotV1";
string serverAddress = $"asazure://{serverDomain}/{serverName}";
//string token = await GetAccessToken($"https://{serverDomain}");
//string connectionString = $"Provider=MSOLAP;Data Source={serverAddress};Initial Catalog={databaseModel};User ID=;Password={token};Persist Security Info=True;Impersonation Level=Impersonate";
string connectionString = $"Provider=MSOLAP;Data Source={serverAddress};Initial Catalog={databaseModel};User ID=redacted;Password=redacted;Persist Security Info=True;Impersonation Level=Impersonate";
var t = server.SupportedCompatibilityLevels;
var x = server.Roles;
server.Connect(connectionString);
t = server.SupportedCompatibilityLevels;
x = server.Roles;
Database d = server.Databases.FindByName(databaseModel);
}
Документация посвящена тому, как добавлять роли, а не как их извлекать ...