2in2k8r2なマシン[w2]にsharepoint foundationをインストール
SharePoint Foundation(MSSQL express)†
これには一台でDBもAPも賄うスタンドアローン形式で構築する方法と
複数のマシンに機能を分散させて運営するサーバーファーム形式がある。

ここはスタンドアローン形式を採用してみる。
順調にインストールが終われば、SharePoint Foundationと同時にMSSQLのexpress版がインストールされる。これで下記の構成は完了
この最小構成であっても大抵の事はできそう。装置予約とか装置メーカーへの連絡先、障害履歴には申し分ないでしょう。
MSSQL standardへ†
ですが、実験データを管理したいとなると、MSSQL Expressでは容量的制約およびグラフ描画とかの要望が来ると途端に無理。
なので、以下はMSSQL ExpressからMSSQL standardへアップグレードする際の方法を記します。
もちろん、はなっからMSSQL standard + SharePoint Foundationで構築した方が楽ですよぉ
必要な事。
参照 http://technet.microsoft.com/ja-jp/library/cc512723.aspx
- 現状のMSSQLの内部アカウントとそのロールを調べつくす
インストールされたMSSQL expressはGUIがありません。簡単に調べるために管理ツール(Management Studio)を上乗せさせます。
参照:http://www.microsoft.com/ja-jp/download/details.aspx?id=22985 これでGUIベースで調べられます。
管理ツールからデータベースを参照するには サーバ名は<ホスト名\SHAREPOINT>とインスタンス名を付けて行います。

*もしadministrator権限を持つのにadministrator以外のユーザでログインすると、左ツリーの[セキュリティ/ログイン]は不十分な表示になります。

このようにBUILD\Usersとsaのみ表示されてしまいます。本来これ以外のユーザが存在しているのですが非表示です。
どうやらadministrator様と同じadministrators権限に所属していても全ユーザ情報は開示されないようです。MSSQL2008から。
っで、全ユーザ情報を見るには、サーバロール[sysadmin]を持つユーザ、つまりadministrator様にログイン頂いて、この権限[sysadmin]を付与したアカウントを作る必要があるみたい。なのでadministrator様にログイン頂いて、[セキュリティ/ログイン]の右クリックから[新しいログイン...]を選び、望みのログインユーザのアカウントを作成します。
ログイン名は w2\admin
サーバロールに public の他に sysadmin も
これでadministrator様以外にもMSSQLをつぶさに調べられるユーザが作れました。っで、このユーザを使って、左ツリーの[セキュリティ/ログイン]を表示すると

と先ほどの権限不足な状況が回避されています。
本題に戻り、SharePoint[厳密にはスタンドアローン形式で構築されたFoundation]に使われるアカウントは下記の3ユーザ。その3ユーザの権限を下記に示す。
ログイン名 | サーバロール | ユーザマッピング[標準でpublicが入るので該当は省略] |
NT AUTHORITY\LOCAL SERVICE | ・public | ・SharePoint_AdminConten(略):WSS_Content_Application_Pools ・SharePoint_Config(略):WSS_Content_Application_Pools ・WSS_Search_w2:db_owner |
NT AUTHORITY\NETWORK SERVICE | ・dbcreator ・public ・securityadmin | ・Bdc_Service(略):db_owner ・SharePoint_AdminContent(略):db_owner,SharePoint_Shell_Access,WSS_Content_Application_Pools ・SharePoint_Config(略):db_owner,SharePoint_Shell_Access,WSS_Content_Application_Pools ・WSS_Content:db_owner ・WSS_Logging:db_owner ・WSS_Search_w2:db_owner |
NT AUTHORITY\SYSTEM | ・public ・sysadmin | ・SharePoint_AdminContent(略):WSS_Content_Application_Pools ・SharePoint_Config(略):WSS_Content_Application_Pools |
*他、このインスタンス[w2\sharepoint]のログインまたはロールの権限も確認する必要がある。上記はデータベースでの権限確認です。
「オブジェクトエクスプローラ」のインスタンス名[w2\sharepoint]を右クリックして、「サーバのプロパティ」から権限を開き各ユーザの権限を調べます。
ここでは「NT AUTHORITY\NETWORK SERVICE」ユーザの権限に「SQLの接続」と「サーバー状態の表示」が有効になっている事を確認します。
*SharePoint Foundationのインストール時にスタンドアローン形式を採用するとプログラムMSSQL expressを動かすユーザはNT AUTHORITY\NETWORK SERVICEになる。
- 「サービス」からSharePoint関連プログラムを停止する
SharePoint 2010 Administration
SharePoint 2010 Timer
SharePoint 2010 Tracing
SharePoint 2010 User Code Host
SharePoint 2010 VSS Writer
SharePoint Foundation Search V4
World Wide Web Publishing Service
その後、コマンドプロンプトから iisreset /stopと実行
- MSSQL expressからSharePointデータベースを抽出
管理ツール(Management Studio)のデータベースを開くと、SharePoint Foundationを構築直後は下記のデータベースが存在している事がわかる。
システムデータベース:master、tempdb、model、msdb
SharePoint向けデータベース:
SharePoint_Config_86153a99-fa7e-44fc-bfad-7e5a493a2b5b
SharePoint_AdminContent_62d076fd-bb43-406a-b22b-ba8d0e8f5b17
WSS_Search_W2
WSS_Content
WSS_Logging
Bdc_Service_DB_48b2c400da3943d79ae998aba2ca6e28
この内SharePointで使用されるータベースを一つずつ選択して、右クリックから[タスク]->[デタッチ]を行いこのMSSQLから解放します。
各データベースのデータファイルは「C:\Program Files\Common Files\Microsoft Shared\Web Server Extensions\14\Data\MSSQL10.SHAREPOINT\MSSQL\DATA」に置かれている。デタッチ後、これらを別の場所へ移動させます。
- MSSQLを削除
「プログラムと機能」から「Microsoft SQL Server 2008 (64-bit)」を選択して、上部メニューの「アンインストールと変更」ボタンをクリック

