布団が俺を呼んでいる

丘山大一のぶろぐ

SQL Server sp_MSforeachdb を使う

こんなんあったんですね。便利。

用例

CREATE TABLE #RESULT_TABLE
(
DBNAME nvarchar(30)
)
EXEC sys.sp_MSforeachdb 'USE ?;INSERT INTO #RESULT_TABLE SELECT DB_NAME() '
SELECT * FROM #RESULT_TABLE;
DROP TABLE #RESULT_TABLE

インスタンス内のテーブル一覧が単一のデータセットで拾えるぜひゃっほい。

こんなやり方してました

まあこれはこれで利用できることあるんですが。


SQL Server 2016の教科書 開発編

新品価格
¥3,888から
(2016/9/26 21:15時点)

コメントを書く

布団が俺を呼んでいる | IISのお勉強 WordPressのインストール その1

布団が俺を呼んでいる

丘山大一のぶろぐ

IISのお勉強 WordPressのインストール その1

何故にこのようなことをしているのかと言えば、
「ただ単に私がIISを使ったことが無いから」
です、ハイ。
このブログではサーバー周りを取り上げることが多いですが、ワタクシ本職はWinForms畑ですので。

まずはIISのインストールから。
いきなり手を広げたりせず、まずは基本+管理ツールだけ入れてみることにします。
まあ無くても、WordPressインストール時にある程度入るんですけど。
Install-WindowsFeature Web-Server -IncludeManagementTools

実行結果は、おそらくGUIで「サーバーの役割」-「Webサーバー(IIS)」にチェックを入れ、後は既定でインストールした時の結果と同一であると思われます。(管理ツールインストール含めて、既定と書いています)

それが完了したら、続いてWordPressのインストール・・・・・・前に、ちゃんとWeb Serverが起動しているかどうかチェックしてみます。
ブラウザのアドレス欄に
http://XXX.XXX.XXX.XXX
と入力。ポチっとな、でデフォルトページが表示されます。
適当に作った検証用環境なのですが、これだけでもちょっと感動。

さて、なんとなく満足できたところで、続いてWordPressのインストール。
Web Platform Installer からインストールしてみます。
でもコレGUIからしか動かしたことねーぞ、どうやるんだろう・・・・・・と思ったら、やはり先達がいらっしゃいました。
記事ではv4ですが、折角なのでv5を・・・・・・と入れてみようと思ったら、x86用でした。
ので、素直にv4を入れてみたいと思います。
というわけで、上記で紹介されているコマンドをそのまま入力します。
$client = New-Object System.Net.WebClient
$client.DownloadFile("http://download.microsoft.com/download/C/F/F/CFF3A0B8-99D4-41A2-AE1A-496C08BEB904/WebPlatformInstaller_amd64_en-US.msi","E:WebPI.msi")
容量は2M位はより小さいので、ダウンロード自体はすぐに終わります。
※ダウンロードしたmsiの使い方は、-?でヘルプを呼び出せます。

インストールは下記コマンドで行いました。保存先は適当。
E:\WebPI.msi /passive /promptrestart
こちらもすぐに終わります。

インストール終了後、作業を楽にするために場所を移動しておきます。
Set-Location 'C:\Program Files\Microsoft\Web Platform Installer'

インストールできる製品は次のコマンドで確認可能。
.\WebpiCmd.exe /list /listoption:All

さて、ここからWordPressのインストールです。
インストールには次のコマンドを実行。
.\WebpiCmd.exe /install /Application:"WordPress"

