14 Şubat 2015 Cumartesi

PHP'de Sözdizimi Yapısı (Syntax Structure)

Sözdizimi (Syntax) Nedir?
Asıl olarak bir dilbilim terimi olan sözdizimi (syntax) kelimesi, programlama dillerinde de benzer bir anlamda kullanılmaktadır. Bir  programlama  dilinin  sözdizimi  kuralları,  fonksiyonlar, noktalama işaretleri, parantezler ya da operatörler gibi dile ait bütün bileşenlerin, nasıl bir araya gelerek bir program kodunu oluşturacaklarını belirleyen kurallar olarak tanımlanabilir.     

Örneğin PHP dilinde bütün anlamlı program deyimlerinin noktalı virgül işareti ile sonlandırılması zorunluluğu temel bir sözdizimi kuralıdır.  

NOT: Satırların değil, deyimlerin sonuna noktalı virgül konulmalıdır. Çünkü PHP kodları satır satır değil, ayraç sembolü olarak noktalı virgül işaretini kullanarak yorumlar.

PHP'de Sözdizimi Yapısı (Syntax Structure)
Bir PHP komut bloğu <?php ifadesi ile başlar ve ?> ifadesi ile sona erer.  Bir PHP dosyasını işlem görmek üzere sunucuya gönderdiğinizde, sunucuda yer alan komut yorumlayıcı dosyada işlem yapacağı satırların başlangıcını ve sonunu bu ifadelerden anlar.

Örnek:
<html>
<body>

<?php 
    echo 'Merhaba Dünya!';
?>

</body>
</html>

Örneğimiz web tarayıcımızdan bu şekilde çıktı verecektir.
Merhaba Dünya!

Web tarayıcınızda sayfa kaynağını görüntülerseniz aşağıdaki ifadeler karşınıza gelir:
<html>
<body>

Merhaba Dünya!

</body>
</html>

.php örneğimizi çalıştırdığımızda, dosya web sunucusuna gönderilir. Sunucuda yer alan komut çevirici <?php ile ?> ifadesi arasında yer alan echo komutuna işlem yapar. echo komutu bir metin dizisini ekrana yazmaya yarar. PHP komutlarına işlem yaparak elde ettiği sonuçları ve diğer HTML komutlarını olduğu gibi oluşturduğu dinamik HTML dosyasına geçirir. HTML dosyasını web tarayıcıya geri gönderir. Web tarayıcı da aldığı HTML dosyayı ekranda gösterir.

PHP kodlarının HTML kodlarıyla birlikte kullanıldığı bu gibi durumlarda, PHP deyimlerinin web tarayıcısı tarafından çözümlenerek çalıştırılabilmesi için bu kodu içeren sayfanın .php uzantısına sahip olması gerektiğini unutmayalım.

Ekrana yazdırmak istediğimiz ifadeler için, echo ya da print deyimlerini kullanırız. Bu deyimlerden sonra çift tırnak sembolü içersinde yazacağımız ifadeler, bazı özel durumların dışında, doğrudan yazıldığı şekliyle ekrana basılacaktır.

ECHO ve PRINT Arasındaki Fark Nedir?
İşlevsel anlamda bu iki komut arasında çok fazla bir fark bulunmamaktadır. Her iki deyim de ekrana "string" temelli bilgileri yazmak için kullanılır. Print  komutu,  Echo  komutundan  farklı  olarak  bir  fonksiyon  gibi çalışır  ve  bir  geri  dönüş değeri  üretir. Bu  sebeple  çok  büyük verilerin ekrana yazdırılmasında Echo deyimine göre daha yavaş çalışmaktadır. Echo bir fonksiyon gibi çalışmaz ve geriye bir değer döndürmez. Diğer bir fark ise Echo komutu ile virgülle ayrılmış birden fazla ifadeyi yazdırmaktır. Print virgülle ayırarak yazmayı desteklemez.

<?php 
print "BOZOK", "ÜNİVERSİTESİ"; 
?>
şeklinde bir kod çözümleme hatasına yol açarken, aynı kodu Echo ile çalıştırdığımızda sonuç alabiliriz.

Print komutu yazdırılacak ifadeyi argüman olarak kabul eder ve her zaman "1" değerini döndürür.
<?php 
echo print "BAYRAKTAR"; 
?>

BAYRAKTAR1

Örnek:
<?php 
    echo "Merhaba ";
    echo "Dünya!";
