Sayfalar

11 Ocak 2021 Pazartesi

 

Restart VSS Writers without a reboot


Having started working in my current IT support role a little over a year ago, I was shocked to discover that the general fix for Windows Server Backup errors caused by failed VSS writers was to reboot the server. I had in my previous role resolved this issue many times by restarting the service that related to the VSS writer. For example the “Microsoft Hyper-V VSS Writer” failure can be resolved by restarting the “Hyper-V Virtual Machine Management” service (vmms).

A list of failed writers on any given Windows server can be generated by executing the following command from an elevated command prompt:

Microsoft Windows [Version 6.3.9600]
(c) 2013 Microsoft Corporation. All rights reserved.

C:\Windows\system32>vssadmin list writers

For easier reference I personally export the results to a text file using the following:

C:\Windows\system32>vssadmin list writers c:\vsswriters.txt

Once completed you can easily open the generated file in notepad with:

C:\Windows\system32>notepad.exe c:\vsswriters.txt

Using the table below find the service for each VSS Writer that is in a failed state, make a note of each service name.

VSS WriterService NameService Display Name
ASR WriterVSSVolume Shadow Copy
BITS WriterBITSBackground Intelligent Transfer Service
Certificate AuthorityEventSystemCOM+ Event System
COM+ REGDB WriterVSSVolume Shadow Copy
DFS Replication service writerDFSRDFS Replication
DHCP Jet WriterDHCPServerDHCP Server
FRS WriterNtFrsFile Replication
FSRM writersrmsvcFile Server Resource Manager
IIS Config WriterAppHostSvcApplication Host Helper Service
IIS Metabase WriterIISADMINIIS Admin Service
Microsoft Exchange WriterMSExchangeISMicrosoft Exchange Information Store
Microsoft Hyper-V VSS WritervmmsHyper-V Virtual Machine Management
NTDSNTDSActive Directory Domain Services
OSearch VSS WriterOSearchOffice SharePoint Server Search
OSearch14 VSS WriterOSearch14SharePoint Server Search 14
Registry WriterVSSVolume Shadow Copy
Shadow Copy Optimization WriterVSSVolume Shadow Copy
SPSearch VSS WriterSPSearchWindows SharePoint Services Search
SPSearch4 VSS WriterSPSearch4SharePoint Foundation Search V4
SqlServerWriterSQLWriterSQL Server VSS Writer
System WriterCryptSvcCryptographic Services
TermServLicensingTermServLicensingRemote Desktop Licensing
WINS Jet WriterWINSWindows Internet Name Service (WINS)
WMI WriterWinmgmtWindows Management Instrumentation

Using the list of service names complied from the above table restart each of the services, this can be achieved from services.msc or an elevated command prompt.

Services.msc
Right click on the service, and then, on the Action menu, click Restart.

Elevated command prompt
Execute the following to stop the service:

C:\Windows\system32>net stop VSS-SERVICE-NAME

Once stopped the service needs to be restarted with:

C:\Windows\system32>net start VSS-SERVICE-NAME

Once the necessary services have been restarted check the status of the VSS Writers:

C:\Windows\system32>vssadmin list writers

The relevant VSS writers should now show as stable with no Error.

4 Eylül 2014 Perşembe

SQL Server üzerindeki tüm databaselerin recovery modellerini bulma / How to list recovery model of all databases

Merhabalar,

 

SQL Server’ınızın üzerindeki tüm database’lerin  recovery modellerini script ile bulmak için aşağıdaki kodu kullanabilirsiniz.

 

Code:

 

 

select [name], DATABASEPROPERTYEX([Name],'recovery')

from sysdatabases

where name not in ('master','model','tempdb','msdb')

 

 

Kolay gelsin.

 

18 Ağustos 2014 Pazartesi

SQL Server 2012 Collation değiştirilmesi / How to chance server level colation for a SQL Server Instance

Merhabalar,

SQL Server kurulumu sırasında gözünüzden kaçıp collation ayarını istediğiniz gibi ayarlamadıysanız ve daha sonra bu sizin için sıkıntı yaratıyorsa aşağıdaki kodu kullanarak kurulu SQL Server üzerinde collation ayarınızı değiştirebilirsiniz.

