MSSQLSERVER servisinin çalışıp çalışmadığını nasıl anlarız

MS SQL Server veritabanı ve SQL komutlarıyla ilgli sorularınızı sorabilirsiniz. Delphi tarafındaki sorularınızı lütfen Programlama forumunda sorunuz.
Kullanıcı avatarı
pasa_yasar
Üye
Mesajlar: 570
Kayıt: 07 Haz 2004 12:35

Mesaj gönderen pasa_yasar »

dediğin gibi olmuyor. SQL SERVER kendi management programı bile o SQL SERVER i durdurduğum zaman bağlanmıyor. Delphi 7 kullanıyorum.
[img][img]http://www.uploadtr.net/thumbs/333700sql.JPG[/img] [/img]
şekilde gibi. bunu MSDE kurmadan SQL SERVER 2005 Express nasıl başlatabiliriz. Daha önce hiç ayarlayan oldumu acaba. Firma tercihinden dolayı MS SQL kullanmak zorundayım
Kullanıcı avatarı
sabanakman
Kıdemli Üye
Mesajlar: 3077
Kayıt: 17 Nis 2006 08:11
Konum: Ah bi Antalya olaydı keşke (Ankara)

Mesaj gönderen sabanakman »

Servisin durumunu okumak (GetServiceStatus), servisi durdurmak (StopNTService) ve servisi çalıştırmak (StartNTService) için 3 fonksiyon. Eğer tüm mesele bu ise bu fonksiyonlar sana yardımcı olacaktır.

Kod: Tümünü seç

function GetServiceStatus(const ServiceName: string): SERVICE_STATUS;
const SQLHata='SQL Server';
var
  SCM: SC_HANDLE;
  ServiceHandle: SC_HANDLE;
begin
  SCM := OpenSCManager(nil, nil, SC_MANAGER_ALL_ACCESS);
  if SCM = 0 then
   raise SQLException.CreateFmt('%s Yüklenmemiş',[SQLHata]);
  ServiceHandle := OpenService(SCM, PChar(ServiceName), SERVICE_ALL_ACCESS);
  if ServiceHandle = 0 then begin
    CloseServiceHandle(SCM);
    case GetLastError of
      ERROR_ACCESS_DENIED: raise SQLException.CreateFmt('%s Yetersiz ayrıcalıklar',[SQLHata]);
      ERROR_INVALID_HANDLE: raise SQLException.CreateFmt('%s Geçersiz Handle',[SQLHata]);
      ERROR_INVALID_NAME:raise SQLException.CreateFmt('%s Servis Bulunamadı',[SQLHata]);
      ERROR_SERVICE_DOES_NOT_EXIST: raise SQLException.CreateFmt('%s Servis bulunamadı',[SQLHata]);
    end;
  end;
  //SeciliServis.ServiceStatus.dwCurrentState - SERVICE_STOPPED
  if not QueryServiceStatus(ServiceHandle, Result) then
   raise SQLException.Create('Durum Alınamadı');
end;

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;

// servis başlatma fonksiyonumuz
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;
Örnek:

Kod: Tümünü seç

if GetServiceStatus('MSSQLSERVER').dwCurrentState=SERVICE_RUNNING then ShowMessage('SQL Server Açık');
farklı sql'in kontrolüne örnek:

Kod: Tümünü seç

if GetServiceStatus('MSSQL$SQLEXPRESS').dwCurrentState=SERVICE_RUNNING then ShowMessage('SQL Server Açık');
hatta bu SQL hizmetini çalıştıralım:

Kod: Tümünü seç

StartNTService('MSSQL$SQLEXPRESS');
Aslında bu hizmetin görüntü adı her ne kadar SQL Server (SQLEXPRESS) ise de hizmetin kullanılacak ismi MSSQL$SQLEXPRESS tir. Zaten dynamo da konudan bahsetmiş. Sorun hizmeti durdurup açınca ortaya çıkan bağlantı hatası ise bu durumda tüm ADO bağlantılarını kapatıp açarak tazelemen gerekebilir. İyi çalışmalar.

Not:Konunun açılış maksadı da farklı instancename'ler yüzünden onlara müdahele edilememsiydi. MS işi olsa da (bence süper bir mantık) bir birinden bağımsız bir çok SQL Server aynı sistemde birden fazla çalışıyor. Sadece normal SQL'in hizmet adı 'MSSQLSERVER' farklı instancename'e sahip SQL hizmetinin adı ise 'MSSQL$'+InstanceName şeklinde elde ediliyor.
Şaban Şahin AKMAN
_________________
Derin olan kuyu değil kısa olan iptir. - .
Kullanıcı avatarı
pasa_yasar
Üye
Mesajlar: 570
Kayıt: 07 Haz 2004 12:35

