Sayfalar

25 Ağustos 2023 Cuma

Truncate ve Delete Komutları Arasındaki Farklar

 SQL Sunucu'da veri silme amaçlı kullandıgımız Delete ve Truncate komutları afrasında aşağıda ki farklar vardır:


  • Delete komutu ile where kısıtı vererek silme işlemi yapabiliriz,Truncate komutunda kısıt kullanımı yoktur.
  • Delete komutu ile rollback işlemi yapabilirizitruncate komutunda rollback yapılmaz.
  • Delete log dosyasını buyutur ve bellek kullanır,Truncate komutu ile az log dosyası kullanılır,bellek kullanılmaz.
  • Delete komutu iz bırakır,diskte yer işgal eder,Truncate direkt purge işlemi yapılır,disk boşalır.

Truncate hızlı ve daha az kaynak için kullanılır,delete ise biraz daha performans gerektirir.Bu komutları ihtiyacımıza göre dikkatli kullanmamız gerekir.

30 Mayıs 2023 Salı

DBA'ler için Yönetim Araçları

 

Aşağıda ki sitede DBA'ler için çok faydalı Yönetim Araçları var,incelemeye değer;


https://ourtechideas.com/queries-used-by-sql-dba/



https://ourtechideas.com/find-open-transactions-on-a-sql-server-database



6 Mart 2023 Pazartesi

Drop failed for User Hatası(Schema Yetkisi Olan Kullanıcı ile İlgili)

 SQL Sunucu'da Rapor almak için sadece datareader olarak hak verilen Windows Session kullanıcisini silmek istediğimizde aşağıdaki hatayı alıyorduk;







"TITLE: Microsoft SQL Server Management Studio

------------------------------

Drop failed for User 'domain\user'.  (Microsoft.SqlServer.Smo)

For help, click: https://go.microsoft.com/fwlink?ProdName=Microsoft+SQL+Server&ProdVer=16.100.47021.0&EvtSrc=Microsoft.SqlServer.Management.Smo.ExceptionTemplates.FailedOperationExceptionText&EvtID=Drop+User&LinkId=20476------------------------------

ADDITIONAL INFORMATION:

An exception occurred while executing a Transact-SQL statement or batch. (Microsoft.SqlServer.ConnectionInfo)

------------------------------

The database principal owns a schema in the database, and cannot be dropped. (Microsoft SQL Server, Error: 15138)

For help, click: https://docs.microsoft.com/sql/relational-databases/errors-events/mssqlserver-15138-database-engine-error

------------------------------

BUTTONS:

OK

------------------------------"


Hatanın T-SQL olarak ta çözümü olmasına rağmen SQL SSMS üzerinden aşağıdaki şekilde çözülebilmekte:




Öncelikle Schemas düğümünü açıp kullanıcıya datareader schema hakkı verdiğimiz için datareader'ı çift tıklama ile açmamız gerekmekte:





Ardından Schema Properties-General tabına geçip,Schema Owner kısmında ki kullanıcıyı silip burayı db_datareader olarak belirlememiz gerekmektedir.





Bu işlemleri yaptıktan sonra T-SQL Drop user komutu veya Security bölümünde ki kullanıcıyı seçip silme işlemini gerçekleştirebiliriz.


18 Ocak 2023 Çarşamba

SQL Sunucu'dan Excel'e Rapor Alırken Oluşan Türkçe Karakter Problemi Çözümü


SQL Sunucu'dan Excel'e Rapor Alırken Oluşan Türkçe Karakter Probleminin Çözümü için aşağıdaki fonksiyonu oluşturup,oluşan fonksiyonu view içinde çağırmamız gerekmektedir.Bu sayede Excel'de Türkçe karakter problemi çözülmüş olacaktır.




 CREATE FUNCTION [dbo].[TRK](@A NVARCHAR(4000))

RETURNS NVARCHAR(4000)  

AS 

