Я пытаюсь найти лучший способ создать базу данных из копии базы данных.
Приложение C# имеет регистрацию пользователя, чтобы стать пользователем веб-сайта, и как только регистрация будет одобрена, она должна просмотреть основную базу данных и создать ее прямую копию. Таким образом, для этого примера MainDB (имя основной базы данных) имеет всю схему, необходимую для создания копии для пользователя. Поэтому, когда пользователь регистрируется, он создает UserDB (имя базы данных копирования для пользователя).
Сейчас я делаю это с помощью приведенного ниже кода:
SqlConnection cn;
SqlCommand command;
SqlDataReader dataReader;
cn.Open();
string dbName = UserDB;
command = new SqlCommand("CREATE DATABASE " + dbName + " AS COPY OF MainDB", cn);
command.CommandTimeout = 120;
dataReader = command.ExecuteReader();
cn.Close();
Это работает, но это настолько непредсказуемо, сколько времени потребуется для заполнения в azure, что я не могу определить разумное количество времени ожидания до истечения времени ожидания и выдачи ошибки при создании пользователя для новой базы данных.
Мне было интересно, есть ли более быстрый способ сделать это для C# приложения. Возможно импортировать файл базы данных bacpa c в фабрику данных Azure и создать базу данных оттуда? Но я не смог найти пример этого для запуска кода с использованием приложения C#. Я только что прочитал, что он читает быстрее, не уверен, если правда.
Любая помощь очень ценится!