Mesaj gönderen pasa_yasar »

undeclared identifier : SERVICE_STATUS ve diğer parametreler içinde aynı hatayı veriyor. bu kodları nasıl tanımlamam gerekiyor acaba.
Kullanıcı avatarı
sabanakman
Kıdemli Üye
Mesajlar: 3077
Kayıt: 17 Nis 2006 08:11
Konum: Ah bi Antalya olaydı keşke (Ankara)

Mesaj gönderen sabanakman »

Kod: Tümünü seç

uses Windows, SysUtils, WinSvc;
Eğer zahmet edip te sadece bu başlıkta yazılanların hakkını vererek inceleseydin arama yapmana bile gerek kalmadan tüm sorularına cevap alabilecektin. Bu başlıkta 6 sorun var ama birincisi hariç diğer 5'i gereksiz. Nedenini söyledim. Bu cevapların hepsi ilk sorduğun sorunun cevabını da dahil edersek verildi. Biraz zahmet edip okusan diyorum (üstelik arama bile yapmana gerek yok) :evil: .
Şaban Şahin AKMAN
_________________
Derin olan kuyu değil kısa olan iptir. - .
Kullanıcı avatarı
pasa_yasar
Üye
Mesajlar: 570
Kayıt: 07 Haz 2004 12:35

Mesaj gönderen pasa_yasar »

dediğin unit zaten bende tanımlı. yinede hata verdi. hepsini okudum için rahat olsun birşey öğrenmek istediğimde de yeterince forumda diğer delphi forumlarında araştırma yapıyorum. bu verdiğin işlem birçok kere SQL 2005 Express de işe yaramıyor bunu da ifade edeyim. tecrüblerden emin olmak istiyorum o kadar. sonuçta bir program sadece bir iki kere doğru çalıştı diye tamamdır diyemezsin
Kullanıcı avatarı
sabanakman
Kıdemli Üye
Mesajlar: 3077
Kayıt: 17 Nis 2006 08:11
Konum: Ah bi Antalya olaydı keşke (Ankara)

Mesaj gönderen sabanakman »

dynamo yazdı:

Kod: Tümünü seç

unit Services;

interface

uses
  classes, // TStrings
  windows, //DWORD
  WinSvc, // TEnumServiceStatus
  SysUtils; //StrPas

const
  cnMaxServices = 4096;
  SERVICE_KERNEL_DRIVER = $00000001;
  SERVICE_FILE_SYSTEM_DRIVER = $00000002;
  SERVICE_ADAPTER = $00000004;
  SERVICE_RECOGNIZER_DRIVER = $00000008;
  SERVICE_DRIVER = (SERVICE_KERNEL_DRIVER or SERVICE_FILE_SYSTEM_DRIVER or SERVICE_RECOGNIZER_DRIVER);
  SERVICE_WIN32_OWN_PROCESS = $00000010;
  SERVICE_WIN32_SHARE_PROCESS = $00000020;
  SERVICE_WIN32 = (SERVICE_WIN32_OWN_PROCESS or SERVICE_WIN32_SHARE_PROCESS);
  SERVICE_INTERACTIVE_PROCESS = $00000100;
  SERVICE_TYPE_ALL = (SERVICE_WIN32 or SERVICE_ADAPTER or SERVICE_DRIVER or SERVICE_INTERACTIVE_PROCESS);

type
  TSvcA = array[0..cnMaxServices] of TEnumServiceStatus;
  PSvcA = ^TSvcA;

function ServiceGetList(slServicesList: TStrings; sMachine: string = ''; dwServiceType: DWORD = SERVICE_WIN32; dwServiceState: DWord = SERVICE_STATE_ALL): Boolean;
//-------------------------------------
// Gets a list of services
//
// return TRUE if successful
//
// sMachine:
//  machine name, ie: \\SERVER
//  empty = local machine
//
// dwServiceType
//  SERVICE_WIN32,
//  SERVICE_DRIVER or
//  SERVICE_TYPE_ALL
//
// dwServiceState
//  SERVICE_ACTIVE,
//  SERVICE_INACTIVE or
//  SERVICE_STATE_ALL
//
// slServicesList
//  TStrings variable to storage
//
//-------------------------------------

