Member 10669069 Ответов: 3

Как я могу создать сервер базы данных и имя экземпляра программно


Пожалуйста, кто-нибудь дайте идеи и решения для инструментов создания сервера баз данных

Что я уже пробовал:

DataTable table = SmoApplication.EnumAvailableSqlServers(true);
            string ServerName = Environment.MachineName;
            foreach (DataRow row in table.Rows)
            {
                Console.WriteLine(row["Name"].ToString());
            }
            dataGridView1.DataSource = table;


Это только отображение имени сервера нам нужно создать новый сервер и имя экземпляра

3 Ответов

Рейтинг:
2

OriginalGriff

Сервер баз данных - это большой, сложный объект, и по уважительной причине у него есть большая, сложная работа!

Вы не "создаете сервер базы данных и имя экземпляра программно", вы устанавливаете систему сервера базы данных на соответствующий компьютер где-то в вашей сети и даете ей имя: и даже это чревато проблемами и сложной работой, которая требует тщательного планирования перед началом работы.

И вообще, ваше приложение даже не должно думать о том, чтобы выполнить саму установку сервера, хотя это можно сделать:

0) вы можете распространять SQL Server Express только по соображениям авторского права, а не полную версию SQL Server.
1) возможно, у них уже установлен SQL Server в сети. Если это так, то они, вероятно, захотят использовать эту версию.
2) Если у них установлен SQL server и вы начинаете распространять экземпляры SQL server Express, вы будете раздражать администратора базы данных до чертиков...
3) одна установка сайта SQL Server с гораздо большей вероятностью будет скопирована, чем несколько разрозненных версий под контролем пользователя.
4) Sql server довольно сложен для установки и администрирования "обычным" пользователем - это не очень хорошая идея!
5) это уничтожит основное преимущество использования Sql Server по сравнению с SqlCE или SQLite - многопользовательский доступ. Если каждый установит свою собственную копию SQL server, то у вас будет несколько копий вашей базы данных, каждая из которых используется одним человеком. Это вызовет некоторую путаницу и (в зависимости от того, как вы написали исходную базу данных) может потребовать значительных усилий для объединения в один экземпляр, когда проблема будет реализована.

Хорошенько подумайте о том, чего вы пытаетесь достичь: я подозреваю, что вы идете совершенно не в ту кроличью нору!


Рейтинг:
1

RickZeeland

В дополнение к тому, что было сказано о создании экземпляра, вот способ сделать это с помощью бесплатного установщика Inno Setup: Сценарий установки Inno для установки SQL Server 2008 R2 с помощью инструментов[^]

Также взгляните на Инно Сетапа Установщика Зависимость :
GitHub - domgho/innodependencyinstaller: модульный установщик зависимостей InnoSetup[^]
Это позволяет устанавливать все необходимые предварительные условия, такие как SQL Server Express, с помощью веб-установщика, так что ваш установщик может оставаться компактным по размеру.


Рейтинг:
0

phil.o

Это то, что вам нужно?
Установка SQL Server - параметры командной строки - SQL Server | Microsoft Docs[^]
Чтобы установить движок / создать экземпляр, вам нужно использовать правильный установщик.

После этого вы можете программно создать базу данных и ее таблицы, так как для этого требуется только выполнить команды sql на ранее созданном экземпляре.