BEGIN

 DECLARE @TMP NVARCHAR(4000) 

  SET @TMP = REPLACE(@A COLLATE LATIN1_GENERAL_BIN, CHAR(208), N'Ğ')

  SET @TMP = REPLACE(@TMP COLLATE LATIN1_GENERAL_BIN, CHAR(220), N'Ü')

  SET @TMP = REPLACE(@TMP COLLATE LATIN1_GENERAL_BIN, CHAR(222), N'Ş')

  SET @TMP = REPLACE(@TMP COLLATE LATIN1_GENERAL_BIN, CHAR(221), N'İ')

  SET @TMP = REPLACE(@TMP COLLATE LATIN1_GENERAL_BIN, CHAR(214), N'Ö')

  SET @TMP = REPLACE(@TMP COLLATE LATIN1_GENERAL_BIN, CHAR(199), N'Ç')

  SET @TMP = REPLACE(@TMP COLLATE LATIN1_GENERAL_BIN, CHAR(73), N'I')

  SET @TMP = REPLACE(@TMP COLLATE LATIN1_GENERAL_BIN, CHAR(240), N'ğ')

  SET @TMP = REPLACE(@TMP COLLATE LATIN1_GENERAL_BIN, CHAR(252), N'ü')

  SET @TMP = REPLACE(@TMP COLLATE LATIN1_GENERAL_BIN, CHAR(254), N'ş')

  SET @TMP = REPLACE(@TMP COLLATE LATIN1_GENERAL_BIN, CHAR(105), N'i')

  SET @TMP = REPLACE(@TMP COLLATE LATIN1_GENERAL_BIN, CHAR(246), N'ö')

  SET @TMP = REPLACE(@TMP COLLATE LATIN1_GENERAL_BIN, CHAR(231), N'ç')

  SET @TMP = REPLACE(@TMP COLLATE LATIN1_GENERAL_BIN, CHAR(253), N'ı')

  RETURN @TMP

END

GO

14 Aralık 2022 Çarşamba

DELL OptiPlex 3000 MFF Ubuntu Pc Windows 11 SSD Disk Problemi

 Yeni satın aldıgımız DELL OptiPlex 3000 MFF Ubuntu PC için OEM satın aldıgımız Windows 11 Professional lisans yüklerken SSD disk bulunamadı hatası vermekte ve işletim sistemi yüklemesi yapılamamaktaydı.Sorunu çözmek için PC'yi yeniden başlatıp,F2 ile BIOS ayarlarına girip burada arama bölümüne SATA/NVME Operation yazıp,Raid  on  seçeneğini,AHCI/NVME seçeneği ile değiştirip,BIOS ayarlarını kaydedip yeniden boot ettiğimizde,SSD Disk kurulum menüsünde görünür hale gelecek ve Windows 11 Pro işletim sistemi yüklemesi tamamlanmış olacaktır.








8 Kasım 2022 Salı

Windows 10/11 Kullanan Sistemlerde Paylaşımlara Bağlanamama Problemi(SMB 1.0)

 Otomasyon makinelerimizi Windows 10/11 Pro. makinelere bağlamak istediğimiz zaman,doğru parametreleri girmemize rağmen bağlantı hatası vermekteydi.Windows 7 Pro. makine ile denediğimiz de ise problem oluşmamaktaydı.Sorunun çözümü için Başlat-Denetim Masası-Program-Ekle Kaldır-Ek Windows Özellikleri Yükle Bölümünden SMB 1.0 özelliğini aktif edip,yükleyip Workstation sistemimizi yeniden başlatıp,makine üzerinden yeniden kullanıcı bilgilerini girince sorun çözülmektedir.

Office 365 Basic Authentication ve Password Problemi

 Office 2016 yazılımı ve E3 lisanı kullanan bir kullanıcımız mail açıldıktan sonra şifre sorunu yaşıyor doğru  şifre girmemize rağmen Modern authentication  ekranı gelmiyordu,office Diagnostic  ile de problem çözülmedi,Problemi Regedit ayarlarına girip,aşağıdaki anahtarları ekleyerek düzeltebilmekteyiz:


Bilgisayar\HKEY_CURRENT_USER\SOFTWARE\Microsoft\Exchange

AlwaysUseMSOAuthForAutoDiscover :1 dword



Bilgisayar\HKEY_CURRENT_USER\SOFTWARE\Microsoft\Office\16.0\Common\Identity

EnableADAL :1 dword