101 Transact SQL İpucu

  1. KısayolKısayol reportŞikayet pmÖzel Mesaj
    r3dros
    r3dros's avatar
    Kayıt Tarihi: 17/Temmuz/2005
    Erkek
    Bu bölümde, SQL Server üstünden registry ile ilgili işlemler, sorgu çalıştırmasını beklemeye alma, metin şifreleme ve geri çözme gibi konularda ilginç ipuçlarını ele alacağız.
    İpucu Makale Dizimizin, Bölüm 2 (27-50) Adlı Bu Makalesinde Extended Procedureler Vasıtasıyla Registry Kayıt Ekleyip Düzenlemekten, Ağdaki Kullanıcılara Mesaj Atmaya, Ms Dos Komut İstemine Komut Göndermeye Kadar Bir Çok Konuya Değinip SQL Serverın Windows Üzerindeki Gücüne Tanık Olacağız. 27. İpucu- Kayıt Defterine ( REGISTRY ) Kayıt Eklemek veya Düzenlemek

    DİKKAT:
    Kayıt defterinin hatalı düzenlenmesi, sisteminize ciddi bir hasar verebilir.
    Bu linke tıklayarak Kayıt Defteri ile ilgili yönergeleri okumanız önerilir.
    SQL Serverda kayıt defterine anahtar ve değer eklemek için xp_regwrite extented procedurünü kullanabiliriz. Söz dizimi şu şekildedir.
    EXEC xp_regwrite[ @rootkey =]'rootkey',[ @key =]'key',[ @value_name =]'value_name',[ @type =]'type',[ @value =]'value' Kullanımı :

    EXEC master..xp_regwrite@rootkey ='HKEY_LOCAL_MACHINE',@key ='SOFTWARE\DenemeRegKayit',@value_name ='DenemeAnahtar',@type ='REG_SZ',@value ='Demene Anahtar Değeri' Eğer bu anahtar mevcutsa sadece değeri değiştirilir. Anahtar mevcut değilse önce anahtar oluşturulur sonra yeni değer eklenir.
    SQL Server de T-SQL ile Kayıt defteri ne veri ekmenin bir yöntemi daha var. O'da
    xp_instance_regwrite extented procedurüdür. Kullanımı xp_regwrite ile tamamen aynıdır.
    28. İpucu- Kayıt Defterindeki ( REGISTRY ) Anahtar ve Değerini okumak


    DİKKAT:
    Kayıt defterinin hatalı düzenlenmesi, sisteminize ciddi bir hasar verebilir.
    Bu linke tıklayarak Kayıt Defteri ile ilgili yönergeleri okumanız önerilir.

    SQL Serverda kayıt defterindeki anahtar ve içindeki bir değeri görmek için xp_regread extented procedurünü kullanabiliriz. Söz dizimi şu şekildedir.
    EXEC xp_regread [ @rootkey =]'rootkey',[ @key =]'key'[, [ @value_name =]'value_name'][, [ @value =] @value OUTPUT] Kullanımı :

    EXEC master.dbo.xp_regread@rootkey='HKEY_LOCAL_MACHINE',@key='SOFTWARE\Denem eRegKayit',@value_name='DenemeAnahtar' Şimdi de Sql Serverımızın bazı ayarlarını kayıt defterinden okuyalım.
    -- SQL Server DefaultCollationNameEXEC master.dbo.xp_regread @rootkey='HKEY_LOCAL_MACHINE', @key='SOFTWARE\Microsoft\MSSQLServer\MSSQLServer\' , @value_name='DefaultCollationName' -- SQL Server DefaultLoginEXEC master.dbo.xp_regread@rootkey='HKEY_LOCAL_MACHINE',@key='SOFTWARE\Micro soft\MSSQLServer\MSSQLServer\',@value_name='Defaul tLogin' SQL Server DefaultDomain
    EXEC master.dbo.xp_regread@rootkey='HKEY_LOCAL_MACHINE',@key='SOFTWARE\Micro soft\MSSQLServer\MSSQLServer\',@value_name='Defaul tDomain' --SQL Server BackupDirectoryEXEC master.dbo.xp_regread@rootkey='HKEY_LOCAL_MACHINE',@key='SOFTWARE\Micro soft\MSSQLServer\MSSQLServer\',@value_name='Backup Directory' SQL Server de T-SQL ile Kayıt defteri ndeki anahtarları okumanın bir yöntemi daha var. O'da xp_instance_regread extented procedurüdür. Kullanımı xp_regread ile tamamen aynıdır.
    29. İpucu- Kayıt Defterindeki ( REGISTRY ) Anahtar Silmek.


    DİKKAT:
    Kayıt defterinin hatalı düzenlenmesi, sisteminize ciddi bir hasar verebilir.
    Bu linke tıklayarak Kayıt Defteri ile ilgili yönergeleri okumanız önerilir.
    SQL Serverda kayıt defterindeki anahtar ve içindeki tüm değerleri silmek için xp_regdeletekey extented procedurünü kullanabiliriz. Yalnız çok dikkatli olmamız gerekir. Bu işlem, bir klasörün silinmesiyle içindeki dosyaların da silinmesi gibi bir anahtarın silinmesiyle de içindeki tüm değerlerin silinmesi sağlar. Söz dizimi şu şekildedir.

    EXEC xp_regdeletekey [@rootkey=]'rootkey', [@key=]'key' Kullanımı :
    EXEC master..xp_regdeletekey@rootkey='HKEY_LOCAL_MACHINE',@key='SOFTWARE\Denem eRegKayit' SQL Server de T-SQL ile Kayıt defteri ndeki bir anahtarları silmenin bir yöntemi daha var. O'da xp_instance_regdeletekey extented procedurüdür. Kullanımı xp_regdeletekey ile tamamen aynıdır.
    30. İpucu- Kayıt Defterindeki ( REGISTRY ) Değeri Silmek.

    DİKKAT:
    Kayıt defterinin hatalı düzenlenmesi, sisteminize ciddi bir hasar verebilir.
    Bu linke tıklayarak Kayıt Defteri ile ilgili yönergeleri okumanız önerilir.
    SQL Serverda kayıt defterindeki bir değeri silmek için xp_regdeletevalue extented procedurünü kullanabiliriz. Yalnız çok dikkatli olmamız gerekir. Bu işlem, bir klasörün içindeki dosyanın silinmesi gibi bir anahtarın içindeki değerin silinmesi sağlar. Söz dizimi şu şekildedir.
    EXECUTE xp_regdeletevalue [@rootkey=]'rootkey',[@key=]'key',[@value_name=]'value_name' Kullanımı :
    EXEC master..xp_regdeletevalue@rootkey='HKEY_LOCAL_MACHINE',@key='SOFTWARE\Denem eRegKayit',@value_name='DenemeAnahtar' SQL Server de T-SQL ile Kayıt defteri ndeki bir anahtarları silmenin bir yöntemi daha var. O'da xp_instance_regdeletevalue extented procedurüdür. Kullanımı xp_regdeletevalue ile tamamen aynıdır.
    31. İpucu- Kayıt Defterindeki bir anahtarın içindeki alt anahtarların listesini almak.

    DİKKAT:
    Kayıt defterinin hatalı düzenlenmesi, sisteminize ciddi bir hasar verebilir.
    Bu linke tıklayarak Kayıt Defteri ile ilgili yönergeleri okumanız önerilir.
    SQL Serverda kayıt defterine anahtarın içindeki tüm alt anahtarların bir listesini almak için xp_regenumkeys extented procedurünü kullanabiliriz. Söz dizimi şu şekildedir.
    xp_regenumkeys[ @rootkey =]'rootkey',[ @key =]'key' Kullanımı :
    EXEC master..xp_regenumkeys@rootkey = 'HKEY_LOCAL_MACHINE',@key = 'SOFTWARE\Microsoft\MSSQLServer' Sql Server de T-SQL ile bir anahtarın içindeki alt anahtarların listesini almanın bir yöntemi daha var. O'da xp_instance_regenumkeys extented procedurüdür. Kullanımı xp_regenumkeys ile tamamen aynıdır.
    32. İpucu- Kayıt Defterindeki bir anahtarın içindeki değerlerin listesini almak

    DİKKAT:
    Kayıt defterinin hatalı düzenlenmesi, sisteminize ciddi bir hasar verebilir.
    Bu linke tıklayarak Kayıt Defteri ile ilgili yönergeleri okumanız önerilir.

    SQL Serverda kayıt defterine anahtarın içindeki tüm değerlerin bir listesini almak için xp_regenumvalues extented procedurünü kullanabiliriz. Söz dizimi şu şekildedir.
    xp_regenumvalues[ @rootkey =]'rootkey',[ @key =]'key'Kullanımı :
    EXEC master..xp_regenumvalues'HKEY_LOCAL_MACHINE','SOFTWARE\Microsoft\MSSQLServ er\MSSQLServer\Parameters'SQL Serverda T-SQL ile bir anahtarın içindeki alt anahtarların listesini almanın bir yöntemi daha var. O'da master..xp_instance_regenumkeys extented procedurüdür. Kullanımı xp_regenumkeys ile tamamen aynıdır.

    33. İpucu- Kayıt Defterindeki bir değerin içine yeni metin eklemek.

    DİKKAT:
    Kayıt defterinin hatalı düzenlenmesi, sisteminize ciddi bir hasar verebilir.
    Bu linke tıklayarak Kayıt Defteri ile ilgili yönergeleri okumanız önerilir.

    Kayıt defterindeki bir değerin veri türü eğer REG_MULTI_SZ ise değerin içine eleman ekleyip çıkartabiliriz. Bu veri türü bir tür listbox'a benzer. Bu değer içine eleman eklemek için xp_regaddmultistring extented procedurünü kullanabiliriz. Söz dizimi şu şekildedir.
    Xp_RegAddMultistring[ @rootkey =]'rootkey',[ @key =]'key',[ @value_name =]'value_name',[ @value =]'value' Kullanımı :
    xp_regaddmultistring'HKEY_LOCAL_MACHINE','SOFTWARE','DeleteThisValue', 'String1'SQL Serverda T-SQL ile kayıt defterinde bir değerin içine eleman eklemenin bir yöntemi daha var. O'da xp_instance_regaddmultistring extented procedurüdür. Kullanımı xp_regaddmultistring ile tamamen aynıdır.

    34. İpucu- Kayıt Defterindeki bir değerin içinden metin çıkarmak.

    DİKKAT:
    Kayıt defterinin hatalı düzenlenmesi, sisteminize ciddi bir hasar verebilir.
    Bu linke tıklayarak Kayıt Defteri ile ilgili yönergeleri okumanız önerilir.
    Kayıt defterindeki bir değerin veri türü eğer REG_MULTI_SZ ise değerin içine eleman eklenip çıkartabiliriz. Bu veri türü bir tür listbox'a benzer. Bu değer içinden eleman çıkartmak için xp_regremovemultistring extented procedurünü kullanabiliriz. Söz dizimi şu şekildedir.
    Xp_RegRemoveMultistring[ @rootkey =]'rootkey',[ @key =]'key',[ @value_name =]'value_name',[ @value =]'value'Kullanımı :
    xp_RegRemoveMultistring'HKEY_LOCAL_MACHINE','SOFTWARE','DeleteThisValue', 'String1'SQL Serverda T-SQL ile kayıt defterinde bir değerin içinden eleman çıkartmanın bir yöntemi daha var. O'da master..xp_instance_regaRemovemultistring extented procedurüdür. Kullanımı xp_regremovemultistring ile tamamen aynıdır.

    35. İpucu- Sorgumuzun Çalışmasını Belli Bir Zamana Kadar Ertelemek.

    Sql Serverda Sorgumuzun çalışmasını belli bir zamana kadar ertelemek için
    WAITFOR metodunu kullanıyoruz. WAITFOR metodunu DELAY ve TIME olarak iki şekilde kullanabiliyoruz.
    DELAY: Komut, parametre olarak verilen zaman kadar sonra çalıştırılır.
    TIME: Komut, parametre olarak verilen zaman da çalıştırılır.
    Parametre olarak saat , dakika ve saniyeye verilir.
    Saniyeye kadar hassasiyetle değer verilebilir. Sql Server saniyeye kadar bekler.
    WAITFOR TIME '22:25:00' komut, saat 22:25 &�� de çalıştırılır.WAITFOR DELAY '22:25:00' komut, 22 saat 25 dakika sonra çalıştırılır. Kullanımı:
    WAITFOR DELAY '12:05:00' komut, 12 saat 5 dakika sonra çalıştırılır.Select * From Personel WAITFOR TIME '12:05:00' komut, saat 12:05 &�� de çalıştırılır.
    Select * From Personel 36 İpucu- Ms Dos Komut İstemine Komut Göndermek.

    xp_cmdshell extented procedurü ile Ms Dos Komut istemine komut gönderebiliriz. Yani Ms Dostan yapabildiğiniz her şeyi SQL Server'dan da yapabilirsiniz. Dosya ve dizin arama, her türlü dir işlemleri , dizin oluşturma,SQL Serverı açıp kapatma , Pink atma,dosya kopyalama ve hatta &��Net Send&�� parametresiyle ağdaki kullanıcılara mesaj gönderme işlemlerini rahatlıkla yapabiliriz.
    Şimdi bunları birer örnekle inceleyelim.
    --Kök dizindeki tüm dosyalar.EXEC master.dbo.xp_cmdshell 'dir *.*'-- C'nin içindeki txt uzantılı dosyalar.EXEC master.dbo.xp_cmdshell 'dir c:\*.txt'--Kullanıcı hesapları.EXEC master..xp_cmdshell 'net1 user'--Dizin oluşturma işlemi.EXEC master.dbo.xp_cmdshell 'mkdir "c:\MyKlasor\YeniKlasor'&�� Dosya kopyalama işlemiEXEC master.dbo.xp_cmdshell 'copy c:\dosyam.txt c:\Klasor\Dsy1.txt'&�� Ağ üzerinde Dosya kopyalama işlemiEXEC xp_cmdshell 'copy c:\sqldumps\pubs.dmp \\server2\backups\sqldumps' &�� Dosya silme işlemiEXEC master.dbo.xp_cmdshell 'del %systemroot%\system32\Klasor\Dosyam.txt'; EXEC master.dbo.xp_cmdshell 'if exist %windir%\ c:\a.txt del %Windir%\c:\a.txt 'EXEC master.dbo.xp_cmdshell 'if exist c:\a.txt del c:\a.txt' -- Ağdaki bir kullanıcıya mesaj gönderme işlemiEXEC xp_cmdshell 'net send cengiz Abi Nasılsın'--Buradaki net send parametresi mesaj göndermek için sabit metin.--&��Cengiz&�� bilgisayarın ağdaki adı. Kalan kısım ise göndereceğiniz mesaj. -- Ağdaki tüm kullanıcılara mesaj gönderme işlemiEXEC master..xp_cmdshell 'net send /users&��Sql Server 5 dakika sonra kapatılıyor. Lütfen herkez oturumlarından çıksın'' -- 5 dakika sonra SQL Serverı durumunu pause yap.WAITFOR DELAY '00:05:00'EXEC master..xp_cmdshell 'net pause mssqlserver' -- 5 dakika sonra SQL Serverı durumunu stop yap.WAITFOR DELAY '00:05:00'EXEC master..xp_cmdshell 'net stop mssqlserver' -- 5 dakika sonra SQL Serverı durumunu continue yap.WAITFOR DELAY '00:05:00'EXEC master..xp_cmdshell 'net continue mssqlserver' -- 5 dakika sonra SQL Serverı durumunu start yap.WAITFOR DELAY '00:05:00'EXEC master..xp_cmdshell 'net start mssqlserver' 37. İpucu- Sql Serverdan Access deki Verileri Sorgulamak.

    Bu işlem OPENROWSET, OPENDATASOURCE ile yapılabilir. Veya sp_addlinkedserver Access için server linki eklenip yapılabilir. Biz burada OPENROWSET metodunu kullanacağız. Daha ayrıntılı bilgi için Ms Boks Online'a bakabilirsiniz. Kullanımı: SELECT Access.*FROM OPENROWSET('Microsoft.Jet.OLEDB.4.0','D:\Access.md b' ;'admin' ;'Pswd', OgrenciSicil )AS AccessVeriTabanim 38. İpucu- Sql Serverdan Excelldeki Verileri Sorgulamak.

    Bu işlem OPENROWSET, OPENDATASOURCE ile yapılabilir. Veya sp_addlinkedserver Excell için server eklenip yapılabilir. Biz burada OPENROWSET metodunu kullanacağız. Daha ayrıntılı bilgi için Ms Boks Online'a bakabilirsiniz.
    Kullanımı:
    SELECT *FROM OpenDataSource( 'Microsoft.Jet.OLEDB.4.0','Data Source="c:\Excell.xls";User ID=Admin;Password=;Extended properties=Excel 5.0' )... Sayfa1$ DİKKAT:
    Excel'deki hangi sayfayı almak istiyorsanız o sayfanın adını alıp yanına $ işareti koymalısınız. Sayfa1$ bu şekilde olmalı. Aksi takdirde hata bildirir.

    39. İpucu- Sql Serverınızın Araçlarının Bulunduğu Adres

    sp_MSgettools_path install_path Sql Serverın araçlarının kurulu alduğu dizini bulabiliriz.
    Kullanımı:
    USE masterGOdeclare @KurulumAdresi NVARCHAR(260)EXEC sp_MSgettools_path @KurulumAdresi OUTPUTselect @KurulumAdresi 40. İpucu- İşletim Sisteminizin Desteklediği OLE DB PROVIDER'lerin Listesi

    xp_enum_oledb_providers extented procedurü ile işletim sisteminizin desteklediği OLE DB PROVIDER'lerin listesi alabilirsiniz. Veri Import &�� Export ederken kullanılabilir.
    Kullanımı:
    EXEC master..xp_enum_oledb_providers 41. İpucu- İşletim SisteminizdeTanımlı Sistem DSN'lerin Listesi

    xp_enum_oledb_providers extented procedurü ile işletim sisteminizde tanımlı Sistem DSN'lerin listesi alabilirsiniz. Veri Import &�� Export ederken kullanılabilir.
    Kullanımı:
    EXEC master..xp_enumdsn
    42. İpucu- T-SQL ile LOG İzlemek

    xp_readerrorlog extented procedurü ile aktif veritabanındaki en son log kayıtlarının listesini alabilirsiniz. xp_enumerrorlogs extented procedurü ile de aktif veritabanının log dosyasındaki en son tarihe göre dosya boyutlarındaki değişiklikleri takip edebilirsiniz.
    Kullanımı:
    EXEC master..xp_enumerrorlogsEXEC master..xp_readerrorlog 43. İpucu- Tempdb Veritabanınızın Büyüklüğü ve Kullanılan Miktarı


    sp_tempdbspace extented procedurü ile tempdb veritabanınızın büyüklüğü ve kullanılan miktarı hakkında bilgi alabilirsiniz. Bildiğiniz gibi tempdb veritabanını SQL Server geçici bilgileri saklamak için bir not defreri gibi kullanır. Sql Server kapatıldığında tempdb veritabanındaki tüm bu geçici bilgiler silinir. sp_tempdbspace extented procedurü ile tempdb veritabanımızı takip edebiliriz.

    Kullanımı:
    EXEC sp_tempdbspace 44. İpucu- T-SQL İle Nesneleri Drop Etmenin Başka Bir Yolu.

    Sp_MSdrop_object extented procedurü ile Tablo , view, stored procedure ve trigger gibi nesneler drop edilebilir. Bu Procedure ile Drop Table , Drop View , Drop Procedure , Drop Trigger procedurelerinin hepsini tek seferde işletebilirsiniz.

    Kullanımı:
    EXEC Sp_MSdrop_object TableEXEC Sp_MSdrop_object ViewEXEC Sp_MSdrop_object TriggerEXEC Sp_MSdrop_object Procedure 45. İpucu- Bir Metni Şifrelemek ve Şifreli iki metni karşılaştırmak.

    T-SQL de Metni şifrelemenin iki yöntemi var. Biri PWDENCRYPT, diğeri ENCRYPT'dir.
    PWDENCRYPT adından da anlaşıldığı gibi SQL Serverın kullanıcılarının passwordlarının şifrelediği metoddur. Yani bizde metinlerimizi SQL Serverın kullanıcılarının passwordlarının şifrelendiği gibi şifreleyebiliriz. Yalnız bu şifrelemenin geri dönüşümü yoktur. Ama iki metni PWDCOMPARE metoduyla karşılaştırıp doğruluğunu test edebiliriz. Hatta PWDCOMPARE metoduyla Sql Servera kendi login formumuzdan login olabiliriz.
    Şifreleme Kullanımı:
    SELECT PWDENCRYPT('string')SELECT ENCRYPT('string') Şifreleri Karşılaştırma:
    SELECT CASE ISNULL(PWDCOMPARE ('s',(SELECT password FROM master.dbo.syslogins WHERE name = 'sa') ),0) WHEN 0 THEN 'Hatalı Şifre' WHEN 1 THEN 'Doğru Şifre'END46. İpucu- En Kolay Yoldan Ay ve Gün Adlarını Türkçe Almak.

    Tarih ve Saat adlı makalemizde case metodu kullanılarak ay isimlerini Türkçe olarak almıştık. Ama şimdi burada aynı işlem için uzun uzadıya case metodunu kullanmayacağız. Biz SQL Serverın dilini geçici bir süreliğine Türkçe yapacağız.
    SELECT @@LANGUAGE AS 'Language Name' -- Aktif Dili GösterSET LANGUAGE Turkish -- Aktif Dili Türkçe YapSELECT @@LANGUAGE AS 'Language Name' -- Aktif Dili GösterSELECT DATENAME(mm, getdate()) AS "Ay Adı"SELECT DATENAME(dw, getdate()) AS "Gün Adı"sp_helplanguage procedure'üyle de Sql Serverın desteklediği dillerin bir listesini alabilirsiniz.
    Kullanımı :
    EXEC dbo.sp_helplanguage 48. İpucu- Triggerlerimizin Çalışma Sırasını Belirlemek.

    Sp_settriggerorder procedure'ü ile bir tablo üzerinde çalışan triggerlerimizin çalışma sırasını belirleyebilirsiniz.
    Söz Dizimi
    sp_settriggerorder[ @triggername = ] ' Trigger Adı ' ,[ @order = ] ' Sıra Türü ' ,[ @stmttype = ] ' İşlem Tipi
    [ @order = ] ' Sıra Türü ' nün alacağı değerler.
    Değer
    Açıklama
    First
    İlk Çalışacak Trigger
    Last
    Son Çalışacak Trigger
    None
    Sırası Olmayan, Herhangi Bir Sıra
    [ @stmttype = ] ' İşlem Tipi' nin açıklaması
    Değer
    Update
    Insert
    Delete
    sp_settriggerorder @triggername = 'MyTrigger', @order ='first', @stmttype = 'UPDATE'49. İpucu- Bir Tabloya Ait En Son Identity Değerini Bulmak.

    IDENT_CURRENT metoduyla bir tabloya ait en son kullanılan Identity değerini bulabiliriz. Yapmamız gereken şey sadece ilgili tablo adını vermek.
    IDENT_SEED veya IDENT_INCR metoduyla da o tablonun Identity değeri artış katsayısını bulabiliriz.
    Kullanımı:
    SELECT IDENT_CURRENT('GG_2005_UYE_ALDIGI_BELGELER')SELECT IDENT_SEED('GG_2005_UYE_ALDIGI_BELGELER')SELECT IDENT_INCR ( 'GG_2005_UYE_ALDIGI_BELGELER' ) 50. İpucu- Bir tablodan her seferinde farklı N kayıt seçmek

    (Kaan TEZEL' den)
    Bir tablodan belli miktarda rasgele kayıt seçmek için rasgele sayı üretecini kullanamazsınız. Çünkü SQL Server rasgele sayı üreteci her serferinde aynı başlangıç değeri ile çalıştığından size aynı sayıları üretir. Bunun için aşağıdaki gibi bir yöntem kullanabiliriz. Örmekte rasgele 20 adet kayıt seçilmiştir.
    Kullanımı:
    SELECT TOP 20 * FROM TABLO_ADI WHERE sartlar ORDER BY NEWID() Örnek:
    SELECT TOP 20 * FROM tblUrun WHERE urunKod >15 ORDER BY NEWID() Bu makalenin de sonuna geldik. Bu makaleler zincirimde herkesin istifade edebileceği konuları derlemeye çalıştım. Çalışmayan veya tam anlaşılamayan konular hakkında forum bölümünde görüşebiliriz.
    Bir sonraki makalemiz olan 101 T-SQL İpucu Bölüm 3 de yine birbirinden ilginç T-SQL ipuçlarıyla görüşmek üzere.
    Kayıt Defteri Düzenleyicisi'ne genel bakış

    Kayıt Defteri Düzenleyicisi, bilgisayarınızın nasıl çalıştığı konusunda bilgiler içeren sistem kayıt defterinizdeki ayarları görüntülemek ve değiştirmek için gelişmiş bir araçtır. Windows yapılandırma bilgilerini ağaç biçiminde düzenlenen bir veritabanında (kayıt defteri) depolar. Kayıt Defteri Düzenleyicisi, kayıt defterini incelemenizi ve değiştirmenizi sağlar, ancak genellikle bunu yapmanıza gerek yoktur ve doğru olmayan değişiklikler yapmak sisteminizi bozabilir.
    Kayıt Defteri Düzenleyicisi Anahtarları

    Kayıt Defteri Düzenleyicisi'nin gezinme alanı, yerel bilgisayarda, her biri bir önceden tanımlı anahtarı temsil eden klasörleri görüntüler. Uzaktaki bilgisayarın kayıt defterine eriştiğinizde, yalnızca iki önceden tanımlı anahtar (HKEY_USERS ve HKEY_LOCAL_MACHINE) görünür. Klasör/önceden tanımlı anahtar
    Açıklama
    HKEY_CURRENT_USER
    Oturumu açık durumdaki kullanıcının yapılandırma bilgileri kökünü içerir. Kullanıcının klasörleri, ekran renkleri ve Denetim Masası ayarları burada saklanır. Bu bilgiye kullanıcı profili olarak başvurulabilir.
    HKEY_USERS
    Bilgisayardaki tüm kullanıcı profillerinin kökünü içerir. HKEY_CURRENT_USER, HKEY_USERS'ın alt anahtarıdır.
    HKEY_LOCAL_MACHINE
    Bilgisayara özel yapılandırma bilgilerini (herhangi bir kullanıcı için) içerir.
    HKEY_CLASSES_ROOT
    HKEY_LOCAL_MACHINE\Yazılım'ının alt anahtarıdır. Burada saklanan bilgiler, Windows Gezgini'ni kullanarak bir dosya açtığınızda doğru programın açılmasını sağlar.
    HKEY_CURRENT_CONFIG
    Sistem başlangıcında yerel bilgisayar tarafından kullanılan donanım profili hakkındaki bilgileri içerir.
    Aşağıdaki tabloda sistem tarafından geçerli olarak tanımlanan ve kullanılan veri türleri verilmiştir.
    Veri türü
    Açıklama
    REG_BINARY
    İşlenmemiş ikili veri. Donanım bileşeni bilgilerinin çoğu ikili veri olarak saklanır ve Kayıt Defteri Düzenleyicisi'nde onaltılık biçimde görüntülenir.
    REG_DWORD
    4 bayt uzunluğunda bir sayıyla gösterilen veriler. Aygıt sürücüleri ve hizmetler için kullanılan parametrelerin çoğu bu türdedir ve Kayıt Defteri Düzenleyicisi'nde ikili, onaltılı veya onlu biçimde görüntülenir.
    REG_EXPAND_SZ
    Değişken uzunluklu veri dizesi. Bu veri türü, bir program veya hizmet veriyi kullandığında çözülen değişkenleri içerir.
    REG_MULTI_SZ
    Çoklu dize. Kullanıcıların okuyabileceği bir biçimde listeleri veya çok sayıda değerleri olan değerler genellikle bu türdendir. Girişler birbirinden boşluk, virgül veya başka işaretlerle ayrılmıştır.
    REG_SZ
    Sabit uzunluklu metin dizesi.
    REG_FULL_RESOURCE_DESCRIPTOR
    Bir donanım bileşeninin veya sürücünün kaynak listesini saklamak için tasarlanmış iç içe diziler serisidir.
    DİKKAT:
    Kayıt defterinin hatalı düzenlenmesi, sisteminize ciddi bir hasar verebilir. Kayıt defterinizde değişiklik yapmadan önce, bilgisayarınızdaki önemli verilerin tümünü yedeklemelisiniz.
    İpucu-
    Kayıt Defteri Düzenleyicisi'ni açmak için başlat ' ı ve çalıştır ' ı tıklattın, regedit yazın ve Tamam düğmesini tıklatın.
    alıntı:
Toplam Hit: 3693 Toplam Mesaj: 1