Yalnız önemli bir konu, bu kodu yazmadan önce mutlaka ama mutlaka tüm databaselerinizi, kullanıcılarınızı ve sunucu üzerinde custom ne ayar yaptıysanız hepsinin bir kopyasını mutlaka alın. Sonra benim gibi her şey sıfırlandığında ufak çaplı kalp krizi geçirmezsiniz :)

Gelelim meşur kod cümleciğine :) Aşağıdaki kodu SQL Server kurulum dizininde çalıştırınız. (Command Prompt)

Setup /QUIET /ACTION=REBUILDDATABASE /INSTANCENAME=MSSQLSERVER /SQLSYSADMINACCOUNTS=DOMAIN\KullaniciAdi  /SAPWD= buraya şifre yazılacak /SQLCOLLATION=SQL_Latin1_General_CP1254_CI_AS


Hepinize kolay gelsin :) İyi çalışmalar..

24 Temmuz 2014 Perşembe

PowerShell ile script çalıştırmayı aktif etme

Merhabalar,

PowerShell kullanarak script hazırlıyorsanız ve bu hazırladığınız scriptler neden çalışmıyor diye benim gibi kara kara düşünüyorsanız aşağıdaki çözüm işinize yaracaktır.

PowerShell.exe yi sağ tıklayarak yönetici olarak çalıştırıyoruz.

Set-ExecutionPolicy RemoteSigned  parametresini yazıp enter’e basıyoruz, Y (yes)onaylıyoruz.


Bu işlemden sonra scriptlerinizi Windows Task scheduler üzerinden rahatlıkla çalıştırabilirsiniz.


Kolay gelsin.


27 Mart 2014 Perşembe

KMPlayer 3.8 üzerindeki versiyonlarda Reklamlarını Kapatma

Merhaba,

Daha önce burada KMPlayer 3.7 versiyonu için yanda çıkan reklamları kapatmayı yazmıştım. Bu yöntem güncel versiyonu 3.8 için çalışmıyor.


KMPlayer 3.8 versiyonunda yanda çıkan reklamları kapatmak için aşağıdaki adımları uygulayın:


1- Yeni bir metin belgesi açın ve içine aşağıdaki kodu $$$ ifadeleri olmadan yapıştırın:

<$$$a href="JavaScript:window.close()">Close</$$$a>


2- Daha sonra Dosya > Farklı Kaydet diyerek dosya adı yazan yere index.htm yazıyoruz ve kaydediyoruz.

3- Oluşturduğumuz bu htm dosyasını KMPlayer'ı kurduğunuz sürücüdeki The KMPlayer klasörünün içindeki Logo adlı klasörün içine yapıştırıyoruz.*


*
Bu klasör normal kurulumda C:\The KMPlayer\Logo konumunda oluyor. Bu konum C:\Program Files (x86)\The KMPlayer\Logo konumu da olabilir. Nereye kurduysanız orada bakın.

 

Artık KMPlayer'ınız reklamsız! Derin bir nefes alıp, izleme keyfinize devam edebilirsiniz.

 

Kolay Gelsin..

ABBY kurulumu sonrası Office Programlarının Açılmama Problemi / Çözümü

Office Programlarının Açılmama Problemi / Çözümü

Genellike Abby Fine Reader programını kurduktan sonra Office Programlarının açılmama problemi yaşanmaktadır.

Bu problem bazen başka bir add-in den de kaynaklanabiliyor. Bu problemin çözümü için aşağıdaki adımları takip edebilirsiniz.

Office programlarını çalıştırırken yaşanan problemler,

 

Problemin Çözümü,

Start Menü (Başlat)  > Run (Çalıştır)

Excel.exe /safe

Winword.exe /safe

Outlook.exe /safe

Powerpnt.exe /safe

 Her bir Office programı için bu işlemi tek tek yapınız.

 

Açılan Office programının File menüsünden Options 'a tıklayınız.

 

 

Office Programınının options menüsünden, önce "Add-Ins " linkine, daha sonra Manage kısmından " COM Add-Ins" kısmını seçip " GO " butonuna basınız.

 

Karşınıza gelen pencereden, ABBY FineReader "check-in " seçimini kaldırınız.

 

