カテゴリー別アーカイブ: ツール

データベースメール(SQL Server)

ITコーディネータのシュウです。

せんがたき

 少し前に、山梨県の昇仙峡に妻と行って来ました。写真は、仙娥滝(せんがたき)と呼ばれる滝で、昇仙峡のシンボルである覚円峰(かくえんぼう)の麓にあり、駐車場から徒歩5分くらいのところにあります。この滝は日本の滝百選にも選ばれていて、落差は30mあり、地殻変動による断層によって生じたものとのことです。

学生時代に一度昇仙峡に行った記憶があり、岩の上から下を見て、高いなあと思った記憶があったのですが、今回は、渓谷に沿って紅葉を見ながら妻と歩くことにしました。
秋晴れの中、たくさんの観光客が遊歩道を歩き、渓流や紅葉を楽しんでいました。カップルが皆手をつないで歩いていたので、私も妻と手をつなぎながら、久しぶりに夫婦で自然を満喫することができました。

<本日の題材>
データベースメール(SQL Server)

会社の同僚が、お客様のシステムで、SQL Serverのデータベースメールの機能を利用して、必要なタイミングでいろいろな情報をメールで知らせる仕組みを作ったということを聞き、今回はこれを題材にしてみます。ちなみに、確認したデータベースのバージョンは、SQL Server2014です。(データベースメールの機能は、SQL Server2012からのようです)

設定の方法ですが、SQL Server Management Studioを起動し、オブジェクトエクスプローラーの「管理」の中にある「データベースメール」を選択し、右クリックを押します。

設定1

そこで表示されるメニューの「データベースメールの構成」をクリックすると、以下のようなデータベースメール構成ウィザードが表示されますので、「次へ」をクリックします。

設定2

「構成タスクの選択」画面が出るので、「次のタスクを実行してデータベースメールをセットアップする」を選択した状態で、「次へ」ボタンを押下します。

設定3

すると、設定が初めての場合には、以下のようなメッセージが出ます。「データベースメール機能は使用できません。有効にしますか?」
ここで「はい」を選択します。

設定4

次に、「新しいプロファイル」設定画面が出てくるので、「プロファイル名」を設定した後、SMTPアカウントの「追加」ボタンをクリックします。

設定5

ここで、SMTPサーバーの設定を行います。

設定6

設定ができたら、「OK」ボタンを押下します。
(SMTP認証の設定が必要な場合は、その部分も設定します)

設定7

新しいプロファイルの画面に戻り、アカウントが追加されたているのを確認して、「次へ」ボタンをクリックします。

設定8

プロファイルセキュリティの管理の画面が出るので、確認してから「次へ」を押下します。

設定9

システムパラメータの構成の画面が出るので、こちらも確認して、「次へ」を押下します。このとき、禁止する添付ファイルの拡張子など、追加したい場合には、追加します。

設定10

ウィザードの完了画面が出るので、「完了」を押下すると、構成を実行します。

設定11

「成功」となれば、「閉じる」で終了します。
次に、メール送信のテストを行ってみます。

設定12

SQL Server Management Studioの「管理」の「データベースメール」を選択し、右クリックを押して、「テスト電子メールの送信」を押下します。

設定13

宛先を設定し、「テスト電子メールの送信」ボタンを押下します。

設定14

これによって、宛先のメールアドレスにメールが送付されることを確認します。

設定15

以上の手順で、SQL Serverのデータベースメールの設定とテストまで簡単にできました。

ただ、SQLを使用するアプリケーションの中で、このデータベースメールの仕組みを使ってSQLの結果などをメールで送付したいというのが目的だったので、SQLのプロシージャを使ってこのデータベースメールを送ってみます。

システムで用意しているプロシージャ「sp_send_dbmail」を使って、下記のようなSQL文を作成して実行してみます。

--メール送信
EXEC msdb.dbo.sp_send_dbmail
  @profile_name = 'メール送付'
,@recipients = 'testuser@newcomblog.jp'
,@subject = '処理完了通知'
,@body = 'データベースメールテスト。'
,@query = 'SELECT * FROM BLOG.dbo.DEPT'
,@attach_query_result_as_file = 1
;

設定16

ここで、@querry 変数にSQL文を指定すると、メールにSQLの結果を付けることができます。(このとき、テーブルはデータベース名から指定します)
また、@attach_query_result_as_file = 1 と指定することで SQL の結果を添付ファイルにして送ることができます。

