С Новым годом! Форум программистов, компьютерный форум, киберфорум
Microsoft SQL Server
Войти
Регистрация
Восстановить пароль
Блоги Сообщество Поиск Заказать работу  
 
Рейтинг 4.67/137: Рейтинг темы: голосов - 137, средняя оценка - 4.67
5 / 5 / 0
Регистрация: 15.09.2010
Сообщений: 70

Создание скрипта базы данных

22.09.2010, 22:26. Показов 26654. Ответов 10
Метки нет (Все метки)

Студворк — интернет-сервис помощи студентам
По уже готовой базе данных, создать SQL-запрос который будет создавать эту базу данных и таблицы, и заполнять данными таблицы.
В MySQL есть такая возможность, а в MS SQL Server?
Хочу сделать проект в котором не нужно таскать с машины на машину базу данных, а чтоб, через скрипт автоматически создавалась при первом запуске программы.
Мене нужно, чтоб автоматически создало скрипт.
Чтоб в скрипте сохранялись таблицы, поля, записи.
Не обязательно это должен быть скрипт, можно как то сгенерировать код на С# который будет создавать базу данных, при первом запуске.
0
cpp_developer
Эксперт
20123 / 5690 / 1417
Регистрация: 09.04.2010
Сообщений: 22,546
Блог
22.09.2010, 22:26
Ответы с готовыми решениями:

Создание пустой базы данных и импорт данных в sql server 2000
Установила sql server 2000 home edition на локальный компьютер. Стоят три вопроса. Первое это как создать пустую базу данных в нем. Второе-...

Создание базы данных, таблиц, типы данных и триггеры
Здравствуйте. В колледже выдали задание по базам данных. Как создавать базы, таблицы и типы данных через встроенные инструменты - я...

Создание базы данных
Всем привет. Являюсь начинающим программистом и обучаюсь на первом курсе. Ближе к теме. Есть такая игра на Android "World of...

10
215 / 215 / 20
Регистрация: 18.05.2010
Сообщений: 865
22.09.2010, 22:55
Вы не совсем правильно трактуете вопрос. Из ваших слов я понял что речь иде о резервном копировании и востановлении. Воспользуйтесь Хелпом там все показано наглядно и понятно.
SQL
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
28
29
30
31
32
33
34
35
36
37
38
39
40
41
42
43
44
45
46
47
48
49
50
51
52
53
54
55
56
57
58
59
60
61
62
63
64
65
66
67
68
69
70
71
72
73
74
75
76
77
78
79
80
81
82
83
84
85
86
87
Backing Up a Whole DATABASE
BACKUP DATABASE { database_name | @database_name_var } 
  TO <backup_device> [ ,...n ] 
  [ <MIRROR TO clause> ] [ next-mirror-TO ]
  [ WITH { DIFFERENTIAL | <general_WITH_options> [ ,...n ] } ]
[;]
 
Backing Up Specific Files OR Filegroups
BACKUP DATABASE { database_name | @database_name_var } 
 <file_or_filegroup> [ ,...n ] 
  TO <backup_device> [ ,...n ] 
  [ <MIRROR TO clause> ] [ next-mirror-TO ]
  [ WITH { DIFFERENTIAL | <general_WITH_options> [ ,...n ] } ]
[;]
 
Creating a Partial Backup
BACKUP DATABASE { database_name | @database_name_var } 
 READ_WRITE_FILEGROUPS [ , <read_only_filegroup> [ ,...n ] ]
  TO <backup_device> [ ,...n ] 
  [ <MIRROR TO clause> ] [ next-mirror-TO ]
  [ WITH { DIFFERENTIAL | <general_WITH_options> [ ,...n ] } ]
[;]
Backing Up the TRANSACTION Log (FULL AND bulk-logged recovery models)
BACKUP LOG { database_name | @database_name_var } 
  TO <backup_device> [ ,...n ] 
  [ <MIRROR TO clause> ] [ next-mirror-TO ]
  [ WITH { <general_WITH_options> | <log-specific_optionspec> } [ ,...n ] ]
[;]
 
<backup_device>::= 
 {
   { logical_device_name | @logical_device_name_var } 
 | { DISK | TAPE } = 
     { 'physical_device_name' | @physical_device_name_var }
 } 
 
