Для начала: это не конкретное утверждение, которое не работает.SELECT * FROM [TABLE];
тоже не работает.Когда я запускаю его в SSMS от имени пользователя A, он работает отлично.Когда я использую его в C # следующим образом:
string sqlCommand = "SELECT * FROM [TABLE];"
using (var conn = new SqlConnection(ConfigurationManager.ConnectionStrings["Name"].ToString()))
using (var command = new SqlCommand(sqlCommand, conn))
{
conn.Open();
using (var dataReader = command.ExecuteReader())
{
while (dataReader.Read())
{
// work with results
}
}
}
Я регистрирую этот блок кода с помощью try-catch и получаю следующее сообщение об ошибке: System.Data.SqlClient.SqlException (0x80131904): The SELECT permission was denied on the object 'TABLE', database 'MyDb', schema 'dbo'.
Даже если я запускаю программуна сервере, где находится база данных, я получаю ту же ошибку.
Моя строка подключения выглядит так:
Data Source=Server\Something;Initial Catalog=MyDb;User ID=DOMAIN\username;Password=verySecurePassword;Trusted_Connection=True;
Пользователь A имеет роль администратора данных на всей базе данных.
У вас есть идеи, почему это может быть?Мои администраторы БД также не могут мне помочь, и, похоже, это не проблема сети, так как соединение работает.