Sql server Start/stop
Forum kuralları
Forum kurallarını okuyup, uyunuz!
Forum kurallarını okuyup, uyunuz!
Sql server Start/stop
S.a arkadaslar.
Forumda arattım ama hiç bi yerde istediğim bilgiye ulaşamadım. Belki de doğru şekilde aratmadım.
delphi ile Sql servera start stop exıt komutlarını nasıl verdırırım ?
bir de
kendi veritabanımı sql servera nasıl kayıt register edebilirim.
ilgilenen arkadaslara teşekkür ederim
Forumda arattım ama hiç bi yerde istediğim bilgiye ulaşamadım. Belki de doğru şekilde aratmadım.
delphi ile Sql servera start stop exıt komutlarını nasıl verdırırım ?
bir de
kendi veritabanımı sql servera nasıl kayıt register edebilirim.
ilgilenen arkadaslara teşekkür ederim
En son ozsal tarafından 22 Ağu 2006 07:45 tarihinde düzenlendi, toplamda 1 kere düzenlendi.
iyi günler hocam
sql serverde start stop olayı sql script ile çalışıyormu bilmiyorum. bu iş için ben bat dosyası kullanıyorum. (DB2'de sql script kullanıyorum)
başlatmak için:
durudurmak için:
bu iki kodu *.bat dosyası haline getir ve delphi içinde çağırısın.
bat dosyasını veya exe'i nasıl çağıracağın hakkında forumda yeterli bilgi var. ShellExecute diye arattır.
kendi DB'sini yüklemek için manuel olarak yükleyecekseniniz yani sql script halinde ddl dosyası oluşturun ve programda yada konsolda çalıştırırsanız olur. ddl için ise bu örnek işinize yarar.
viewtopic.php?t=11934&start=0&postdays= ... hlight=ddl
kolay gelsin
sql serverde start stop olayı sql script ile çalışıyormu bilmiyorum. bu iş için ben bat dosyası kullanıyorum. (DB2'de sql script kullanıyorum)
başlatmak için:
Kod: Tümünü seç
@ECHO OFF
cd\
cd C:\Program Files\Microsoft SQL Server\MSSQL\Binn
net start mssqlserver
Kod: Tümünü seç
@ECHO OFF
cd\
cd C:\Program Files\Microsoft SQL Server\MSSQL\Binn
net stop mssqlserver
Kod: Tümünü seç
ShellExecute(0, 'open', pchar('start.bat'), nil, nil, SW_Hide);
kendi DB'sini yüklemek için manuel olarak yükleyecekseniniz yani sql script halinde ddl dosyası oluşturun ve programda yada konsolda çalıştırırsanız olur. ddl için ise bu örnek işinize yarar.
viewtopic.php?t=11934&start=0&postdays= ... hlight=ddl
kolay gelsin
Nice İnsanlar gördüm üstünde elbise yok;
Nice elbiseler gördüm içinde insan yok.
Nice elbiseler gördüm içinde insan yok.
SLM
merhaba. verdiğin kodu deneyeceğim. bu konuyu araştırken msssql klasorunun içinde scm.exe diye bi prog. buldum.
paramatreleri olarak -action {1=run ....... &=stop vs. } var.
dos moduna geçtim
ordan scm -action 6
scm /action 6
scm/action=6
...
.
.
.
.vs
değişik parametreli kullanmayı denedim çalışmadı
.
tşkler.
paramatreleri olarak -action {1=run ....... &=stop vs. } var.
dos moduna geçtim
ordan scm -action 6
scm /action 6
scm/action=6
...
.
.
.
.vs
değişik parametreli kullanmayı denedim çalışmadı
.
tşkler.
-
- Üye
- Mesajlar: 380
- Kayıt: 31 Eki 2005 03:26
merhaba,
Servisi başlatmak için;
gerekli unit:
(Bu kodu ServisKont adıyla kaydedin. sonra kendi projenize
uses ServisKont olarak ekleyebilirsiniz.
kolay gelsin @ozsal 
Servisi başlatmak için;
Kod: Tümünü seç
StartNTService('MSSQLSERVER');
(Bu kodu ServisKont adıyla kaydedin. sonra kendi projenize
uses ServisKont olarak ekleyebilirsiniz.
Kod: Tümünü seç
unit ServisKont;
interface
function StartNTService(const ServiceName: string): Boolean;
function StopNTService(const ServiceName: string): Boolean;
implementation
uses ShellApi, WinSvc, sysutils,Windows;
function StartNTService(const ServiceName: string): Boolean;
var
SCM: SC_HANDLE;
ServiceHandle: SC_HANDLE;
Res: Boolean;
Temp: PChar;
Status: SERVICE_STATUS;
Err: Integer;
begin
Result := False;
SCM := OpenSCManager(nil, nil, SC_MANAGER_ALL_ACCESS);
if SCM = 0 then
raise Exception.Create('Servis Kontrol Yöneticisi açılamadı. Hata: ' + SysErrorMessage(getLastError));
ServiceHandle := OpenService(SCM, PChar(ServiceName), SERVICE_ALL_ACCESS);
if ServiceHandle = 0 then
begin
CloseServiceHandle(SCM);
raise Exception.Create(ServiceName + ' isimli servis açılamadı. Hata: ' + SysErrorMessage(getLastError));
end;
Res := StartService(ServiceHandle, 0, Temp);
if Res then
begin
Res := QueryServiceStatus(ServiceHandle, Status);
while (Res) do
begin
if Status.dwCurrentState = SERVICE_RUNNING then
begin
Result := True;
Break;
end else if Status.dwCurrentState = SERVICE_STOPPED then
begin
Result := False;
Break;
end;
QueryServiceStatus(ServiceHandle, Status);
end;
end else begin
Err := GetLastError;
if Err <> ERROR_SERVICE_ALREADY_RUNNING then
raise Exception.Create(ServiceName + ' isimli servis başlatılamadı. Hata:' + SysErrorMessage(Err));
end;
CloseServiceHandle(SCM);
if not Result then
raise Exception.Create(ServiceName + ' isimli servis başlatılamadı');
end;
// Servisi durdurur
function StopNTService(const ServiceName: string): Boolean;
var
SCM: SC_HANDLE;
ServiceHandle: SC_HANDLE;
Res: Boolean;
Status: SERVICE_STATUS;
begin
Result := False;
SCM := OpenSCManager(nil, nil, SC_MANAGER_ALL_ACCESS);
if SCM = 0 then
raise Exception.Create('Servis Kontrol Yöneticisi açılamadı');
ServiceHandle := OpenService(SCM, PChar(ServiceName), SERVICE_ALL_ACCESS);
if ServiceHandle = 0 then
begin
CloseServiceHandle(SCM);
raise Exception.Create(ServiceName + ' isimli servis açılamadı. Hata: ' + SysErrorMessage(getLastError));
end;
Res := ControlService(ServiceHandle, SERVICE_CONTROL_STOP, Status);
if not Res then
begin
if GetLastError <> ERROR_SERVICE_NOT_ACTIVE then
raise Exception.Create('Servis durdurulamadı');
end else Result := True;
end;
end.

-
- Üye
- Mesajlar: 380
- Kayıt: 31 Eki 2005 03:26
Teşekkürler. Turkcan Bey;
Aradığım şey de buydu. Nihayet sonunda.
evet şimdi bu şekilde servisin kontolunu sağlayabiliyorum.
Yardımlarınız ve uyarılarınınz için çok teşekkürler.
Peki ikinci soru konusunda herhangi bir bilginiz varmı?
yani
program fıles\msqlserver...\hesap.log ve hesap.mdb ( dosya uzantıları bunlardı galiba) isimli databaseleri sqlservere nasıl register edebilirim?
Bu bilgileri installer programı için istiyorum. Şu an elimde bitmiş bir projem var.
installerı kendim yapmak istiyorum.
progam instalları çalıştıgında
sql server kontolu yapacak
yuklu ise servisi durdurup
biraz once bahsettiğim log ve mdb ( emin değilim şu an bakamıyorum )
dosyalarını register edecek ( ki bunu nasıl yapacağım hususunda bi fikrim yok ) yoksa sql serverı kuracak makinaya;
ise kur benım exelerımı belirledğiğim dizine atacak.
her şeyi bitirdim şu an sadece register olayı kaldı. Yardım edebilecek arkadaslara şimdiden teşekkür ederim.
ii çalışmalar.
kolay gelsin

Aradığım şey de buydu. Nihayet sonunda.
evet şimdi bu şekilde servisin kontolunu sağlayabiliyorum.
Yardımlarınız ve uyarılarınınz için çok teşekkürler.
Peki ikinci soru konusunda herhangi bir bilginiz varmı?
yani
program fıles\msqlserver...\hesap.log ve hesap.mdb ( dosya uzantıları bunlardı galiba) isimli databaseleri sqlservere nasıl register edebilirim?
Bu bilgileri installer programı için istiyorum. Şu an elimde bitmiş bir projem var.
installerı kendim yapmak istiyorum.
progam instalları çalıştıgında
sql server kontolu yapacak
yuklu ise servisi durdurup
biraz once bahsettiğim log ve mdb ( emin değilim şu an bakamıyorum )
dosyalarını register edecek ( ki bunu nasıl yapacağım hususunda bi fikrim yok ) yoksa sql serverı kuracak makinaya;
ise kur benım exelerımı belirledğiğim dizine atacak.
her şeyi bitirdim şu an sadece register olayı kaldı. Yardım edebilecek arkadaslara şimdiden teşekkür ederim.
ii çalışmalar.
kolay gelsin
-
- Kıdemli Üye
- Mesajlar: 1223
- Kayıt: 26 Nis 2005 04:08
- sabanakman
- Kıdemli Üye
- Mesajlar: 3081
- Kayıt: 17 Nis 2006 08:11
- Konum: Ah bi Antalya olaydı keşke (Ankara)
Olay budur
şu sql kodu işinizi görecektir.
bunu delphi içinde kullanırsak
veya
kodlarıyla çalışabilirsin. Önemli bir uyarı, bu bileşenler "master" kataloğuna (veritabanına) bağlanması gerekmektedir, zira "sp_attach_db" stored procedure kodu bu katalogda tanımlıdır.
Kod: Tümünü seç
EXEC sp_attach_db @dbname = 'ben', @filename1 = 'c:\pubs.mdf', @filename2 = 'c:\pubs_log.ldf'
Kod: Tümünü seç
AdoConnection1.Execute('EXEC sp_attach_db @dbname = ''ben'', @filename1 = ''c:\pubs.mdf'', @filename2 = ''c:\pubs_log.ldf''');
Kod: Tümünü seç
AdoQuery1.Sql.Clear;
AdoQuery1.Sql.Add('EXEC sp_attach_db @dbname = ''ben'', @filename1 = ''c:\pubs.mdf'', @filename2 = ''c:\pubs_log.ldf''');
AdoQuery1.ExecSQL;
Şaban Şahin AKMAN
_________________
Derin olan kuyu değil kısa olan iptir. - .
_________________
Derin olan kuyu değil kısa olan iptir. - .
slm
ilgilendiğiniz için teşekkür ederim
ok
peki şimdi
install yaparken sql serverı kurdum. burda ado connectıon ekleyıp mastera bağlandıktan sonra mı bu kodları kullanacagım.
ok
peki şimdi
install yaparken sql serverı kurdum. burda ado connectıon ekleyıp mastera bağlandıktan sonra mı bu kodları kullanacagım.
-
- Üye
- Mesajlar: 380
- Kayıt: 31 Eki 2005 03:26