こんにちは。
職人見習いの高嶋です。
時に案件でSQL Serverを使わなければいけないケースの場合、経験不足の為困る場合があるので備忘として残しておきます。
私の請け負った案件ではSQL Server2005を使うという事だったので、現在としてはバージョンは古いかもしれないですが、こちらを中心に紹介していきます。
1.Windows環境にSQL Serverをインストール
SQL Server 2005 Express エディション
上記URLからSQL Server 2005 Express Editionをインストールし、Service Pack1をインストールしたのであれば、その後Service Pack3を当てます。
Microsoft SQL Server 2005 Service Pack 3
SQL Server 2005 Express Editionをインストールしている最中、ログインID権限の確認方法を問われるので『統合Windows認証を使う』ではなく『ユーザーが入力するSQL Server用のログインIDとパスワードを使う』を選択するのが良いです。
2.データを貰う場合はそちらを反映
既にデータが存在していて(hoge.mdfとする)、それを自分の環境に反映させる場合は一旦SQL Serverのサービスを止めてからデータを任意の場所に保存します。
コントロールパネル → 管理ツール → サービスから、以下のサービスを一旦止めておきます。
- SQL Server(SQLEXPRESS)
- SQL Server Active Directory Helper
- SQL Server VSS Writer
その上でhoge.mdfを保存します。
尚、今回は下記に保存する事とします。
C:dataldbhoge.mdf
その後、上記サービスをもう一度立ち上げます。
3.コマンドプロンプトからSQL Serverにログイン
コマンドプロンプトを立ち上げ、SQL Serverにログインします。
> sqlcmd -S (自分のPC名)SQLEXPRESS -U (ログインID) -P (ログインパスワード)
4.自分の環境で以前に『hoge』というデータベースを定義している場合は一旦デタッチ
1> sp_detach_db 'hoge' 2> go
5.データベースhogeを反映
1> sp_attach_single_file_db 'hoge','C:dataldbhoge.mdf' 2> go
上記でhogeデータベースが構築されますので、権限がない等のエラーが発生する場合は、hoge.mdfを右クリック『プロパティ』→『セキュリティ』を選択し、フルコントロール権限を持たせた『Everyone』アカウントを作成して再度行います。
6.PHPからデータベースに接続する為のODBCの設定
コントロールパネル → 管理ツール → データソース(ODBC) を選択します。
『追加』ボタンよりSQL Native Client を選択
↓
名前欄は任意
サーバー欄に『(自分のPC名)SQLEXPRESS』を入力
↓
『ユーザーが入力するSQL Server用のログインIDとパスワードを使う』を選択し、ID・パスワードを設定する
↓
『既定のデータベースを以下のものに変更する』にチェックを入れ、データベース名『hoge』を入力
↓
完了ボタンを押し、データソースのテストに成功したら設定完了
そして最後に、CSEやPHPから接続テストを行います。
※この記事は、なかの人(piro556)が書いています。