SQLServerの基本事項メモ
今までアプリケーションのデータソースとして何気なく使っていて、デバッグ時は問題ないが、
本番環境への配置やリモートからの接続が発生した途端にエラーが発生し困ったことが多々ある。
とりあえず動くようにという感じで場当たり的な対応で乗り切っていたが、何で動くようになったかまでの深い理解は得ていない。
そこで、ここいらでちゃんと基本から学習しておかないとと思い立ったわけです。
以下に、まとめておきます。
本番環境への配置やリモートからの接続が発生した途端にエラーが発生し困ったことが多々ある。
とりあえず動くようにという感じで場当たり的な対応で乗り切っていたが、何で動くようになったかまでの深い理解は得ていない。
そこで、ここいらでちゃんと基本から学習しておかないとと思い立ったわけです。
以下に、まとめておきます。
システムデータベース
SQLServerが使用するデータベース
システムデータベースとしてmaster、msdb、model、tempdb が存在する。
このうちmasterデータベースはシステム情報(ユーザー情報など)を保存する。
そのほかについては、システム データベース を参照。
システムデータベースとしてmaster、msdb、model、tempdb が存在する。
このうちmasterデータベースはシステム情報(ユーザー情報など)を保存する。
そのほかについては、システム データベース を参照。
ユーザーインスタンス
ユーザーインスタンスとは?
システムデータベースのコピー
各ユーザーに対して最初にユーザー インスタンスが生成された時点で、そのユーザー インスタンスによって排他的に使用されるユーザーの
SQL Server Express ユーザー インスタンス
ローカル アプリケーション データ リポジトリ ディレクトリの下位パスに、Template Data フォルダーからシステム データベース master および msdb がコピーされます。
通常、このパスは C:\Documents and Settings\\Local Settings\Application Data\Microsoft\Microsoft SQL Server Data\SQLEXPRESS です。
ユーザー インスタンスが開始されると、tempdb、ログ、およびトレース ファイルもこのディレクトリに書き込まれます。
ユーザー インスタンスには、ユーザーごとに一意の名前が生成されます。
※実行ユーザーがこのフォルダに対する適切なアクセス権限がないとエラーが発生するので注意すること。
接続文字列
ユーザーインスタンスを使用する場合は下記のような感じ。
Data Source=.\\SQLExpress;Integrated Security=true; User Instance=true; AttachDBFilename=|DataDirectory|\app_data\Northwind.mdf; Initial Catalog=Northwind;
シノニム
テーブル名などの別名。
スキーマー
テーブルやプロシージャーなどを格納するコンテナ。データベースはスキーマーを格納し、サーバーはデータベースを格納している。
データベース毎に存在している。ユーザー、ロールにに所有される。
所有者ごとのアクセス権限を設定することができる。(更新、削除、参照、、、)
データベース毎に存在している。ユーザー、ロールにに所有される。
所有者ごとのアクセス権限を設定することができる。(更新、削除、参照、、、)
ユーザー
ロール
ユーザーグループのようなもの。スキーマーを所有することができる。
ログイン時のユーザーマッピング
認証(Winsows、SQLServer)毎データベース毎に割り当てるユーザー、スキーマーを設定する。
(ユーザーとスキーマーは多対多の関係なので、どのスキーマーをするか明示的に指定する必要がある。)
SQL Server ログインを作成する方法
(ユーザーとスキーマーは多対多の関係なので、どのスキーマーをするか明示的に指定する必要がある。)
SQL Server ログインを作成する方法
あとはこの書籍を購入して勉強してみようと思ってます。
SQL Server 2008の教科書―基礎から実践まで学べる
- 作者: 松本美穂,松本崇博
- 出版社/メーカー: ソシム
- 発売日: 2009/10
- メディア: 単行本
- 購入: 5人 クリック: 95回
- この商品を含むブログ (7件) を見る