Я собираюсь создать что-то вроде Visual Studio «Добавить соединение», мои пользователи могут ввести имя сервера базы данных, имя пользователя &, а затем они могут получить список доступных базы данных (только для введенного имени пользователя/пароля) или ошибка должна отображаться, если введенная информация неверна. Я использовал следующий код, который возвращает все базы данных на сервере:SQL server 2008 поиск баз данных, принадлежащих определенному пользователю
using (var con = new SqlConnection("Data Source=" + txtServername.Text + "; User ID=" + txtUsername.Text + ";Connect Timeout=200;pooling=false;Password=" + txtPassword.Text))
{
con.Open();
DataTable databases = con.GetSchema("Databases");
foreach (DataRow database in databases.Rows)
{
String databaseName = database.Field<String>("database_name");
short dbID = database.Field<short>("dbid");
DateTime creationDate = database.Field<DateTime>("create_date");
}
}
Как ограничить результаты в базах данных, принадлежащих указанному пользователю?
Спасибо, но он дает «sa» как пользователь, как я могу найти правильное имя моего пользователя? –
Определите «правильный»? Вам нужно что-то еще, кроме отношения «собственности»? (например, предоставленный доступ) – cubitouch
У меня есть несколько баз данных на моем сервере (более 30), но этот специальный пользователь (например, user1) имеет только одну базу данных, я хочу иметь только эту базу данных, но кажется, что «sa» возвращается как имя пользователя всех баз данных, как я могу найти USERNAME из моих баз данных? –