"Diary" インターネットさんへの恩返し

いつもソースコードコピペばかりなので,みなさまへ少しばかりの恩返しを

【インフラ】SQL Serverでよく使うスクリプト



スポンサーリンク

DB名、復旧モード、互換性レベル、コレーションを出力

select name,recovery_model_desc,compatibility_level,collation_name from sys.databases

DBオーナー変更

USE <dbname>
GO
EXEC sp_changedbowner 'sa'
GO

DB情報出力

owner,db file path等

sp_helpdb <dbname>
go

T-SQL を使用してデータベース情報を確認する

復旧モード変更

USE [master]
GO
ALTER DATABASE [<Database>] SET RECOVERY SIMPLE 
GO

DB接続削除


※Database Mail設定でService Brokerを有効化しようと思ったら「Database Mail depends on Service Broker. Service Broker is not active in msdb.Do you want to activate Service Broker in msdb?」が出たの対処として実施。

Agentジョブ履歴表示

今日実行があったジョブ履歴を表示

DECLARE @Date DATETIME = GETDATE();
Declare @today int
Set @today = (SELECT CONVERT(NVARCHAR, @Date, 112) AS '112');

select 
 j.name as 'JobName',
 run_date,
 run_status,
 msdb.dbo.agent_datetime(run_date, run_time) as 'RunDateTime',
 run_duration
From msdb.dbo.sysjobs j 
INNER JOIN msdb.dbo.sysjobhistory h 
 ON j.job_id = h.job_id 
where j.enabled = 1  --Only Enabled Jobs
and j.name like '%ジョブの名前%'
and run_date = @today
order by JobName, RunDateTime desc

T-SQL 日付をフォーマットされた文字列に変換する - SQL Server 入門
SQL Server: 変数にSELECTした結果を代入する方法|WEBエンジニア社長のブログ
sp_help_jobhistory (Transact-SQL)
Querying SQL Server Agent Job History Data
さらっと覚えるSQL&T-SQL入門(11):ストアドプロシージャの花形“カーソル”を使おう (3/3) - @IT

DBファイルの移動など

SAP Note 363018 - File management for SQL Server