生じた操作メニューから「削除」を選びます。
完了後「Microsoft SQL Server 2008R2(64ビット)」(管理ツールです)も同様に削除します。
そして、
- MSSQL 2008r2 standardをインストール
プロダクトキーは持ってないので、180日間の評価として「Evaluation」を選びます。
セットアップロールでは「SQL Server機能のインストール」を選択します。SQL Server PowerPivot for SharePointは興味があるけど次回へ。
選択する機能は全部とします。取敢えず。
インスタンスの構成画面で、名前付きインスタンスとして、名前は SHAREPOINT とします。
サーバ構成画面では、各SQLServerサービスを動かすアカウントは、同一で「NT AUTHORITY\NETWORK SERVICE」とします。
*本来ならdomain由来のユーザに置き換えるべきなのかもしれない。
認証モードは「Windows認証モード」として、管理者として使用するアカウントを登録します。
Analysis Servicesの構成画面でも管理者として使用するアカウントを登録します。
Reporting Servicesの構成画面では、「SharePoint統合モードの既定の構成をインストールする」を選択します。
最終結果はログ「C:\Program Files\Microsoft SQL Server\100\Setup Bootstrap\Log\Summary.txt」を参照
- データベース復元
バックアップしたデータベースファイルをMSSQL 2008r2 standardのデータベースファイル置き場所にコピーして
C:\Program Files\Microsoft SQL Server\MSSQL10_50.SHAREPOINT\MSSQL\DATA
Management Studioからデータベースのアタッチを行います。
- データベースセキュリティーの調整
Management Studioのオブジェクトエキスプローラから[セキュリティ/ログイン]を開きます。

どうも「NT AUTHORITY\LOCAL SERVICE」が存在しないので、このユーザを追加します。
先ほど記した内容に従い、各ユーザに権限を同じように付与します。
こちらでは「NT AUTHORITY\NETWORK SERVICE」のサーバロール権限不足(dbcreator, securityadmin)と同ユーザのインスタンスへの権限が抜けてました。
これで移行作業は完了。以下復旧へ。
- 関連プログラムの起動
まず、コマンドプロンプトで iisreset /start と実行して、先ほど止めた「サービス」のSharePoint関係を起動させます。
SharePoint 2010 Administration
SharePoint 2010 Timer
SharePoint 2010 Tracing
SharePoint 2010 User Code Host
SharePoint 2010 VSS Writer
SharePoint Foundation Search V4
この後、
- サービス確認
web経由で接続して、表示画面が同じであるか、イベントビューアにエラーがないかを確認します。
最後にOS再起動して、同様にwebアクセス可能かを調べます。
2,3日動かしてイベントビューアにエラーが出てなければ問題ないのかも。