function ServiceGetStatus(sMachine, sService: string): Integer;
//-------------------------------------
// get service status
//
// return status code if successful
// -1 if not
//
// return codes:
//  SERVICE_STOPPED
//  SERVICE_RUNNING
//  SERVICE_PAUSED
//
// following return codes
// are used to indicate that
// the service is in the
// middle of getting to one
// of the above states:
//  SERVICE_START_PENDING
//  SERVICE_STOP_PENDING
//  SERVICE_CONTINUE_PENDING
//  SERVICE_PAUSE_PENDING
//
// sMachine:
//  machine name, ie: \\SERVER
//  empty = local machine
//
// sService
//  service name, ie: Alerter
//-------------------------------------

function ServiceRunning(sMachine, sService: string): Boolean;
//-------------------------------------
// return TRUE if the specified
// service is running, defined by
// the status code SERVICE_RUNNING.
// return FALSE if the service
// is in any other state, including
// any pending states
//-------------------------------------

function ServiceStart(sMachine, sService: string): Boolean;
//-------------------------------------
// start service
//
// return TRUE if successful
//
// sMachine:
//  machine name, ie: \\SERVER
//  empty = local machine
//
// sService
//  service name, ie: Alerter
//-------------------------------------

function ServiceStop(sMachine, sService: string): Boolean;
//-------------------------------------
// stop service
//
// return TRUE if successful
//
// sMachine:
//  machine name, ie: \\SERVER
//  empty = local machine
//
// sService
//  service name, ie: Alerter
//-------------------------------------

function ServiceStopped(sMachine, sService: string): Boolean;
//-------------------------------------
// return TRUE if the specified
// service was stopped, defined by
// the status code SERVICE_STOPPED.
//-------------------------------------

implementation

function ServiceGetList(slServicesList: TStrings; sMachine: string = ''; dwServiceType: DWORD = SERVICE_WIN32; dwServiceState: DWord = SERVICE_STATE_ALL): Boolean;
var
  j: Integer;
  schm: SC_Handle;
  ssa: PSvcA;
  nBytesNeeded, nServices, nResumeHandle: DWord;
begin
  Result := False;
  schm := OpenSCManager(pChar(sMachine), nil, SC_MANAGER_ALL_ACCESS); // connect to the service control manager

  if (schm > 0) then // if successful...
  begin
    nResumeHandle := 0;
    New(ssa);
    EnumServicesStatus(schm, dwServiceType, dwServiceState, ssa^[0], SizeOf(ssa^), nBytesNeeded, nServices, nResumeHandle);

    // Assume that our initial array was large enough to hold all entries. add code to enumerate if necessary.

    for j := 0 to nServices - 1 do
      slServicesList.Add(StrPas(ssa^[j].lpDisplayName));
    Result := True;
    Dispose(ssa);
    CloseServiceHandle(schm); // close service control manager handle
  end;
end;

function ServiceGetStatus(sMachine, sService: string): Integer;
var
  schm,
    schs: SC_Handle;
  ss: TServiceStatus;
  dwStat: Integer;
begin
  dwStat := -1;
  schm := OpenSCManager(pChar(sMachine), nil, SC_MANAGER_CONNECT);
  if (schm > 0) then // if successful...
  begin
    schs := OpenService(schm, pChar(sService), SERVICE_QUERY_STATUS);
    if (schs > 0) then // if successful...
      if (QueryServiceStatus(schs, ss)) then
        dwStat := ss.dwCurrentState;
    CloseServiceHandle(schs);
    CloseServiceHandle(schm);
  end;
  Result := dwStat;
end;

function ServiceRunning(sMachine, sService: string): Boolean;
begin
  Result := SERVICE_RUNNING = ServiceGetStatus(sMachine, sService);
end;

function ServiceStopped(sMachine, sService: string): Boolean;
begin
  Result := SERVICE_STOPPED = ServiceGetStatus(sMachine, sService);
end;

function ServiceStart(sMachine, sService: string): Boolean;
var
  schm, schs: SC_Handle;
  ss: TServiceStatus;
  psTemp: pChar;
  dwChkP: DWord;
