Tag Archives: sqlserver

Restore Adventure Works 2022 di SQLServer 2022 di Linux

RESTORE DATABASE AdventureWorks2022 FROM DISK = '/opt/data/AdventureWorks2022.bak' WITH NORECOVERY,
MOVE 'AdventureWorks2022' TO
'/opt/data/AdventureWorks2022/AdventureWorks2022_data.mdf',
      MOVE 'AdventureWorks2022_Log'
TO '/opt/data/AdventureWorks2022/AdventureWorks2022_Log.ldf';

RESTORE FILELISTONLY FROM DISK = '/opt/data/AdventureWorks2022.bak';
RESTORE DATABASE AdventureWorks2022 WITH RECOVERY;

dengan catatan : di linux terdapat folder /opt/data/AdventureWorks2022, dan diberi hak akses yang tepat

kill / mematikan semua proses yang dijalankan oleh login user tertentu pada sqlserver

jika sqlservermu pernah terlalu berat kerjanya, bisanya bisa kita gunakan sp_whoisactive SQL Server Monitoring Stored Procedure by Adam Machanic untuk ngecek siapa sih yang banyak mengakses , dan querynya seperti apa.

jika kita putuskan mencurigai sebuah login tertentu melakukan “penyerangan” terhadap sqlserver nya, maka biasanya kita disabled user tersebut. namun, proses atas nama user tersebut masih jalan biasanya, dan tetap membebani sqlserver

solusinya kita harus kill proses yang berasosiasi dengan user tersebut, sql server – Kill all sessions for ONE user in MS SQL – Database Administrators Stack Exchange
bisa digunakan untuk meng kill semua proses yang terkait.

DECLARE @sql NVARCHAR(MAX) = N'';

SELECT @sql += N'KILL ' + CONVERT(VARCHAR(11), session_id) + N';'
FROM sys.dm_exec_sessions
  WHERE login_name = N'login_name'

EXEC sys.sp_executesql @sql;

Memperbaiki orphaned user di SQLServer

Seringkali saat kita memindahkan database ke server atau instance yang berbeda akan mengalami hal seperti ini.

dimana login di setiap instance sudah dibuat sama namun berbeda secara “object id”, sehingga sqlserver tidak dapat menghubungkan antara instance login dengan database user yang ada.

jika memungkinkan, sebelum membuat login, kita dapat menggunakan script untuk memigrasi login di satu instance ke instance yang lain seperti pada post berikut. namun jika memang sudah terlanjur dibuat kita dapat memperbaiki nya juga dengan cara melakukan penyematan ulang instance login dan database user.

beberapa step yang bisa dilakukan sbb :

  1. pilih database, dan cek apakah ada perbedaan user dengan login
  2. jika user dan login memiliki nama yang sama , gunakan autofix
  3. jika user dan login memiliki nama yang berbeda, lakukan penyematan ulang

semoga membantu ..