<MIRROR TO clause>::=
 MIRROR TO <backup_device> [ ,...n ]
 
<file_or_filegroup>::=
 {
   FILE = { logical_file_name | @logical_file_name_var } 
 | FILEGROUP = { logical_filegroup_name | @logical_filegroup_name_var }
 } 
 
<read_only_filegroup>::=
FILEGROUP = { logical_filegroup_name | @logical_filegroup_name_var }
 
<general_WITH_options> [ ,...n ]::=--Backup Set Options
   COPY_ONLY 
 | { COMPRESSION | NO_COMPRESSION } 
 | DESCRIPTION = { 'text' | @text_variable } 
 | NAME = { backup_set_name | @backup_set_name_var } 
 | PASSWORD = { password | @password_variable } 
 | { EXPIREDATE = { 'date' | @date_var } 
        | RETAINDAYS = { days | @days_var } } 
 
--Media Set Options
   { NOINIT | INIT } 
 | { NOSKIP | SKIP } 
 | { NOFORMAT | FORMAT } 
 | MEDIADESCRIPTION = { 'text' | @text_variable } 
 | MEDIANAME = { media_name | @media_name_variable } 
 | MEDIAPASSWORD = { mediapassword | @mediapassword_variable } 
 | BLOCKSIZE = { blocksize | @blocksize_variable } 
 
--Data Transfer Options
   BUFFERCOUNT = { buffercount | @buffercount_variable } 
 | MAXTRANSFERSIZE = { maxtransfersize | @maxtransfersize_variable }
 
--Error Management Options
   { NO_CHECKSUM | CHECKSUM }
 | { STOP_ON_ERROR | CONTINUE_AFTER_ERROR }
 
--Compatibility Options
   RESTART 
 
--Monitoring Options
   STATS [ =percentage ] 
 
--Tape Options
   { REWIND | NOREWIND } 
 | { UNLOAD | NOUNLOAD } 
 
--Log-specific Options
   { NORECOVERY | STANDBY =undo_file_name }
 | NO_TRUNCATE
а это для востановление
SQL
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
28
29
30
31
32
33
34
35
36
37
38
39
40
41
42
43
44
45
46
47
48
49
50
51
52
53
54
55
56
57
58
59
60
61
62
63
64
65
66
67
68
69
70
71
72
73
74
75
76
77
78
79
80
81
82
83
84
85
86
87
88
89
90
91
92
93
94
95
96
97
98
99
100
101
102
103
104
105
106
107
108
109
110
111
112
113
114
115
116
117
118
119
120
121
122
123
124
125
126
127
128
129
130
131
132
133
134
135
136
137
138
139
140
141
142
--To Restore an Entire Database from a Full database backup (a Complete Restore):
RESTORE DATABASE { database_name | @database_name_var } 
 [ FROM <backup_device> [ ,...n ] ]
 [ WITH 
   {
    [ RECOVERY | NORECOVERY | STANDBY = 
        {standby_file_name | @standby_file_name_var } 
       ]
   | ,  <general_WITH_options> [ ,...n ]
   | , <replication_WITH_option>
   | , <change_data_capture_WITH_option>
   | , <service_broker_WITH options> 
   | , <point_in_time_WITH_options—RESTORE_DATABASE> 
   } [ ,...n ]
 ]
[;]
 
--To perform the first step of the initial restore sequence-- of a piecemeal restore:
RESTORE DATABASE { database_name | @database_name_var } 
   <files_or_filegroups> [ ,...n ]
 [ FROM <backup_device> [ ,...n ] ] 
   WITH 
      PARTIAL, NORECOVERY 
      [  , <general_WITH_options> [ ,...n ] 
       | , <point_in_time_WITH_options—RESTORE_DATABASE> 
      ] [ ,...n ] 
[;]
 
--To Restore Specific Files or Filegroups: 
RESTORE DATABASE { database_name | @database_name_var } 
   <file_or_filegroup> [ ,...n ]
 [ FROM <backup_device> [ ,...n ] ] 
   WITH 
   {
      [ RECOVERY | NORECOVERY ]
      [ , <general_WITH_options> [ ,...n ] ]
   } [ ,...n ] 
[;]
 
