言葉にできるは武器なるらしい

言葉に文字に残していきます何事も。いつかきっと誰かの役に立つはずだから。

バックアップ元と先でカウント一致するかの確認クエリ

これもちょいちょい使うのでメモメモ。

 

・まずはBKUPを取得

select * into バックアップ先テーブル名

from バックアップ元テーブル名 (nolock);

 

・BKUP取得後、コピー先とコピー元で件数一致を確認する

select 'テーブル名' as 'table_name'

(select count(*) from バックアップ元テーブル名) as 'moto'

(select count(*) from バックアップ先テーブル名) as 'copy',

( select case when (select count(*) from バックアップ元テーブル名)

 = (select count(*) from バックアップ先テーブル名)

then 'OK' else 'NG' end ) as '比較結果'

 

 

バックアップテーブルするよね

引継の進捗管理シートを作ろう

春、退社、異動に伴いどの現場でも起こる引継作業

そんな引継を少しでもスムーズに行うためのフォーマットを用意しました。(主にシステム運用の作業引継を想定して作りました)


下の文字をコピーして、サクラエディタかなんかで

カンマ(,)をタブに置換してエクセルに貼ると管理シートのフォーマットになります。
引継方は人や現場によってそれぞれだから、参考程度に使えたら使ってって感じです。

 

↓↓↓↓↓↓↓↓↓↓↓↓↓↓↓↓↓↓↓↓↓↓↓↓↓↓↓↓↓↓↓↓↓↓↓↓↓↓↓↓↓↓

,,,,ざっくり予定(◎:引継(サポート無し)、○:引継(サポートあり)、△:発生時に実施),,,,,,引継元入力,引継元入力,引継元入力,引継元入力,引継元入力,引継元入力,引継元入力,引継先入力,,4月,,,,5月,,,,,6月,,,,
項目①,項目②,項目③,項目④,4月,5月,6月,見込み時間,引継元,引継先(社),引継先(人),並行稼働有無,進捗率(%),ステータス,引継開始日,並行稼働開始日,並行稼働終了日,引継完了日,備考,1週(3-9),2週(10-16),3週(17-23),4週(24-30),1週(1-7),2週(8-14),3週(15-21),4週(22-28),5週(29-4),1週(5-11),2週(12-18),3週(19-25),4週(26-30),