Konunun başında da bahsettiğim gibi bu sadece ABBY Fine Reader ile alakalı da olmayabilir, burada problemli olan Add-In hangisi ise bunu kaldırıp office programlarınızın çalışmasını sağlayabilirsiniz.

 Kolay gelsin.

 

 

.NET Framework 3.5 'i Windows 8 ve Windows 8.1'e yükleme

.NET Framework 3.5 'i Windows 8 ve Windows 8.1'e yükleme

AutoCad, SQL Server, ve bir çok programın altyapısında çalışmasını sağlayan .NET Framework 3.5 ne yazıkki Windows 8 ve Windows 8.1 üzerinde otomatik olarak yada Windows update üzerinden yüklenemiyor.

2 şekilde manuel olarak yükleyebiliriz.

Birinci Şekil,

 

Control Panel > Programs and Features> Turn Windows Features on or off >

 

Bu pencereden, .Net Framework  3.5 seçiniz.

 

Seçimi yapıp OK butonuna bastıktan sonra, Windows Update üzerinden eksik dosyaları download etmek isteyecek ve kendisi kurulum yapmak isteyecektir.

 

Fakat kurulumu Windows update üzerinden yapamayacaktır. Bu alanı size göstermemin sebebi bu şekilde bazen otomatik olarak Windows update üzerinden bu kurulumun yapılabilmesidir.

 

İkinci şekil kurulum ( Kesin Çözüm )

Start (Başlat) butonuna "cmd.exe" yazıp Run as administrator (Yönetici olarak çalıştır) olarak enter'a basınız.

 

 

DVD-ROM sürücünüze Windows 8 yada Windows 8.1 kurulum CD'sini takıp aşağıdaki komutu " tırnak işaretleri olmadan yazarak çalıştırınız.

" Dism /online /enable-feature /featurename:NetFx3 /All /Source:D:\sources\sxs /LimitAccess "

 

Bu işlem 5-10 dk arasında sürecektir. Biraz bekleyiniz.

 

% 100 successfully olduktan sonra .NET 3.5 Framework kurulumu tamamlanmıştır.

 

Kolay gelsin.

 

 

 

 

Windows Hibernate özelliğinin kapatılması / Disable Windows Hibernate

Windows Hibernate özelliğini kapatma / How to disable Windows Hibernate

Windows Hibernate özelliği neden kapatılır? ne işimize yarar diyebilirsiniz. Windows'un bu özelliği; Hibernate seçeniği ile bilgisayarınızı kapattığınız zaman, tekrar açtığınızda kaldığınız yerden devam etmenizi sağlar. Eğer bu özelliğini kullanmıyorsanız, harddiskiniz üzerinde memory miktarınız kadar gereksiz bir alan kaplar. Bu özelliği kullanmıyorsanız kapatmanız tavsiye edilir.

Bilgisayarım > C:\> sürücüsü altına baktığınız zaman ( hiberfil.sys) dosyasının Ram miktarınız kadar büyüklükte olduğunu görebilirsiniz. Bu dosyası silmek istediğiniz zaman, windows işletim sistemi bu dosyası direk silmenize izin vermez.

Bu özelliği kapatmak isterseniz aşağıdaki adımı uygulayabilirsiniz.

Command promt (cmd.exe) yi sağ tıklayıp, Run as Administrator (Yönetici olarak çalıştır) seçeneği ile açınız,

Aşağıdaki komutu yazınız.

C:\> powercfg -h off

 

 

Bu işlemi yaptıktan sonra Windows üzerinde hibernate özelliği kapatılmış olacak ve hiberfil.sys dosyası sistemden silinmiş olacaktır. Böylelikle diskiniz üzerinde memory miktarınız kadar gereksiz bir alan kaplamayacaktır.

 

 

 

 

20 Ocak 2014 Pazartesi

KMPlayer Reklamlarını Kapatma / KMPlayer Banner Remove

Merhaba,

KMPlayer önceden reklamsız sade ve daha güzeldi. Onlarda artık reklam almaya başladılar ve bu reklamlar bazen sizi canınızdan bezdirebiliyor. Artık video oynatımı sırasında açılan reklamları kapatmak çok kolay. Reklamları kapatmak için aşağıdaki yolu izleyebilirsiniz. 


