Версия для печати темы
Нажмите сюда для просмотра этой темы в оригинальном формате
Форум программистов > MS SQL Server > Регисртация базы данных


Автор: Гость_Aleksandr 24.4.2005, 13:19
Привет бсем!

Возникла следюущая проблема:

На комп устанавливается программа и файлы базы данных.

Прежде чем программа сможет установить соединение с этой базой, её надо как-то зарегистрировать на серваке.

Как это возможно сделать без вмешательства юзера? (программно)

Возможно, при помоши SQL Server Subscription File ?
Если так, то как составлять этот файл и как им пользоваться?

Автор: boevik 25.4.2005, 12:07
Можно. Напиши файл скрипт, который выполняет attach базы к серваку, в дополнение можно (желательно) добавить свой login и user для своей базы.

Файл скрипт можно запускать из command line командой osql ...

Автор: Гость_Aleksandr 25.4.2005, 22:34
boevik, спасибо, твой ответ меня очень обнадежил!

Только вот я, к сожалению, не очень дружу с Ms Sql Server. Можно по-подробнее об этом скрипте (или примерчик), учитывая:

1. что в моем случае легче было бы вызвать RESTORE BACKUP function

2. нет никакой информации об аккаунтах и паролях (программа и BACKUP файл устанавливаются на чужей машине).

Автор: boevik 26.4.2005, 11:11
Гость_Aleksandr, есть различные варианты решения проблемы.
У себя я из инсталяционной проги создаю динамически скрипт и его запускаю на сервере.
К примеру, твою проблему можно решить так:
1) Создать скрипт:
Код

CREATE DATABASE dbname ON (NAME = dbname_dat,
         FILENAME = 'c:\data\dbname.mdf',
        SIZE = 10, FILEGROWTH = 5)
LOG ON (NAME = dbname_log,
         FILENAME = 'c:\data\dbname.ldf',
        SIZE = 5, FILEGROWTH = 5)
GO
RESTORE BACKUP dbname FROM DISK = 'c:\backup.bak' WITH REPLACE

2) запустить скрипт из командной строки:
Код

osql -ic:\script.scr -E -oc:\out.log

В этом случае, скрипт запускается с window authentication, поэтому не требуется пароль sa.

Powered by Invision Power Board (http://www.invisionboard.com)
© Invision Power Services (http://www.invisionpower.com)