?>
koduna ait ekran çıktısı;
Merhaba Dünya!
şeklinde olacaktır.

Örnekte gördüğünüz gibi farklı echo komutları kullansak dahi ifadelerimiz aynı satıra yazılmakta. İfadelerimizi farklı satırlarda görmek istiyorsak eğer kodumuza küçük bir ek yapmamız gerekir.
<?php 
    echo "Merhaba ";
    echo "<br/>";
    echo "Dünya!";
?>
koduna ait ekran çıktısı;
Merhaba
Dünya!
şeklinde olacaktır.

Bu örneğimizdeki echo "<br/>; ifadesi ekrana hiç bir şey yazmamış bunun yerine birinci ve üçüncü echo komutlarının arasında satırbaşı yapma görevini üstlenmiştir. <br/>  ifadesi aslında temel bir HTML etiketidir. Yani internet tarayıcımız echo komutu ile ekrana yazdırılacak ifadeleri denetliyor ve bu ifadeleri HTML kodu olarak yorumladığı durumda doğrudan ekrana yazmak yerine çalıştırmakta ve sonucunu görüntülemektedir.

Örnek:
<?php
echo "<font size=\"3\">Favori Filmleriniz</font>";
echo "<p>";    
echo "1. Esaretin Bedeli - 1994<br>";
echo "2. BABA - 1972<br>";
echo "3. Ucuz Roman - 1994<br>";
echo "4. 12 Öfkeli Adam - 1957"; echo "</p>";
?>
Örneğimizde ilk echo komutu ile yazdırılan ifade bir HTML satırıdır. Burada "size" parametresinin değerinin belirlenmesi için çift tırnak işareti bulunmaktadır. Bu çift tırnak işaretlerinin echo komutuna ait olan ve PHP tarafından dikkate alınacak tırnaklardan ayırt edilebilmeleri için \ işaretini kullandık. \ (ters bölü) işareti PHP için özel bir karakter olup HTML deyiminde değerlerin belirlenmesinde kullanılmaktadır.

Farklı  bir yöntem olarak echo ve print komutları içerisindeki HTML kodlarında tek tırnak işaretide kullanılabilmekte. HTML yorumlayıcısı, çift tırnak işareti yerine bu işaretide kabul etmektedir. Böylelikle \ işareti kullanımınada gerek kalmayacaktır.

Örnek:
<?php
echo "<font size='3'>Favori Filmleriniz</font>";
echo "<p>";    
echo "1. Esaretin Bedeli - 1994<br>";
echo "2. BABA - 1972<br>";
echo "3. Ucuz Roman - 1994<br>";
echo "4. 12 Öfkeli Adam - 1957"; echo "</p>";
?>

PHP'de Yorum Satırları
PHP programlama dilinde kodlarımızı yazarken geriye dönüp baktığımızda hangi satırda ne kullandığımızı hangi değişkeni ne amaçla yazdığımızı zaman geçtikten sonra okuduğumuzda anlayamakta güçlük çekebiliriz. Bu nedenle programımızı yazarken ileriye dönük olarak kodlamamız gerekebilir. Bir değişkene isim verirken önemli bir detay olarak görünmese bile o değişkene isim verirken ilerde hatırlayabileceğiniz tipte olmasına özen gösterilmelidir. Kod içerisinde PHP yorumlayıcısı tarafından dikkate alınmayacak, açıklama, yorum ve bilgi amaçlı metinleri ekleyebiliriz. Bu ifadeler programın çıktısında görüntülenmeyecektir. Tek satırlı veya çok satırlı yorum satırları ekleyebiliriz.
<?php
echo 'PHP '; // Bu tek satırlık açıklamadır.
/* Bu bir çok-satırlı açıklamadır. */
echo 'öğreniyorum!';
# Bu da tek satırlık açıklamadır.
?>

Apache, PHP ve MySQL manuel Kurulumları

Merhaba 

PHP'de Değişkenler makalesine geçmeden önce örneklerle çalışabilmeniz için kendi bilgisayarımızı  sunucu olarak hazırlayıp PHP kodlaramızın derlenip çalıştırılabilmesini sağlayacak Apache, Mysql ve PHP üçlüsünü kurmamız gerekiyor. Daha önce örnek paket kurulumunu gerçekleştirdiğim WampServer Kurulumu  adlı makalemi inceleyebilirsiniz. Dilerseniz çalışma mantığını kavramak için sunucu kurma işlemini her bir uygulamayı (Apache, MySQL, Php) ayrı ayrı kurup ve yapılandırarakta gerçekleştirebilirsiniz. 