1- C:\Windows\System32\drivers\et­c dizinine gidin ve hosts dosyasını Notepad editörü ile yönetici olarak (Run as administrator) açın. 
En alt satıra gidin ve yeni bir satıra aşağıdaki ifadeyi ekleyin.

2- 127.0.0.1 player.kmpmedia.net


3-
Yukarıdaki ifadeyi ekledikten sonra kaydedip kapatın ve KMPlayer'i yeniden başlatın.


Not: Eklediğiniz satırın başına # işaretini koymayın.

Artık KMPlayer'ınız reklamsız :)
 
Kolay gelsin.

16 Ocak 2014 Perşembe

SQL Serverlar arasında user taşıma şifreleri ile birlikte / How to transfer logins and passwords between instances of SQL Server

Merhaba Arkadaşlar,

Lazım oldukça ve araştırdıkça sizlerle de paylaşıyorum. Yeni kurulan SQL Server’ a eski SQL sunucunuz üzerindeki userları şifreleri ile birlikte taşımak istiyorsanız aşağıdaki adımları kullanabilirsiniz.

1.       Adım;
Taşımak istediğiniz userların olduğu SQL Server üzerinde aşağıdaki scripti çalıştırın.

USE master
GO
IF OBJECT_ID ('sp_hexadecimal') IS NOT NULL
  DROP PROCEDURE sp_hexadecimal
GO
CREATE PROCEDURE sp_hexadecimal
    @binvalue varbinary(256),
    @hexvalue varchar (514) OUTPUT
AS
DECLARE @charvalue varchar (514)
DECLARE @i int
DECLARE @length int
DECLARE @hexstring char(16)
SELECT @charvalue = '0x'
SELECT @i = 1
SELECT @length = DATALENGTH (@binvalue)
SELECT @hexstring = '0123456789ABCDEF'
WHILE (@i <= @length)
BEGIN
  DECLARE @tempint int
  DECLARE @firstint int
  DECLARE @secondint int
  SELECT @tempint = CONVERT(int, SUBSTRING(@binvalue,@i,1))
  SELECT @firstint = FLOOR(@tempint/16)
  SELECT @secondint = @tempint - (@firstint*16)
  SELECT @charvalue = @charvalue +
    SUBSTRING(@hexstring, @firstint+1, 1) +
    SUBSTRING(@hexstring, @secondint+1, 1)
  SELECT @i = @i + 1
END

SELECT @hexvalue = @charvalue
GO
IF OBJECT_ID ('sp_help_revlogin') IS NOT NULL
  DROP PROCEDURE sp_help_revlogin
GO
CREATE PROCEDURE sp_help_revlogin @login_name sysname = NULL AS
DECLARE @name sysname
DECLARE @type varchar (1)
DECLARE @hasaccess int
DECLARE @denylogin int
DECLARE @is_disabled int
DECLARE @PWD_varbinary  varbinary (256)
DECLARE @PWD_string  varchar (514)
DECLARE @SID_varbinary varbinary (85)
DECLARE @SID_string varchar (514)
DECLARE @tmpstr  varchar (1024)
DECLARE @is_policy_checked varchar (3)
DECLARE @is_expiration_checked varchar (3)

DECLARE @defaultdb sysname
IF (@login_name IS NULL)
  DECLARE login_curs CURSOR FOR

      SELECT p.sid, p.name, p.type, p.is_disabled, p.default_database_name, l.hasaccess, l.denylogin FROM
sys.server_principals p LEFT JOIN sys.syslogins l
      ON ( l.name = p.name ) WHERE p.type IN ( 'S', 'G', 'U' ) AND p.name <> 'sa'
ELSE
  DECLARE login_curs CURSOR FOR


      SELECT p.sid, p.name, p.type, p.is_disabled, p.default_database_name, l.hasaccess, l.denylogin FROM
sys.server_principals p LEFT JOIN sys.syslogins l
      ON ( l.name = p.name ) WHERE p.type IN ( 'S', 'G', 'U' ) AND p.name = @login_name
OPEN login_curs