宛先のメールアドレスに上記の内容のメールが届けば成功です。

設定17

添付ファイルの中身を見ると以下のようになっています。

設定18

データベースメールの仕組みを使って、SQLの結果をメールで送付できることが確認できました。

今日は以上まで

 

 

 

にほんブログ村 IT技術ブログへ
にほんブログ村

Management Studioでのデータ編集

ITコーディネータのシュウです。

IMG_0896

お久しぶりです。あっという間に10月の後半に入ってきました。最近急に寒くなってきましたが、お元気でお過ごしでしょうか?
しばらく開発の仕事がとても忙しく、ブログを書こうと思いながら、ずるずると時が経ってしまいました。申し訳ありません。

この間、いろいろなことがありましたが、大きく記憶に残っていることとして、高校野球で、なんと埼玉の花咲徳栄高校が埼玉県勢として初めて夏の高校野球での優勝旗を持ち帰ったことです。
実は、花咲徳栄高校は結構自宅から近いのと、知人のお子さんでも結構そこに通っているので、とても親近感が湧くのですが、まさか優勝するとは思っていませんでした。
投手2枚看板と打線も毎試合2桁安打で、とても強かったですね。嬉しい限りです。

また、国際情勢が緊迫してきている中、衆議院が解散されて、もうすぐ選挙ですね。高校3年生になって18歳の誕生日を迎えた3番目の娘も、選挙権があるということでカードが送られてきたので、初めての選挙に行くと張り切っていました。こういう時、子供が育つのは早いなと、つくづく思わされます。

それから、事例がまたアップされています。
dbSheetClientで内製化を実現
土木・建築業務における各種システムを構築し、データは統合DBに格納!
情報システム部と設計本部がシステム開発・管理を主導!ということで、株式会社鴻池組様の事例です。
興味のある方は以下をご参照ください。
http://www.newcom07.jp/dbsheetclient/usrvoice/konoike_construction.html

<本日の題材>
Management Studioの使い方(SQL Server)

SQL Serverで、テーブルのデータを変更したいが、いちいちupdate文を書くのが面倒なとき、あるいは時間に余裕がないときに、ツールで簡単に変更できたらいいと思うことがよくありますよね。
SQL Server のManagement Studioというツールをデータの確認などでよく使用しますが、そこでは、テーブルを右クリックすると、「上位200行の編集」という機能があって、行が少ないときはそれで目的のデータの変更ができますが、テーブルの行数が多い場合には、目的のデータを一覧から探すのが面倒なので、そこでの変更はあきらめてしまうことも多いと思います。
それでいい方法がないかと調べてみたところ、Management Studioでうまくできるということなので、それを試してみたいと思います。

SQL Server Management Studioを起動し、データを変更したいデータベースのテーブルにカーソルを合わせた後、マウスの右クリックで表示されるメニューの「上位200行の編集(E)」を選択すると、データの編集ができることはご存知だと思います。

ManS_データ編集

その後、以下のようなデータの編集画面が表示されますが、

ManS_編集画面

ここで、さらに、メニューの「クエリーデザイナー」で表示される「ペイン」、さらに「SQL」を選択すると、下記のようなウィンドウが表示されます。

ManS_pain

この上側のSQLのところに、今回編集したいデータを絞るための条件を追加してみます。今回は「拠点」が「シカゴ」の社員データのみを変更したいので、「WHERE 拠点=’シカゴ’」を入れて、再度SQLを実行します。

ManS_pain_実行

すると、「拠点」が「シカゴ」の社員データのみが結果に表示され、データ編集も可能になるので、そこで値の変更を行います。

ManS_変更実施

こうすることで、行数が多い場合でも、条件を指定して絞ることで、Management Studioの「上位 n 行の編集」でデータの変更をすることができます。

なお、そもそも「上位200行の編集」となっているのを、もっと多い行数に変更することも可能です。

メニューの「ツール」>「オプション」>「SQL Server オブジェクト エクスプローラー」を選択すると、下記のような画面が出てきますので、「上位 <n> 行の編集コマンドの値」を「200」からもっと多い値に変更すればよいです。

ManS_上位n行編集

 
今日は以上まで

にほんブログ村 IT技術ブログへ
にほんブログ村