Şimdi kısaca her bir uygulamayı (Apache, MySQL, Php) kurulumlarını ayrı ayrı gerçekleştirelim.

Apache HTTP Server Kurulumu

Öncelikle Apache Projesi sitesinden Apache HTTP Server Kurulum dosyamızı indiriyoruz.

Kurulum dosyamızı indirdikten sonra  ".msi" uzantılı dosyayı çalıştırıyoruz ve kuruluma başlıyoruz.

NOT: İndirdiğiniz dosya bir ".msi" yerine sıkıştırılmış paket bir dosya ise kurulum işlemini  "\Apace24\bin" altında bulunan httpd.exe dosyasını komut satırından çalıştırınız. Yine komut satırından httpd -k install ile services kurulumunu yaparak httpd -k start ile servisleriminiz çalıştırıyoruz.

Diğer Komut Satırı Opsiyonları:
Stop Apache: httpd -k stop   
Restart Apache: httpd -k restart   
Uninstall Apache Service: httpd -k uninstall   
Test Config Syntax: httpd -t   
Version Details: httpd -V  
Command Line Options List: httpd -h

Makalemizde Windows İşletim sistemlerinde çalışan Apache HTTP Server'ın Windows altına kurulum işlemini yapıyoruz. Linux üzerine kurulum başka bir makale konusu olacaktır. Kurulumun ilk penceresi sürüm ve program hakkında bilgileri içerir. Kuruluma devam etmek için karşımıza gelen "Next" butonuna tıklıyoruz. Devamında lisans sözleşmesi hakkında bilgilerin verilecektir. Birçok program kurulumundan da aşina olduğunuz bu pencerede "Sözleşmeyi kabul ediyorum. "(I accept the terms in the license agreement.)" seçeneğini seçmeniz gerekmektedir. Aksi takdirde Next butonu aktif olmayacaktır. Bir sonraki ekranda ise Apache'nin kendini tanıttığı ve versiyona ulaşım adresi bilgisinin verildiği pencere ekrana gelir. Bu pencere bilgilendirme amaçlı olduğundan okuyup "Next" butonuna tıklıyoruz. 

Kurulumun bu aşamasında kurulum biterken bizden bir takım bilgiler isteyecektir. Domain adı gibi vs. localhost yazıp geçmeniz yeterli olacaktır. 

Bu aşamada adı geçen alanlar şu anlama gelmektedir:  
  • Network Domain: İnternet adresi  
  • Server Name: Sunucu ismi  
  • Administrator Email Adress : Yönetici e-mail adresi  
Radio butonlarından ise "for all users, on port 80 as a service Recommend" seçeneği seçilerek programın 80 port üzerinden çalışması istenir.Eğer sisteminizde port 80'i kullanan başka bir HTTP server uygulaması mevcut ise bu kısmı başka bir port ile değiştirebilirsiniz.

13 Şubat 2015 Cuma

PHP Nedir?


PHP en kısa anlamıyla web tabanlı bir programlama dilidir. PHP ifadesinin açılımı "Personal Home Page" Kişisel Anasayfa iken günümüzde gelişmesi ve daha iyi anlam kazanması ile "PHP: Hypertext Preprocessor" yani Üstün Yazı Önişlemcisi olmuştur.
 
Klasik anlamda bir web sayfası oluşturabilmek için HTML kullanılması yeterlidir. Fakat web sayfamızı etkileşimli olabilmesi için HTML tek başına yeterli değildir. Nasıl ki web sayfalarında görselliği arttırmak için CSS, JavaScript, Flash ve animasyonlardan faydalanıyorsak, web sayfamızın dinamik ve  etkileşimli olabilmesi için  server-side bir programlama dili kullanılmalıdır. 

Örneğin web sayfamızın duyurular kısmına yeni bir duyuru eklemek veya mevcut bir duyuruya yorum eklemek, alışveriş sitelerinde ihtiyacımıza yönelik ürünleri bulmamızı sağlayan bir arama motoru gibi vs...

Dünyada birçok firmanın geliştirmiş olduğu server-side teknolojileri mevcut. İşte bu server-side teknolojilerinden biriside PHP'dir.