--To Restore Specific Pages: 
RESTORE DATABASE { database_name | @database_name_var } 
   PAGE ='file:page [ ,...n ]' 
 [ , <file_or_filegroups> ] [ ,...n ]
 [ FROM <backup_device> [ ,...n ] ] 
   WITH 
       NORECOVERY   
      [ , <general_WITH_options> [ ,...n ] ]
[;]
 
--To Restore a Transaction Log:
RESTORE LOG { database_name | @database_name_var } 
 [ <file_or_filegroup_or_pages> [ ,...n ] ]
 [ FROM <backup_device> [ ,...n ] ] 
 [ WITH 
   {
     [ RECOVERY | NORECOVERY | STANDBY = 
        {standby_file_name | @standby_file_name_var } 
       ]
    | ,  <general_WITH_options> [ ,...n ]
    | , <replication_WITH_option>
    | , <point_in_time_WITH_options—RESTORE_LOG> 
   } [ ,...n ]
 ] 
[;]
 
--To Revert a Database to a Database Snapshot:   
RESTORE DATABASE { database_name | @database_name_var } 
FROM DATABASE_SNAPSHOT =database_snapshot_name<backup_device>::=
{ 
   { logical_backup_device_name |
      @logical_backup_device_name_var }
 | { DISK | TAPE } = { 'physical_backup_device_name' |
      @physical_backup_device_name_var } 
} 
 
<files_or_filegroups>::= 
{ 
   FILE = { logical_file_name_in_backup | @logical_file_name_in_backup_var } 
 | FILEGROUP = { logical_filegroup_name | @logical_filegroup_name_var } 
 | READ_WRITE_FILEGROUPS
} 
 
<general_WITH_options> [ ,...n ]::=--Restore Operation Options
   MOVE 'logical_file_name_in_backup' TO 'operating_system_file_name' 
          [ ,...n ] 
 | REPLACE 
 | RESTART 
 | RESTRICTED_USER 
 
--Backup Set Options
 | FILE = { backup_set_file_number | @backup_set_file_number } 
 | PASSWORD = { password | @password_variable } 
 
--Media Set Options
 | MEDIANAME = { media_name | @media_name_variable } 
 | MEDIAPASSWORD = { mediapassword | @mediapassword_variable } 
 | BLOCKSIZE = { blocksize | @blocksize_variable } 
 
--Data Transfer Options
 | BUFFERCOUNT = { buffercount | @buffercount_variable } 
 | MAXTRANSFERSIZE = { maxtransfersize | @maxtransfersize_variable }
 
--Error Management Options
 | { CHECKSUM | NO_CHECKSUM } 
 | { STOP_ON_ERROR | CONTINUE_AFTER_ERROR } 
 
--Monitoring Options
 | STATS [ =percentage ] 
 
--Tape Options
 | { REWIND | NOREWIND } 
 | { UNLOAD | NOUNLOAD } 
 
<replication_WITH_option>::=
 | KEEP_REPLICATION 
 
<change_data_capture_WITH_option>::=
 | KEEP_CDC
 
<service_broker_WITH_options>::= 
 | ENABLE_BROKER 
 | ERROR_BROKER_CONVERSATIONS 
 | NEW_BROKER 
 
 
<point_in_time_WITH_options—RESTORE_DATABASE>::= 
 | {
   STOPAT = { 'datetime'| @datetime_var } 
 | STOPATMARK = { 'lsn:lsn_number' }
                 [ AFTER 'datetime'] 
 | STOPBEFOREMARK = {  'lsn:lsn_number' }
                 [ AFTER 'datetime'] 
   } 
 
<point_in_time_WITH_options—RESTORE_LOG>::= 
 | {
   STOPAT = { 'datetime'| @datetime_var } 
 | STOPATMARK = { 'mark_name' | 'lsn:lsn_number' }
                 [ AFTER 'datetime'] 
 | STOPBEFOREMARK = { 'mark_name' | 'lsn:lsn_number' }
                 [ AFTER 'datetime'] 
   }
1
 Аватар для nio