作業環境の理解,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,
,,,作業環境,◎,,,,,,,不要,100%,引継完了,,,,,,,,,,,,,,,,,,,
,,,作業申請関連,,,,,,,,,,,,,,,,,,,,,,,,,,,,,
,,,  aaa,◎,,,,,,,不要,100%,引継完了,,,,,,,,,,,,,,,,,,,
,,,  bbb,◎,,,,,,,不要,100%,引継完了,,,,,,,,,,,,,,,,,,,
,,,  ccc,◎,,,,,,,不要,100%,引継完了,,,,,,,,,,,,,,,,,,,
,,,作業ツール,◎,,,,,,,不要,100%,引継完了,,,,,,,,,,,,,,,,,,,
作業の理解,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,
,,,ドキュメント,◎,,,,,,,,100%,引継完了,,,,,,,,,,,,,,,,,,,
,,,作業手順,◎,◎,,,,,,,100%,引継完了,,,,,,,,,,,,,,,,,,,
,,,処理内容,○,◎,,,,,,,100%,引継完了,,,,,,,,,,,,,,,,,,,
,,,過去作業の記録,◎,,,,,,,,100%,引継完了,,,,,,,,,,,,,,,,,,,
,,,リリース作業の手順,△,△,△,,,,,,100%,引継完了,,,,,,,,,,,,,,,,,,,
システムの理解,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,
,,,商用環境と検証環境,◎,,,,,,,,100%,引継完了,,,,,,,,,,,,,,,,,,,
,,,システム概要(サーバ、DB、Web),◎,,,,,,,,100%,引継完了,,,,,,,,,,,,,,,,,,,
,,,処理フロー,,,,,,,,,,,,,,,,,,,,,,,,,,,,,
,,,   aaa,◎,,,,,,,,100%,引継完了,,,,,,,,,,,,,,,,,,,
,,,   bbb,◎,,,,,,,,100%,引継完了,,,,,,,,,,,,,,,,,,,
,,,データベース定義(テーブル、項目),,,,,,,,,,,,,,,,,,,,,,,,,,,,,
,,,   aaa,○,◎,,,,,,,100%,引継完了,,,,,,,,,,,,,,,,,,,
,,,   bbb,○,◎,,,,,,,100%,引継完了,,,,,,,,,,,,,,,,,,,
,,,各処理におけるデータ推移の理解,,,,,,,,,,,,,,,,,,,,,,,,,,,,,
,,,   aaa,○,◎,,,,,,,100%,引継完了,,,,,,,,,,,,,,,,,,,
,,,   bbb,○,◎,,,,,,,100%,引継完了,,,,,,,,,,,,,,,,,,,
,,,定期メンテナンス,◎,,,,,,,,100%,引継完了,,,,,,,,,,,,,,,,,,,
,,,サーバ運用ルール,◎,,,,,,,,100%,引継完了,,,,,,,,,,,,,,,,,,,
,,,システム構成情報資料,,,◎,,,,,,100%,引継完了,,,,,,,,,,,,,,,,,,,
,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,
課題引き継ぎ,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,
,,ddd,[運用依頼シート],,○,◎,,,,,,100%,引継完了,,,,,,,,,,,,,,,,,,,
,,ddd,[確認票],,○,◎,,,,,,100%,引継完了,,,,,,,,,,,,,,,,,,,
業務の理解,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,
,システム共通,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,
,,,・キャパシティレポート ,○,◎,,,,,,不要,100%,引継完了,,,,,,,○○○,,,,  ◎◎◎,,,,,,,,
,,,   資料作成,○,◎,,,,,,不要,100%,引継完了,,,,,,   ○○○,,,,,  ◎◎◎,,,,,,,,
,,,・セキュリティパッチ適用対象確認(検証),○,◎,,,,,,,100%,引継完了,,,,,,,   ○○○,,,,  ◎◎◎,,,,,,,,
,,,・セキュリティパッチ適用(検証),◎,,,,,,,,100%,引継完了,,,,,,,   ◎◎◎,,,,,,,,,,,,
,,,・セキュリティパッチ適用対象確認(商用),◎,,,,,,,,100%,引継完了,,,,,,,,   ◎◎◎,,,,,,,,,,,
,,,・セキュリティパッチ適用(商用),◎,,,,,,,,100%,引継完了,,,,,,,,   ○○○,,,,  ◎◎◎,,,,,,,
,AAA,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,
,,aaa,・具体的な作業項目001,○,◎,,,,,,,100%,引継完了,,,,,,,   ○○○,,,,,,,,,,,,
,,aaa,・具体的な作業項目002,○,◎,,,,,,,100%,引継完了,,,,,,,   ○○○,,,,,,,,,,,,
,BBB,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,
,,,定例業務の説明,◎,,,,,,,,100%,未着手,,,,,,,,,,,,,,,,,,,
,,,年次作業、アカウント作成,◎,,,,,,,,100%,未着手,,,,,,,,,,,,,,,,,,,
,,,過去のインシデント、リリース等の状況,◎,,,,,,,,100%,未着手,,,,,,,,,,,,,,,,,,,

FTPの接続確認方法

何気なく、「このサーバから、あのサーバにftpでつながってるか接続確認しておいて」
と頼まれても、確認方法を知ってる人は朝飯前でも知らない人にとって急に難易度が上がります。

 

FTPの接続確認方法を簡単にまとめます。

 

[スタート]メニューから[コマンドプロンプト]を検索。

●[コマンドプロンプト]を開く

Microsoft Windows [Version xxxxx]
Copyright (c) 2009 Microsoft Corporation. All rights reserved.

C:\Users\abcd>ftp xxx.xx.xx.xx   ←ftp linuxサーバのIPアドレス
xxx.xx.xx.xx に接続しました。
220 (vsFTPd 2.2.2)
ユーザー (xxx.xx.xx.xx:(none)): username ←ユーザ名
331 Please specify the password.
パスワード: ユーザパスワードを入力
230 Login successful.         ←ftp接続成功

 

●[コマンドプロンプト]dirコマンドを入力し以下のように表示されれば、ftp接続を抜ける

ftp> dir               ←ファイルの一覧を表示する

ftp> quit               ←ftp接続を終了する
221 Goodbye.

 

 

FWに穴あいているかの疎通確認だけならpingが通ればOKだけど

pingが通ってもftpのportが空いているかは別の話。

ネットワーク越しでもbatファイルを実行する方法

ローカルサーバにログインしてから対象のバッチファイルを実行。ローカルサーバにログインしてから対象のバッチファイルを実行。ってよくあるけど、このログイン作業が若干面倒だったりするのでそれを解決する方法をメモ。


まずはなんでもいいからbatファイルを作ります。


今batファイルが置かれているフォルダをCURRENTとして指定するというだけ
------------------------------------

set CURRENT=%~dp0

md %CURRENT%\テスト

 

-------------------------------------
これだけ。

 

 

自分の生産性をあげる働き方

