|
|
|
Как сгенерить скрипт к существующей базе данных не пользуясь Interpice Manager
|
|||
|---|---|---|---|
|
#18+
Необходимо перенести структуру базы данных с одного компьютера, где нет Interpice Manager, на другой. ... |
|||
|
:
Нравится:
Не нравится:
|
|||
| 22.09.2002, 14:12:52 |
|
||
|
Как сгенерить скрипт к существующей базе данных не пользуясь Interpice Manager
|
|||
|---|---|---|---|
|
#18+
Зарегистрировать сервер, где нет Интерпрайс Менеджер, на другом, где есть Интерпрайс Менеджер, и заскриптовать оттуда. Либо найти машину, где есть DMO, и написать кусочек кода с использованием метода Script. ... |
|||
|
:
Нравится:
Не нравится:
|
|||
| 22.09.2002, 15:59:54 |
|
||
|
Как сгенерить скрипт к существующей базе данных не пользуясь Interpice Manager
|
|||
|---|---|---|---|
|
#18+
Вот недавно на SQL DMO писал: Dim SQLServer As Object Dim Database As Object Dim ConnectParams As New ConnectParams Dim sScript As String Dim table As Object Dim col As Object Dim indexes As Object Dim index As Object Dim keys As Object Dim key As Object Dim View As Object Dim proc As Object Dim triggers As Object Dim trigger As Object Dim job As Object Dim FileHand As Long FileHand = FreeFile Set SQLServer = CreateObject("SQLDMO.SQLServer") Open sFileName For Output As #FileHand SQLServer.LoginTimeout = 10 SQLServer.LoginSecure = False SQLServer.Disconnect ' connect к базе SQLServer.Connect sServerName, sUserName, sPassword Set Database = SQLServer.Databases(sDatabaseName) ' Скриптуем вначале создание таблиц (без индексов и ключей) For Each table In Database.Tables If Not table.SystemObject Then sScript = table.script(SQLDMOScript_PrimaryObject Or _ SQLDMOScript_DRI_Checks Or _ SQLDMOScript_DRI_Defaults Or _ SQLDMOScript_IncludeHeaders Or _ SQLDMOScript_OwnerQualify) Print #FileHand, sScript End If Next table ' Скриптуем ключи (primary и unique) For Each table In Database.Tables If Not table.SystemObject Then Set keys = table.keys For Each key In keys If key.Type = SQLDMOKey_Primary Or key.Type = SQLDMOKey_Unique Then sScript = key.script(SQLDMOScript_Default) Print #FileHand, sScript Print #FileHand, "GO" End If Next key End If Next table ' теперь скриптуем внешние ключи For Each table In Database.Tables If Not table.SystemObject Then Set keys = table.keys For Each key In keys If key.Type = SQLDMOKey_Foreign Then sScript = key.script(SQLDMOScript_Default) Print #FileHand, sScript Print #FileHand, "GO" End If Next key End If Next table ' Скриптуем все индексы For Each table In Database.Tables If Not table.SystemObject Then Set indexes = table.indexes For Each index In indexes sScript = index.script(SQLDMOScript_Default) Print #FileHand, sScript Next index End If Next table ' Скриптование всех view For Each View In Database.Views If Not View.SystemObject Then sScript = View.script(SQLDMOScript_Default) Print #FileHand, sScript End If Next View ' Скриптование всех процедур For Each proc In Database.StoredProcedures If Not proc.SystemObject Then sScript = proc.script(SQLDMOScript_Default) Print #FileHand, sScript End If Next proc ' Скриптование всех триггеров For Each table In Database.Tables If Not table.SystemObject Then Set triggers = table.triggers For Each trigger In triggers sScript = trigger.script(SQLDMOScript_Default) Print #FileHand, sScript Next trigger End If Next table ' Теперь необходимо проскриптовать задания (jobs) ' ... For Each job In SQLServer.JobServer.Jobs sScript = job.script(SQLDMOScript_Default) Print #FileHand, sScript Next Set Database = Nothing SQLServer.Disconnect Set SQLServer = Nothing Set ConnectParams = Nothing Close #FileHand ... |
|||
|
:
Нравится:
Не нравится:
|
|||
| 23.09.2002, 11:17:16 |
|
||
|
|

start [/forum/topic.php?fid=46&fpage=3409&tid=1820090]: |
0ms |
get settings: |
6ms |
get forum list: |
16ms |
check forum access: |
3ms |
check topic access: |
3ms |
track hit: |
32ms |
get topic data: |
11ms |
get forum data: |
3ms |
get page messages: |
65ms |
get tp. blocked users: |
2ms |
| others: | 194ms |
| total: | 335ms |

| 0 / 0 |
