Tag Archives: Sqlserver

SQLServerのロック情報取得

以下のSQLでロック情報を取得できる。

SELECT CONVERT (SMALLINT, req_spid) AS spid,
      db_name(rsc_dbid) AS dbid,
      object_name(rsc_objid) AS ObjId,
      rsc_indid AS IndId,
      SUBSTRING (v.name,1,4) AS Type,
      SUBSTRING (rsc_text,1,16) AS Resource,
      SUBSTRING (u.name,1,8) AS Mode,
      CASE u.name
      WHEN 'S' THEN '共有'
      WHEN 'X' THEN '排他'
      WHEN 'U' THEN '更新'
      WHEN 'IS' THEN 'インテント共有'
      WHEN 'IX' THEN 'インテント排他'
      WHEN 'SIX' THEN 'インテント排他付き共有'
      ELSE '不明'
      END AS 'Lock Mode',
      SUBSTRING (x.name, 1, 5) AS Status
 FROM master.dbo.syslockinfo,
      master.dbo.spt_values v,
      master.dbo.spt_values x,
      master.dbo.spt_values u
 WHERE master.dbo.syslockinfo.rsc_type = v.number
          and v.type = 'LR'
          and master.dbo.syslockinfo.req_status = x.number
          and x.type = 'LS'
          and master.dbo.syslockinfo.req_mode + 1 = u.number
          and u.type = 'L'
          and db_name(rsc_dbid) LIKE '<データベース名>'
 ORDER BY spid

SQLServer ログ圧縮

以下のSQLでログの圧縮が出来る。

USE 'データベース名';
GO
-- Truncate the log by changing the database recovery model to SIMPLE.
ALTER DATABASE 'データベース名'
SET RECOVERY SIMPLE;
GO
-- Shrink the truncated log file to 1 MB.
DBCC SHRINKFILE ('データベースファイルの論理名', 1);
GO
-- Reset the database recovery model.
ALTER DATABASE 'データベース名'
SET RECOVERY FULL;
GO

SQLServerバージョン確認

以下のSQLでSQLServerのバージョン確認可能


SELECT SERVERPROPERTY('productversion'), SERVERPROPERTY ('productlevel'), SERVERPROPERTY ('edition')