PHP 1994 yılında Rasmus Lerdorf tarafından tamamen kişisel bir amaç doğrultusunda geliştirildi. Sonraları GPL (Açık Kaynak Kod) lisansıyla dağıtılmaya başlamış, günümüzde halen geliştirilmesine devam edilmektedir ve tamamen ücretsizdir.

PHP'nin Avantajları
  • Rahat ve hızlı kodlanabilir.
  • Öğrenilmesi kolay derlenmeden çalışan bir dildir. 
  • PHP ve beraberinde kullanılan teknolojiler GPL lisansına sahip olması nedeniyle düşük bütçelerle projeler geliştirilmesine olanak sağlamaktadır.
  • Açık kaynak olmasının gereği oldukça güvenli ve hızlıdır. 
  • Büyük bir geliştirici topluluğuna sahip olduğundan kaynak açısından oldukça zengin bir dildir
  • LAMP (Linux, Apache, MySQL ve PHP) olarak adlandırılan programların bir bütünmüş gibi hızlı çalışmasından dolayı web teknolojileri olarak LAMP yoğunlukla tercih edilmektedir.
  • Platform bağımsız olmasından dolayı (Linux, Unix, Windows, FreeBSD, OSX).
  • Birçok server (ISS, Apache, lighttpd, nginx) üzerinde çalışabilmesinden dolayı proje altyapısını değiştirmeden PHP teknolojisine kolayca geçiş yapılabilmektedir.
  • PHP, uzantı alabilmektedir. Uygulamanın içerisinde yer alan çekirdek motor, bir dizi asal kod modüllerinden ve kod uzantılarından oluşmaktadır. Bu nedenle programcılara PHP uzantıları yaratarak bazı özel işlemlerini yapabilmeleri için iki seçenek sunuluyor; ya uzantı modüllerini yazarak uygulanabilen bir derleme yapmak, ya da PHP’nin dinamik yükleme mekanizmasıyla yüklenebilecek uygulanabilir uzatmalar yaratmak.
  • Derleme usulü çalışmadığından dolayı projelerin geliştirilmesi kısa süreler almaktadır.
  • PHP pek çok veritabanı arayüzünü bünyesinde bulunduruyor. PHP, MySQL, MS SQL, Oracle, Informix, PostgreSQL ve diğerleriyle doğrudan çalışabiliyor. 
PHP ile neler yapılabilir?
  • Dinamik Web Sayfaları     
  • İçerik Yönetim Sistemleri
  • Web Tabanlı Robotlar
  • Veri depolama sistemleri
  • Web Tabanlı Otomasyon Yazılımları
  • Online Oyunlar
  • İçerik bulup derleyen botlar
  • Sosyal Medya, Forumlar, Sözlükler  
  • Anketler 
  • E-Ticaret Siteleri 
  • Dosya Yönetimi 
  • E-Posta Uygulamaları 
  • Grafik İşleme 
  • Matematiksel hesaplamalar
  • ...vb. bir çok uygulama PHP ile geliştirilebilmektedir.
PHP Dökümantasyon için tıklayınız.

11 Şubat 2015 Çarşamba

C Programlama Sınıflar ve Nesneler

Sınıf (Class) Kavramı : Nesne tabanlı programlamada gereken nesneleri sınıflar yardımıyla oluşturmaktır. Sınıfları, nesneleri oluşturmak için önceden oluşturulmuş bir kalıp veya ilk örnek olarak da düşünülebilir. Örneğin, kağıt üzerine detayları çizilmiş bir ev planını kullanarak aynı evden pek çok örnek ev oluşturulabilir. İşte burada kağıt üzerindeki bu plan sınıftır. Bu plana bakılarak yapılan ev ise sınıftan oluşturulan nesne örneğidir.

Sınıf kavramı, nesne-tabanlı programlamanın temelini oluşturur. Nesnelerin her birinin durumu ve davranış özellikleri vardır. Bir Nesne, durum ve davranış özelliklerini içinde barındırır.

Oluşturulan her nesnenin durum özelliklerine veri üyesi (data member), davranış özelliklerine üye fonksiyonları (member function) denir.

Örneğin, bir bisikleti yazılım nesnesi olarak tanımlarsak bisiklet sınıfında hız, vites, jant büyüklüğü gibi veri üyeleri tanımlanabilir. Ayrıca vites değiştirmek, fren yapmak ve hızı artırmak için üye fonksiyonları tanımlamak gereklidir. 

Sınıf tanımında yer alan üyelere erişimi, farklı erişim etiketleri kullanarak sınırlandırılabilir:

public:  Bu etiket altında tanımlanan üyelere programın her yerinden erişilebilir.
private: Bu etiket altında tanımlanan üyelere sadece sınıf içerisinden erişilebilir.

Nesne (Object) Kavramı : Sınıf tipinde tanımlanan değişkenlere nesne (object) adı verilir. Sınıf tanımında public veya private belirtilmezse, tanımlanan sınıf üyelerinin erişim etiketleri private olarak varsayılır.

Sınıf Tanımlama Örnek: 
#include <iostream>
using namespace std;
class sinifOrnek
{
    public:
      int x;        //Veri Üyesi (data member)
      void yaz()    //Fonksiyon Üye (member function)
      {
           cout<<"x="<<x<<endl;
      }
};
int main()
{
   sinifOrnek y;  //sinifOrnek sınıfı tipinde y nesnesi tanımlanıyor.
   y.x = 3;      //y nesnesinin x üyesine 3 atanıyor.  
   y.yaz();     //y nesnesinin yaz() fonsiyonu çağrılıyor 
   return 0;
}

Aynı yapılarda olduğu gibi bir nesnenin veri veya fonksiyon üyelerine erişmek için nokta (.) operatörünü kullanırız. nesneAdı.üyeİsmi
   y.x = 3;      
   y.yaz();    

Örnek 1:
#include <stdio.h>
#include <conio.h>
#include <cstdlib>
#include <iostream>

using namespace std;
class Ornek
{
      public:
             int i; //Her noktadan erişilebilen üye
             void yaz()
             {
                  t = 6.1; //Üye fonksiyondan özel t üyesine erişilebilir.
                  z = 8;
                  cout<<"i= "<<i<<endl;
                  cout<<"t= "<<t<<endl;
                  cout<<"z= "<<z<<endl;                
             }
      private:  //Sadece sınıf içinden erişilebilen üyeler
              float t;
              int z;
};
int main()
{
    Ornek nesne;  //Ornek sınıfı tipinde nesne isimli nesne tanımı
    nesne.i = 6;  //nesne isimli nesnenin i üyesine 6 atanıyor.
    nesne.yaz(); //nesne isimli nesnenin yaz() fonksiyonu çağrılır. 
getch();
}

Örnek 2:
#include <stdio.h>
#include <conio.h>
#include <cstdlib>
#include <iostream>

using namespace std;
class Ornek
{
      public:
             int i; //Her noktadan erişilebilen üye
             void yaz()
             {
                  t = 6.1; //Üye fonksiyondan özel t üyesine erişilebilir.
                  z = 8;
                  cout<<"i= "<<i<<endl;
                  cout<<"t= "<<t<<endl;
                  cout<<"z= "<<z<<endl;                
             }
      private:  //Sadece sınıf içinden erişilebilen üyeler
              float t;
              int z;
};
int main()
{
    Ornek nesne;  //Ornek sınıfı tipinde nesne isimli nesne tanımı
    nesne.i = 6;  //nesne isimli nesnenin i üyesine 6 atanıyor.
    nesne.yaz(); //nesne isimli nesnenin yaz() fonksiyonu çağrılır. 
getch();
}

int main()
{
   ornek3 nesne;
   nesne.i =5;
   nesne.t =6.1;
   nesne.z =8;
   nesne.yaz()
}

Örnek 2'de public olarak etiketlenmiş a üyesine main fonksiyonundan erişim sağlanabilirken, private olarak etiketlenmiş b ve c üyelerine erişim sağlanamayacaktır.

Nesne Tanımlama Örnek: 
#include <stdio.h>
#include <conio.h>
#include <cstdlib>
#include <iostream>

using namespace std;

class NesneOrnek
{
      public:
            int n;
};
int main()
{
    NesneOrnek x,y; //NesneOrnek tipinde x ve y isimlerinde nesneleri tanımlıyoruz.
    y.n=6; //y nesnesinin n üyesine 6 atanır.
    cout<<" y nesnesinin n uyesi: "<<y.n<<endl;
    x=y; //" x nesnesini y nesnesine kopyalıyoruz
    cout<<" x nesnesinin n uyesi: "<<x.n<<endl;
    NesneOrnek &ref=y; //y nesnesini gösteren referans değişkeni ref tanımlıyoruz.
    cout<<" ref referansinin n uyesi: "<<ref.n<<endl;
    ref.n =5; //ref'in referans olduğu nesnenin n üyesine  ataması yapıyoruz.
    cout<<" ref referansinin n uyesi: "<<ref.n<<endl;
    NesneOrnek ndizi[3]; //NesneOrnek tipinde 3 nesneyi içeren bir dizi tanımlıyoruz.
    ndizi[2].n=4; //ndizinin 2.indeksli nesnesinin n üyesine 4 ataması yapıyoruz.
    cout<<" ndizi dizisinin 2.nesnesinin n uyesi: "<<ndizi[2].n<<endl;
getch();    
}


