| モンドリィの自習室 - トップへ - SQL関連Tipsへ |
|
Microsoft SQL Desktop Engine について ● いやー、使い方分からずかなり悶えました。覚え書きとして残しておこうと思います。 ● 目次 ● ・ Microsoft SQL Desktop Engine (MSDE) でデータベースの設定をするには ・ まず、MSDEが起動しているのを確認して「osql -E」を実行してプロンプトモードに入る ・ ASPNET にMSDEへのアクセスを与える(Windows統合でSQLログインを与える場合) ・ DBへのSELECT,DELETE,INSERTのpublicでのアクセスを許可する ・ あとがき Microsoft SQL Desktop Engine (MSDE) でデータベースの設定をするには MSDEでデータベースやユーザーログインを作成・削除などの設定をするには、コマンドプロンプトで osqlと言うコマンドを使います。以下に、それぞれの操作のコマンドを書いていきます。 間違いなどございましたら、ご指摘ください。
ご注意 ※ 私が実行している環境は、オプションなしインストール時デフォルトの、Windows統合認証環境です。 ※ 私が実行している環境は、WindowsXPですので、コマンド中に出てくる「""](ダブルクォーテーション) を使用していますが、 「''」(シングルクォーテーション)と置き換わる環境もあります。
まず、MSDEが起動しているのを確認して「osql -E」を実行してプロンプトモードに入る すべての作業はここから > osql -E
ASPNET にMSDEへのアクセスを与える(Windows統合でSQLログインを与える場合) 1> sp_grantlogon "<computername>\ASPNET"
データベース に入る 準備: osqlに入っているときは一度exitで抜ける 1. 入りたいデータベースのあるフォルダに移動する。 > cd "C:\Program Files\Microsoft SQL Server\MSSQL\Data" 2. MSDEが起動しているのを確認して「osql -E」を実行してプロンプトモードに入る > osql -E 3 「1>」と言うプロンプトが出たたら、以下のコマンドを実行 1> use <database name>
ASPNET アカウントにDBアクセスを許可する 1. MSDEが起動しているのを確認して「osql -E」を実行してプロンプトモードに入る > osql -E 2. 「1>」と言うプロンプトが出たたら、以下のコマンドを実行 1> sp_grantdbaccess "<computer
name>\ASPNET" # <computer name> はコンピュータ名に置換する
DBへのSELECT,DELETE,INSERTのpublicでのアクセスを許可する 1. MSDEが起動しているのを確認して以下のコマンドを実行してデータベースに入る > osql -E -d <database name> 2. 「1>」と言うプロンプトが出たたら、以下のコマンドを実行 1> grant SELECT,DELETE,INSERT
on <Table name> to public # <Table name> は使用したいテーブルの名前に置換する データベース を作成する 準備: osqlに入っているときは一度exitで抜ける 1. データベースを作成するフォルダに移動する。 > cd "C:\Program Files\Microsoft SQL Server\MSSQL\Data" 2. MSDEが起動しているのを確認して「osql -E」を実行してプロンプトモードに入る > osql -E 3 「1>」と言うプロンプトが出たたら、以下のコマンドを実行 .
データベース を削除する 準備: osqlに入っているときは一度exitで抜ける 1. 削除したいデータベースのあるフォルダに移動する。 > cd "C:\Program Files\Microsoft SQL Server\MSSQL\Data" 2. MSDEが起動しているのを確認して「osql -E」を実行してプロンプトモードに入る > osql -E 3 「1>」と言うプロンプトが出たたら、以下のコマンドを実行 1> drop
database <database name>
*.sqlファイルを実行し、DB (NEWDBと言う名前にした) を生成する 1. MSDEが起動しているのを確認して以下のコマンドを実行して生成する > osql -E -d NEWDB -i <filename>.sql (オプション:-E trusted connection -d use database name -i inputfile)
MSDEをASP.NETで使用する場合 2. データベース に入る 3. DBへのSELECT,DELETE,INSERTのpublicでのアクセスを許可する
データベースのバックアップを取る場合 準備: コマンドラインから、osql -E 1. バックアップを取りたいデータベースとバックアップ先を指定する 1> backup database <database name> to disk="<full path filename>" 例) 1> backup database master to disk="c:\master_bak" 2> go 2. 以下のようなメッセージが出て完了。 ファイル 1 で、データベース 'master'、ファイル
'master' の 104 ページが処理されました。
データベースの差分バックアップを取る場合 準備: コマンドラインから、osql -E 1. バックアップを取りたいデータベースとバックアップ先を指定する 1> backup database <database name> to disk="<full path filename>" with differential 例) 1> backup database master to disk="c:\master_Difference_bak" with differential 2> go 2. 以下のようなメッセージが出て完了。 ファイル 1 で、データベース 'master'、ファイル 'master_dat'
の 16 ページが処理されました。
データベースをバックアップファイルから復元する場合 準備: コマンドラインから、osql -E 1. 最後に取ったバックアップファイルからデータベースを復元する 1> restore database <database name> from disk="<full path filename>" with norecovery 例) 1> restore database master from disk="master_bak" with norecovery 2> restore log master from disk="<full path filename>" with recovery 例) 2> restore log master from disk="c\maste_logr_bak" with recovery 3> go 2. 以下のようなメッセージが出て完了。 ファイル 1 で、データベース 'master'、ファイル 'master_Data'
の 112 ページが処理されました。
データベースを差分バックアップファイルから復元する場合 準備: コマンドラインから、osql -E 1. 最後に取ったバックアップファイルからデータベースを復元する 1> restore database <database
name> from disk="<full path filename>" with norecovery 2> restore database <database
name> from disk="<full path filename>" with norecovery 3> restore log master from disk="<full path filename>" with recovery 例) 2> restore log master from disk="c\maste_logr_bak" with recovery 4> go 2. 以下のようなメッセージが出て完了。 ファイル 1 で、データベース 'master'、ファイル 'master_Data'
の 112 ページが処理されました。
途中で取ったバックアップログファイルから復元する場合 準備: コマンドラインから、osql -E 1. 最後に取ったバックアップファイルからデータベースを復元する 1> restore database <database name> from disk="<full path filename>" with norecovery 例) 1> restore database master from disk="master_bak" with norecovery 2> restore log <database name> from disk="<full path filename>" with norecovery 例) 1> restore log master from disk="master_difference_bak" with norecovery 3> restore log master from disk="<full path filename2>" with recovery 例) 2> restore log master from disk="c\maste_log2_bak" with recovery 4> go 2. 以下のようなメッセージが出て完了。 ファイル 1 で、データベース 'master'、ファイル 'master_Data'
の 112 ページが処理されました。
あとがき 参考 : AILightと言う.NET関連サイトの掲示板での質問に、アイライト様、菊池様、小野様に丁寧にお答えいただきました。 アイライトさんのサイト 「AILight 〜.NET Control Vender & .NET Laboratory〜」 http://www.ailight.jp/ 小野さんのサイト 「どっとねっとふぁん」 http://www.dotnetfan.com/ 記事作成日 : 2003/11/13 記事更新日 : 2004/01/26 データベースのバックアップと復元を書き足してみました。 2003/11/14 少しだけ詳しく書き直してみました。
内容的におかしいところ、見づらい個所(色使い)などございましたらご指摘ください。 同じようにMSDEを利用されている方からの苦労話も大歓迎です。
|
| モンドリィの自習室 - トップへ - SQL関連Tipsへ |