という本を読んで備忘しておきたいのでメモメモ。

※この記事は完全に個人的な読者感想文なのであしからず

 

 

・パクれるところはパクって学ぶ

・自分をブランド化すること

・経験の棚卸しをして過去を未来につなげる、その選択肢として資格もあり

・議事録は先に書き、話しかけるときは持ち時間を最初に言う

・日曜が憂鬱な人は月曜が見える化できてないから

・引継は効率化のチャンス、俺のスキル衰退期と相手の成長期が重なればベスト

・サクセスストーリーは後付け力だ

 

 

ほんでもって私の読者感想文

・経験の棚卸しと自分ブランド化については今の自分に取り入れるべきポイントだと思った、これが今回の一番の収穫。

・やりたいことが多過ぎるのかもしれないので、willよりもcan,mustに目を向けるのもいいかもしれない

・T型人間はこの手の本によく出てくるな

・議事録作戦は割と効率的にできた

・この作者の別の本をたまたま読んでた

・あとはだいたい分かってるよ、とかそりゃそうだ、って共感するようなことばかりかな

・働き方改革で残業ができなくなった

、残業ってヤル気のある人にとっては勉強時間でしょ、これは言い換えると昔の人が定時後に100時間かけて勉強してたのに今はそれを40時間で覚えろ、って言われてるようなもんだから酷だな。頭良くて効率よく覚えれる人じゃないとムリ。

 

 

 

適当で簡単なバッチファイルを作りたい

なんか適当で簡単なバッチファイルを作りたい時ってあるからメモメモ。

 

@echo off

@rem ----------------------------------

@rem --ここにこのバッチの説明、作成日、作成者など

@rem --

@rem --

@rem --

@rem --

@rem --

@rem --

@rem -----各種設定-----

set FNAME=%date:/=%

set JOBNAME=

set HOMEPATH=C:\tmp

set LOGPATH=%HOMEPATH%\Logset LOGNAME=%LOGPATH%\%JOBNAME%_%FNAME%.log

 

@rem --処理開始

echo %date:~0,10% %time:~0,8% 処理1 開始

echo %date:~0,10% %time:~0,8% 処理1 開始 >%LOGNAME%

@rem --bcpコマンド実行

bcp テーブル名 out "ファイル名" -n -U ユーザ名 -P パスワード -S DB名 

@rem --SPを呼ぶ

osql -S サーバ名 -U ユーザ名 -P パスワード -Q "EXEC [SP名]"

if %ERRORLEVEL% NEQ 0 (

    echo %date:~0,10% %time:~0,8% 処理1 でエラーが発生しました。

    echo %date:~0,10% %time:~0,8% 処理1 でエラーが発生しました。 >>%LOGNAME% 

    exit /b %ERRORLEVEL%

)
    echo %date:~0,10% %time:~0,8% 処理1 正常終了

    echo %date:~0,10% %time:~0,8% 処理1 正常終了 >>%LOGNAME% 

exit

【SQLSERVER】「AAA」というカラム名を持つテーブルを検索したい

SQLSERVER】「AAA」というカラム名を持つテーブルを検索したい

そんな時はこれ。

USE DBname

SELECT
d.name as tablename ,
a.colorder as columnNo,
a.name as columnName,
(case when COLUMNPROPERTY( a.id,a.name,'IsIdentity')=1 then '√'else '' end) as mark,
(case when (SELECT count(*) FROM sysobjects
WHERE (name in
(SELECT name FROM sysindexes
WHERE (id = a.id) AND (indid in
(SELECT indid FROM sysindexkeys
WHERE (id = a.id) AND (colid in
(SELECT colid FROM syscolumns
WHERE (id = a.id) AND (name = a.name))
)))))
AND (xtype = 'PK'))>0 then '√' else '' end) as KeyName,
b.name as typename,
a.length as bytelength,
COLUMNPROPERTY(a.id,a.name,'PRECISION') as len_length,
isnull(COLUMNPROPERTY(a.id,a.name,'Scale'),0) as dimit,
(case when a.isnullable=1 then '√'else '' end) as ifcannull,
isnull(e.text,'') as defaultResult--,
FROM syscolumns a left join systypes b
on a.xtype=b.xusertype
inner join sysobjects d
on a.id=d.id and d.xtype='U' and d.name<>'dtproperties'
left join syscomments e
on a.cdefault=e.id
where a.name like '%AAA%' --検索したい文字列
order by a.id,a.colorder

 


ちなみに
「指定したカラム名を持つテーブルを検索する」
というもっと簡単っぽいやりかたも検索したら出てきた。
http://sql55.com/query/search-tables-by-column-name.php