begin
  ss.dwCurrentState := 0;
  schm := OpenSCManager(pChar(sMachine), nil, SC_MANAGER_CONNECT);

  if (schm > 0) then // if successful...
  begin
    schs := OpenService(schm, pChar(sService), SERVICE_START or SERVICE_QUERY_STATUS);
    if (schs > 0) then // if successful...
    begin
      psTemp := nil;
      if (StartService(schs, 0, psTemp)) then
      begin
        if (QueryServiceStatus(schs, ss)) then
        begin
          while (SERVICE_RUNNING <> ss.dwCurrentState) do
          begin
            dwChkP := ss.dwCheckPoint;
            SleepEx(ss.dwWaitHint, False);

            if (not QueryServiceStatus(schs, ss)) then
              break;

            if (ss.dwCheckPoint < dwChkP) then
              break;
          end;
        end;
      end;
      CloseServiceHandle(schs);
    end;
    CloseServiceHandle(schm);
  end;

  Result := SERVICE_RUNNING = ss.dwCurrentState;
end;

function ServiceStop(sMachine, sService: string): Boolean;
var
  schm, schs: SC_Handle;
  ss: TServiceStatus;
  dwChkP: DWord;
begin
  schm := OpenSCManager(pChar(sMachine), nil, SC_MANAGER_CONNECT);

  if (schm > 0) then // if successful...
  begin
    schs := OpenService(schm, pChar(sService), SERVICE_STOP or SERVICE_QUERY_STATUS);
    if (schs > 0) then // if successful...
    begin
      if (ControlService(schs, SERVICE_CONTROL_STOP, ss)) then
      begin
        if (QueryServiceStatus(schs, ss)) then
        begin
          while (SERVICE_STOPPED <> ss.dwCurrentState) do
          begin
            dwChkP := ss.dwCheckPoint;
            SleepEx(ss.dwWaitHint, False);

            if (not QueryServiceStatus(schs, ss)) then
              break;

            if (ss.dwCheckPoint < dwChkP) then
              break;
          end;
        end;
      end;
      CloseServiceHandle(schs);
    end;
    CloseServiceHandle(schm);
  end;
  Result := SERVICE_STOPPED = ss.dwCurrentState;
end;

end.
dynamo'nun verdiği şekilde bu uniti baştan yazdım ve yine dynamo'nun dediği gibi

Kod: Tümünü seç

ServiceStart('','MSSQL$SQLEXPRESS');
şeklinde denedim. SQLExpress'im çalıştı. Buna göre

Kod: Tümünü seç

ServiceStop('','MSSQL$SQLEXPRESS');
kodu ise SQLExpress'imi durdurdu. Sorun hala nerede ben onu çıkaramadım. Muhakkak gözünden kaçan çok basit bir nokta var. Kolay gele.

Not:Sistemimdeki SQLEXPRESS'im SQL 2005'in ücretsiz sürümü olan MSDE karşılığı.
Şaban Şahin AKMAN
_________________
Derin olan kuyu değil kısa olan iptir. - .
Kullanıcı avatarı
pasa_yasar
Üye
Mesajlar: 570
Kayıt: 07 Haz 2004 12:35

Mesaj gönderen pasa_yasar »

benim sql server 2005 express kurduğumda sql serveri görmemesinin nedenini biliyormusun acaba. yukarıda resimde göstermiştim. MSDE kurmadan sadece SQL 2005 express kuruyorum ama bağlantı sağlanamıyor. MSDE kurup üstüne sql 2005 express i kurunca bağlantı sağlanıyor
Kullanıcı avatarı
sabanakman
Kıdemli Üye
Mesajlar: 3077
Kayıt: 17 Nis 2006 08:11
Konum: Ah bi Antalya olaydı keşke (Ankara)

Mesaj gönderen sabanakman »

Biraz bilmece gibi anlatmışsın ama sorun, sıfır sisteme direk SQL 2005 kurunca hizmet olarak eklenmediğini mi anlatmaya çalışıyorsun. Eğer öyle ise bunu deneyecek ortamım yoktur.
Şaban Şahin AKMAN
_________________
Derin olan kuyu değil kısa olan iptir. - .
kutercakal007
Üye
Mesajlar: 25
Kayıt: 04 Ara 2010 12:34

Re:

Mesaj gönderen kutercakal007 »

sabanakman yazdı:Servisin durumunu okumak (GetServiceStatus), servisi durdurmak (StopNTService) ve servisi çalıştırmak (StartNTService) için 3 fonksiyon. Eğer tüm mesele bu ise bu fonksiyonlar sana yardımcı olacaktır.

Kod: Tümünü seç

function GetServiceStatus(const ServiceName: string): SERVICE_STATUS;
const SQLHata='SQL Server';
var
  SCM: SC_HANDLE;
  ServiceHandle: SC_HANDLE;