6050 / 3460 / 336
Регистрация: 14.06.2009
Сообщений: 8,136
Записей в блоге: 2
23.09.2010, 00:41
Fire55, есть у MS такая приблуда - SQL Server Managment Studio. Там вызвав контекстное меню на требуемой БД можно получить скрипты на создание этой БД.
2
215 / 215 / 20
Регистрация: 18.05.2010
Сообщений: 865
23.09.2010, 09:43
nio, скорее всего из слов Fire55,
Цитата Сообщение от Fire55 Посмотреть сообщение
Мене нужно, чтоб автоматически создало скрипт.
Чтоб в скрипте сохранялись таблицы, поля, записи.
ему нужно резервное копирование и восстановление или Detach и attach

Добавлено через 1 минуту
и еще
Цитата Сообщение от Fire55 Посмотреть сообщение
Хочу сделать проект в котором не нужно таскать с машины на машину базу данных
0
 Аватар для nio
6050 / 3460 / 336
Регистрация: 14.06.2009
Сообщений: 8,136
Записей в блоге: 2
23.09.2010, 11:58
Башир, тут "бабка надвое сказала":
Цитата Сообщение от Fire55 Посмотреть сообщение
создать SQL-запрос который будет создавать эту базу данных и таблицы,
из этого следует, что автору нужны скрипты создания

Цитата Сообщение от Fire55 Посмотреть сообщение
и заполнять данными таблицы.
а из этого следует, что ему нужно резервное копирование

Цитата Сообщение от Fire55 Посмотреть сообщение
Мене нужно, чтоб автоматически создало скрипт.
все-таки получается, что нужен скрипт. Только я не пойму, о каких данных идет речь?

НО. любую из этих задач можно решить средствами SQL Server Managment Studio, используя только мышь. А автор пусть решает, что ему нужнее
0
215 / 215 / 20
Регистрация: 18.05.2010
Сообщений: 865
23.09.2010, 13:09
Подождем что скажет автор, наверное ему нужно это делать в программе, может он хочет заложить это в скриптах и выполнить с помошью запросов.
0
Shimp
08.12.2010, 11:03
Уважаемый NIO, У меня SQL Server 2008, и SQL Server Managment Studio создаёт скрипт для создания пустой базы, без таблиц, процедур и пр.
Возможно я не умею его готовить.
Не подскажете по подробней, как получить скрипт по созданию базы со всей её структурой, а можно и с данными.
5 / 5 / 0
Регистрация: 15.09.2010
Сообщений: 70
08.12.2010, 11:51  [ТС]
Цитата Сообщение от Башир Посмотреть сообщение
Подождем что скажет автор, наверное ему нужно это делать в программе, может он хочет заложить это в скриптах и выполнить с помошью запросов.
Вот это и я хочу.
0
 Аватар для Lucius Kain
129 / 129 / 22
Регистрация: 10.11.2010
Сообщений: 313
08.12.2010, 12:46
Fire55, ыть, ну все можно, но нужно поковыряться с системными таблицами, исторически так повелось что БД MS SQL не совсем транспортабельна, мягко говоря, но есть вариант самому написать скрипт перегрузки данных.
Еще есть вариант с прогой поставлять mdf и ldf и цеплять из через connectionstring, но это совсем другая история.
0
 Аватар для nio
6050 / 3460 / 336
Регистрация: 14.06.2009
Сообщений: 8,136
Записей в блоге: 2
08.12.2010, 16:09
Цитата Сообщение от Shimp Посмотреть сообщение
Уважаемый NIO, У меня SQL Server 2008, и SQL Server Managment Studio создаёт скрипт для создания пустой базы, без таблиц, процедур и пр.
Возможно я не умею его готовить.
Тут одним скриптом не обойдешься. 1-й скрипт делает пустую БД. На каждую таблицу нужен отдельный скрипт, на связи также. Процедуры, функции, представления, триггерры и т.п. также создаются отдельными скриптами. Все скрипты конечно можно потом объеденить в один файл и запустить на выполнение
0
 Аватар для ksk
624 / 495 / 43
Регистрация: 05.07.2010
Сообщений: 1,589
08.12.2010, 22:23
Как бы программа должна уметь это делать с любой БД, или с конкретной базой, для работы с которой она написана?

Если второе, то правильным является распространять базу с помощью образующего её скрипта.
Более того, если база подлежит эксплуатации, распространению и сопровождению, то нужно и изначально создавать её именно скриптом, а не визуальным конструктором, иначе потом замучаетесть с непоименованными констрайнтами, не говоря уже о разных collations. Справочную часть так же следует заполнять тем же скриптом. Этот скрипт так же должен уметь обновлять версию БД с любой до текущей, которая требуется приложению.