ここからは対話式に進んでいきます。
・コマンドを実行すると、MySQLのパスワードを聞かれるので、任意のパスワードを入力します。
さらに、ライセンス条項に同意するかどうか聞かれるので、「Y」を入力。
しばらく、インストールが続きます。
それが終わると怒涛の設定ラッシュです。
インストールが終了すると、アプリケーションパス、データベースサーバーを入力するように促されます。
検証用なので、ひとまずデフォルトで突っ込みます。エンターキー2回で突破。
続いてデータベース名、データベースユーザー名を入力するように促されますが、ここもエンターキー(デフォルト:wordpress、wordpressuser)で突破。
次のデータベースパスワードはデフォルト値突破できないので、ここは適当に入力しておきます。
そしてデータベース管理者を要求されます。デフォルト値rootはエンターキーで突破。
データベース管理者パスワードは、データベースパスワードと同じくデフォルト値突破できないので、入力しておきます。
続いて4種類のユニークキーの入力を求められます。面倒なのでデフォルト突破。
・それが完了すると、上記で入力した4種類のユニークキーの再入力を求められます。間違えていないことを確認しながら入力。
これが完了すると、ようやく
「製品のインストール:成功」
となります。

動作確認するためには、ブラウザで
http://XXX.XXX.XXX.XXX/wordpress
にアクセスすればOK。

コマンドで確認する場合は下記。
Get-WebApplication

結果はこんな感じ。
Name             Application pool   Protocols    Physical Path
----             ----------------   ---------    -------------
wordpress        DefaultAppPool     http         %SystemDrive%\inetpub\wwwroot\wordpress

ちゃんと 布団が俺を呼んでいる | Firebird Embededのお勉強 ISQLの使い方 スクリプトファイルのSQLを実行できない

布団が俺を呼んでいる

丘山大一のぶろぐ

Firebird Embededのお勉強 ISQLの使い方 スクリプトファイルのSQLを実行できない

解決? まで3時間ほどかかりました。

結論!

ISQL.exe で「-i」オプションをつけて読み込ませるファイルには、BOM (Byte Order Mark) をつけてはいけないらしい。

細かい話

isql.exe - i hogehogeScript.fmq -user SYSDBA -password masterkey -charset UNICODE_FSS 'HOGE.FTB';
とやったら、何回やっても最初のクエリの実行で失敗する。
接続する文字セットを変えたらうまくいくかな? と思いましたが、それでも失敗。
「最初だけ失敗する……?」
「最初にだけあるもの/ないもの ってなんだ……?」
「BOMだ!」
「とりあえずBOM外せ!」
「なんか知らんが動いたぞちくしょー」

根拠

やってみてダメだった、BOM外したらうまくいった……というだけです。
根拠となるドキュメントを発見できていません。

・私の検索能力が低い説。
・そもそもISQL の使い方間違ってんだよ説。
・BOM がダメなんて常識だろ説。
・Windows でスクリプト系ファイルを書く情弱なんて、我々Firebird 業界にはいらんのだよ説。
・はぁ? 何言ってんの? お前の環境おかしいよ説
etc. 

諸説ありますが、とりあえず誰か正解を教えてください。

思うに

BOMがダメだとしたら、MS信者、WIndows 万歳な人間には辛い仕様だぜよ。


Firebird 徹底入門

新品価格
¥4,104から
(2016/8/31 20:45時点)

コメントを書く

布団が俺を呼んでいる | PowerShell Invoke-Sqlcmdが動かない場合の一時対応

布団が俺を呼んでいる

丘山大一のぶろぐ

PowerShell Invoke-Sqlcmdが動かない場合の一時対応

地味にはまった。
SQL Server2008R2 の入ったクライアントPCで、Invoke-Sqlcmdが通らず。
他人のPCなので、あまり設定をゴチャゴチャ弄りたくない。
そんな時は、下記コマンドを突っ込むと、そのセッション中はInvoke-Sqlcmdが使えるようです。

Add-PSSnapin SqlServerCmdletSnapin100 
Add-PSSnapin SqlServerProviderSnapin100 

SQL2012、2014といった場合は110,120になるのかな?
※管理ツールがインストールされていないとダメかも?
 未確認です。

動くサンプルで学べる Windows PowerShell コマンド&スクリプティングガイド PowerShell 4.0対応

新品価格
¥3,218から
(2015/10/31 18:28時点)

コメントを書く