begin
  SCM := OpenSCManager(nil, nil, SC_MANAGER_ALL_ACCESS);
  if SCM = 0 then
   raise SQLException.CreateFmt('%s Yüklenmemiş',[SQLHata]);
  ServiceHandle := OpenService(SCM, PChar(ServiceName), SERVICE_ALL_ACCESS);
  if ServiceHandle = 0 then begin
    CloseServiceHandle(SCM);
    case GetLastError of
      ERROR_ACCESS_DENIED: raise SQLException.CreateFmt('%s Yetersiz ayrıcalıklar',[SQLHata]);
      ERROR_INVALID_HANDLE: raise SQLException.CreateFmt('%s Geçersiz Handle',[SQLHata]);
      ERROR_INVALID_NAME:raise SQLException.CreateFmt('%s Servis Bulunamadı',[SQLHata]);
      ERROR_SERVICE_DOES_NOT_EXIST: raise SQLException.CreateFmt('%s Servis bulunamadı',[SQLHata]);
    end;
  end;
  //SeciliServis.ServiceStatus.dwCurrentState - SERVICE_STOPPED
  if not QueryServiceStatus(ServiceHandle, Result) then
   raise SQLException.Create('Durum Alınamadı');
end;

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;

// servis başlatma fonksiyonumuz
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;
Örnek:

Kod: Tümünü seç

if GetServiceStatus('MSSQLSERVER').dwCurrentState=SERVICE_RUNNING then ShowMessage('SQL Server Açık');
farklı sql'in kontrolüne örnek:

Kod: Tümünü seç

if GetServiceStatus('MSSQL$SQLEXPRESS').dwCurrentState=SERVICE_RUNNING then ShowMessage('SQL Server Açık');
hatta bu SQL hizmetini çalıştıralım:

Kod: Tümünü seç

StartNTService('MSSQL$SQLEXPRESS');
Aslında bu hizmetin görüntü adı her ne kadar SQL Server (SQLEXPRESS) ise de hizmetin kullanılacak ismi MSSQL$SQLEXPRESS tir. Zaten dynamo da konudan bahsetmiş. Sorun hizmeti durdurup açınca ortaya çıkan bağlantı hatası ise bu durumda tüm ADO bağlantılarını kapatıp açarak tazelemen gerekebilir. İyi çalışmalar.

Not:Konunun açılış maksadı da farklı instancename'ler yüzünden onlara müdahele edilememsiydi. MS işi olsa da (bence süper bir mantık) bir birinden bağımsız bir çok SQL Server aynı sistemde birden fazla çalışıyor. Sadece normal SQL'in hizmet adı 'MSSQLSERVER' farklı instancename'e sahip SQL hizmetinin adı ise 'MSSQL$'+InstanceName şeklinde elde ediliyor.
Konu eskiymiş baya ama en azından teşekkürlerimi iletmek için hortlatmış oldum konuyu :D Şaban hocam çok teşekkür ederim verdiğiniz kodlar çok işime yaradı kendime göre uyarladım biraz büyük bir iş külfeti kalktı üstümden ben bunun yerine neler kurgulamıştım bir bilseniz :D Tekrardan teşekkürler emeğinize sağlık kolay gelsin Selametle..
Kullanıcı avatarı
KOROGLUCW
Üye
Mesajlar: 36
Kayıt: 02 May 2013 09:10
İletişim:

Re: MSSQLSERVER servisinin çalışıp çalışmadığını nasıl anlar

Mesaj gönderen KOROGLUCW »

Hocam bütün herşey birbiri içine girmiş ben aynı şekilde şöyle yapmak istiyorum,
combobox da sql server name lerini alacak ve ordan ise combobox 2 de seçilen hangisi ise combobox da database leri gelecek ve onu seçeceğim ve sonra ise;
form2 açılacak. ve ordan ise combobox veya listbox yardımı ile database içindeki verileri çekeceğim.? tb leri combobox veya listbox çekeceğim...
Adoconnection vs onları kullanmayı bilmiyorum:(

VeSSeLaM.
En iyi Sistem fişi çekilmiş Sistem'dir.
Cyber-Warrior.org/K@R@GLU
tayipk
Üye
Mesajlar: 284
Kayıt: 27 Kas 2013 11:32

Re: MSSQLSERVER servisinin çalışıp çalışmadığını nasıl anlar

Mesaj gönderen tayipk »

arkadaşlar merhaba konu çok eski ama ben bu winsrvc unitini projemde nasıl kullanabilecem ricam etsem anlatabilirmisiniz :(
Soru Sorarken yazmaya Üşenmeyen Parmaklar Sorunun Çözüldükten Sonra Teşekkür etmeye de Üşenmesin.
Cevapla