Да, этот скрипт не будет простым и маленьким. Но это единственный способ не превратить удалённое сопровождение в нерешабельную задачу. А правильный скрипт, образующий и модифицирующий базу может значительно снизить затраты на техподдержку.

Если уже есть какая-то база, то в принципе не сложно ручками один раз собрать для неё скрипт, и в дальнейшем все модификации от версии к версии делать именно в этом скрипте. Это совсем не так сложно, как кажется.
0
Надоела реклама? Зарегистрируйтесь и она исчезнет полностью.
raxper
Эксперт
30234 / 6612 / 1498
Регистрация: 28.12.2010
Сообщений: 21,154
Блог
08.12.2010, 22:23
Помогаю со студенческими работами здесь

Создание базы данных
Кто может доходчиво обьяснить как создавать базы данных (нужна для того что-бы сделать регистрацию на сайте).Заранее спасибо всем.

Создание базы данных
как создать базу данных, в Среде MS Server Management Studio. я создал таблицу одну, туда записал какие есть столбцы. а как теперь туда...

создание базы данных
Создание БД: Автопарк - учет автомобилей: за кем закреплен, километраж, путевки (гараж - подразделение - водители - путевки).

Создание базы данных
Недавно решил заняться создание базы данных. Создал программу (допотопная таблица с функцией сохранения/удаления). Вскоре, задался...

создание базы данных
19. Прокат автомобилей Описание предметной области. Вы являетесь руководителем коммерческой службы в фирме, занимающейся прокатом...


Искать еще темы с ответами

Или воспользуйтесь поиском по форуму:
11
Ответ Создать тему
Новые блоги и статьи
WordPad для Windows 11
Jel 10.01.2026
WordPad для Windows 11 — это приложение, которое восстанавливает классический текстовый редактор WordPad в операционной системе Windows 11. После того как Microsoft исключила WordPad из. . .
Classic Notepad for Windows 11
Jel 10.01.2026
Old Classic Notepad for Windows 11 Приложение для Windows 11, позволяющее пользователям вернуть классическую версию текстового редактора «Блокнот» из Windows 10. Программа предоставляет более. . .
Почему дизайн решает?
Neotwalker 09.01.2026
В современном мире, где конкуренция за внимание потребителя достигла пика, дизайн становится мощным инструментом для успеха бренда. Это не просто красивый внешний вид продукта или сайта — это. . .
Модель микоризы: классовый агентный подход 3
anaschu 06.01.2026
aa0a7f55b50dd51c5ec569d2d10c54f6/ O1rJuneU_ls https:/ / vkvideo. ru/ video-115721503_456239114
Owen Logic: О недопустимости использования связки «аналоговый ПИД» + RegKZR
ФедосеевПавел 06.01.2026
Owen Logic: О недопустимости использования связки «аналоговый ПИД» + RegKZR ВВЕДЕНИЕ Введу сокращения: аналоговый ПИД — ПИД регулятор с управляющим выходом в виде числа в диапазоне от 0% до. . .
Модель микоризы: классовый агентный подход 2
anaschu 06.01.2026
репозиторий https:/ / github. com/ shumilovas/ fungi ветка по-частям. коммит Create переделка под биомассу. txt вход sc, но sm считается внутри мицелия. кстати, обьем тоже должен там считаться. . . .
Расчёт токов в цепи постоянного тока
igorrr37 05.01.2026
/ * Дана цепь постоянного тока с сопротивлениями и напряжениями. Надо найти токи в ветвях. Программа составляет систему уравнений по 1 и 2 законам Кирхгофа и решает её. Последовательность действий:. . .
Новый CodeBlocs. Версия 25.03
palva 04.01.2026
Оказывается, недавно вышла новая версия CodeBlocks за номером 25. 03. Когда-то давно я возился с только что вышедшей тогда версией 20. 03. С тех пор я давно снёс всё с компьютера и забыл. Теперь. . .
КиберФорум - форум программистов, компьютерный форум, программирование
Powered by vBulletin
Copyright ©2000 - 2026, CyberForum.ru