Örnek 3: 
Bir  Su Otamatımız olsun ve programımızda SuOtomatı adında bir sınıf tanımlayalım.

Durum özellikleri veri üyeleri (data members) :
  • ŞişeSu Fiyatı
  • Otomatta Kalan Su Sayısı
Davranış özellikleri üye fonksiyonları (member functions):
  • ilkVerilenSu(): fiyat ve Su Şişesi sayısına parametre olarak gelen değerleri atayacak. Varsayılan değeri 1 lira, sayı değeri ise 100 olarak alınacak.
  • suVerme(): Kullanıcıya ücreti gösterecek. Kullanıcı yeterli ücreti girdiyse ve otomatta su mevcut ise kullanıcıya bir şişe su verecek ve kullanıcının para üstünü hesaplayacak.
  • goster(): Su fiyatını ve otomatta kalan şişe sayısını verecek.
#include <stdio.h>
#include <conio.h>
#include <cstdlib>
#include <iostream>
using namespace std;

class SuOtomati
{
      float fiyat;
      int sayi;
      public:
             void ilkVerilenSu (float f=1, int s=100);
             void suVerme();
             void goster(); 
};

void SuOtomati::ilkVerilenSu( float f, int s)
{
     fiyat=f;
     sayi=s;
}

void SuOtomati::suVerme()
{
     float odeme,fark;
     cout<<"Bir Sise Su Fiyati: "<<fiyat<<" lira."<<endl;
     cout<<"Odemeniz: ";
     cin>>odeme;
     if((odeme>=fiyat)&&(sayi>0))
     {
       cout<<"Su Veriliyor."<<endl;
       sayi--;
       fark=odeme-fiyat;
       if(fark>0)
       {
                 cout<<"Para Ustunuz: ";
                 if(fark<1.0)
                    cout<<fark<<" lira"<<endl;
                 else 
                    cout<<fark*100<<" kurus"<<endl;                 
       }
}
else
    cout<<"Otomatta Su Mevcut Degil";
}

void SuOtomati::goster()
{
     cout<<"Son Durum:"<<endl; 
     cout<<"Bir Sise Su Fiyati: "<<fiyat<<endl;
     cout<<"Otomatta Kalan Su Sayisi: "<<sayi<<endl; 
}
int main()
{
    SuOtomati univ;
    univ.ilkVerilenSu();
    univ.suVerme();
    univ.goster();
    getch();
}


Son örneğimizde diğer örneklerden farklı olarak ikili kapsam çözme operatörü (::) binary scope resolution operator kullandık.

void SuOtomati::ilkVerilenSu( float f, int s)

Bu operatörün amacı sınıfın dışında tanımlanan fonksiyonun hangi sınıfın üye fonksiyonu olduğunu belirtmek içindir.

27 Ocak 2015 Salı

SQL'de Server Adını Değiştirme

SQL Server kurulu bilgisayarımızın veya sunucumuzun bilgisayar adı değiştiğinde SQL Server adı değişmemekte ve bununla birlikte bilgisayar adının değişmesin sorunlara neden olur. SQL server adını aşağıdaki Stored Procedure leri kullanarak değiştirebiliriz:

SQL Server Management Studio da Yeni bir Query ekranı açalım:
sp_dropserver 'EskiSunucuAdimiz' 
sp_addserver  'YeniSunucuAdimiz', 'local'

Execute işlemini yaparak değişikliği sağlıyoruz. Eğer SQL Server da default instance dan başka instance lar mevcut ise:
sp_dropserver <EskiSunucuAdimizinstancename> 
sp_addserver  <YeniSunucuAdimizinstancename>, local 

Son olarak MSSQL servisini restart edip yapmış olduğumuz değişikliği aşağıdaki sorguya sunucu adımızı girerek kontrol edebiliriz.
SELECT @@SERVERNAME as "SunucuAdimiz"

Copyright 2013-2017 | İbrahim BAYRAKTAR /dev/null Web Günlüğü