FETCH NEXT FROM login_curs INTO @SID_varbinary, @name, @type, @is_disabled, @defaultdb, @hasaccess, @denylogin
IF (@@fetch_status = -1)
BEGIN
  PRINT 'No login(s) found.'
  CLOSE login_curs
  DEALLOCATE login_curs
  RETURN -1
END
SET @tmpstr = '/* sp_help_revlogin script '
PRINT @tmpstr
SET @tmpstr = '** Generated ' + CONVERT (varchar, GETDATE()) + ' on ' + @@SERVERNAME + ' */'
PRINT @tmpstr
PRINT ''
WHILE (@@fetch_status <> -1)
BEGIN
  IF (@@fetch_status <> -2)
  BEGIN
    PRINT ''
    SET @tmpstr = '-- Login: ' + @name
    PRINT @tmpstr
    IF (@type IN ( 'G', 'U'))
    BEGIN -- NT authenticated account/group

      SET @tmpstr = 'CREATE LOGIN ' + QUOTENAME( @name ) + ' FROM WINDOWS WITH DEFAULT_DATABASE = [' + @defaultdb + ']'
    END
    ELSE BEGIN -- SQL Server authentication
        -- obtain password and sid
            SET @PWD_varbinary = CAST( LOGINPROPERTY( @name, 'PasswordHash' ) AS varbinary (256) )
        EXEC sp_hexadecimal @PWD_varbinary, @PWD_string OUT
        EXEC sp_hexadecimal @SID_varbinary,@SID_string OUT
        -- obtain password policy state
        SELECT @is_policy_checked = CASE is_policy_checked WHEN 1 THEN 'ON' WHEN 0 THEN 'OFF' ELSE NULL END FROM sys.sql_logins WHERE name = @name
        SELECT @is_expiration_checked = CASE is_expiration_checked WHEN 1 THEN 'ON' WHEN 0 THEN 'OFF' ELSE NULL END FROM sys.sql_logins WHERE name = @name
            SET @tmpstr = 'CREATE LOGIN ' + QUOTENAME( @name ) + ' WITH PASSWORD = ' + @PWD_string + ' HASHED, SID = ' + @SID_string + ', DEFAULT_DATABASE = [' + @defaultdb + ']'

        IF ( @is_policy_checked IS NOT NULL )
        BEGIN
          SET @tmpstr = @tmpstr + ', CHECK_POLICY = ' + @is_policy_checked
        END
        IF ( @is_expiration_checked IS NOT NULL )
        BEGIN
          SET @tmpstr = @tmpstr + ', CHECK_EXPIRATION = ' + @is_expiration_checked
        END
    END
    IF (@denylogin = 1)
    BEGIN -- login is denied access
      SET @tmpstr = @tmpstr + '; DENY CONNECT SQL TO ' + QUOTENAME( @name )
    END
    ELSE IF (@hasaccess = 0)
    BEGIN -- login exists but does not have access
      SET @tmpstr = @tmpstr + '; REVOKE CONNECT SQL TO ' + QUOTENAME( @name )
    END
    IF (@is_disabled = 1)
    BEGIN -- login is disabled
      SET @tmpstr = @tmpstr + '; ALTER LOGIN ' + QUOTENAME( @name ) + ' DISABLE'
    END
    PRINT @tmpstr
  END

  FETCH NEXT FROM login_curs INTO @SID_varbinary, @name, @type, @is_disabled, @defaultdb, @hasaccess, @denylogin
   END
CLOSE login_curs
DEALLOCATE login_curs
RETURN 0
GO

2.       Adım

Daha sonra user'ları taşımak için scripti çalıştırdığımız aynı sunucu üzerinde
 
EXEC sp_help_revlogin 
komutunu çalıştırınız.


3.    Adım
Aşağıdaki örnekteki gibi userlar için sonuçlar çıkacak.

* sp_help_revlogin script 
** Generated Jan 16 2014 12:45PM on Sunucuismi */
 
 
-- Login: ##MS_PolicyTsqlExecutionLogin##
CREATE LOGIN [##MS_PolicyTsqlExecutionLogin##] 

 
 
4.       Adım
Bu çıkan sonuçları yeni SQL Server sunucusu üzerinde script olarak çalıştırıp userları taşımış oluyoruz.


Kolay Gelsin.