Addcontentdb : Stsadm 操作 (Office SharePoint Server)
操作名 : Addcontentdb
説明
url パラメータおよび databasename パラメータが指定されている場合、新しいコンテンツ データベースを作成するか、アップグレードが必要なデータベースを追加します。
データ ファイルとログ ファイルの場所は、コンテンツ データベースの作成時に、SQL データベース サーバーで定義されている既定のデータベース設定によって決まります。コンテンツ データベースが作成されるときには、1 つのデータ ファイル (.mdf) と 1 つのトランザクション ログ ファイル (.ldf) をホストするプライマリ ファイル グループも作成されます。
重要
コンテンツ データベースを切断して再接続すると、次回そのコンテンツ データベース内のコンテンツをクロールするときに、フル クロールが (増分クロールを要求しても) 行われます。フル クロールでは、コンテンツが前回クロールされているかどうかに関係なく、クローラがアクセスするすべてのコンテンツが再クロールされるため、増分クロールに比べ、完了するまでに大幅に時間がかかります。
構文
stsadm.exe -o addcontentdb
-url <URL 名>
-[-assignnewdatabaseid]
-[-clearchangelog]
-databasename <データベース名>
[-databaseserver <データベース サーバー名>]
[-databaseuser <データベース ユーザー名>]
[-databasepassword <データベース パスワード>]
[-sitewarning <警告するサイト数>]
[-sitemax <最大サイト数>]
パラメータ
パラメータ名と短縮形 | 値 | 必須/省略可能 | 説明 |
---|---|---|---|
url |
有効な URL ("http://サーバー名" など)。 |
必須 |
コンテンツ データベースを追加する Web アプリケーションの URL です。 |
assignnewdatabaseid |
有効な GUID ("12345678-90ab-cdef-1234-567890bcdefgh" など)。 |
省略可能 |
コンテンツ データベースが接続されたときに新しいデータベース ID を自動的に作成します。このパラメータは、Microsoft Office Servers インフラストラクチャ更新プログラムで初めて導入されました。詳細については、「備考」を参照してください。 |
clearchangelog |
<なし> |
省略可能 |
変更ログをクリアします。 必要なとき (たとえば、SQL Server レベルの別個のバックアップ ツールを使用して、コンテンツ データベースを以前の時点に復元するときなど) に、変更ログを強制的にクリアします。このパラメータは、Microsoft Office Servers インフラストラクチャ更新プログラムで初めて導入されました。詳細については、「備考」を参照してください。 |
databasename (dn) |
有効なデータベース名 ("DB1" など)。 |
必須 |
データベース名。 |
databaseserver (ds) |
名前付きインスタンスを使用する場合の有効なデータベース サーバー名 ("Sales"など)。"サーバー\サーバー" の形式で表示されることがあります。 |
省略可能 |
データベース サーバー名。値が指定されていない場合は、既定のサーバーが使用されます。 |
databaseuser |
有効なユーザー名 ("ユーザー名1" の形式で指定)。 |
省略可能 |
SQL 認証に使用されるアカウント。databasepassword パラメータと共に使用する必要があります。 |
databasepassword |
有効な SQL パスワード。 |
省略可能 |
databasepassword パラメータが使用されるのは、Windows 認証が実装されていない場合のみです。つまり、Microsoft SQL Server 認証のシナリオでは、データベース サーバーに対する認証を行うため、databaseuser および databasepassword パラメータを渡す必要があります。一方、Windows 認証の場合は、NTLM を使用して資格情報が渡されるため、これらのパラメータは省略できます。 |
sitewarning |
有効な整数 (10 など)。 |
省略可能 |
コンテンツ データベースで許容されるサイト コレクションの数。この数を超えると、Windows イベント ログに警告イベントが生成されます。 |
sitemax |
有効な整数 (10 など)。 |
省略可能 |
コンテンツ データベースで許容されるサイト コレクションの最大数を指定します。 |
備考
Microsoft Office Servers インフラストラクチャ更新プログラムを実行している場合は、組み込みツールを使用してデータベースを復元または再接続するときに、各コンテンツ データベースの ID が保持されます。組み込みツールを使用するときの既定の変更ログ保持動作は次のとおりです。
ファームの復元時には、すべてのデータベースの変更ログが保持されます。
データベースの再接続時には、コンテンツ データベースの変更ログが保持されます。
コンテンツ データベースのみを復元するときには、コンテンツ データベースの変更ログは保持されません。
詳細については、「コンテンツ データベースを移動する (Office SharePoint Server 2007)」および「ファーム全体のバックアップおよび復元 (SharePoint Server 2007)」を参照してください。
コンテンツ データベースの古い SQL Server バックアップを復元する場合は、検索インデックスのエントリ数が、ファーム内の復元したデータベースのエントリよりも多くなることがあります。このような場合は、まず、Stsadm コマンドの stsadm –o deletecontentdb を使用して SharePoint ファームからデータベースを切断してから、SQL Server ツールを使用してデータベースを復元します。次に、Stsadm コマンドの stsadm –o addcontentdb –clearchangelog を使用して、コンテンツ データベースの再接続と変更ログのクリアを行います。変更ログをクリアすると、そのデータベースに対して強制的にフル クロールが実行されるため、存在しないアイテムを参照するインデックス エントリはなくなります。
管理者は、いつどのような場合に変更ログをクリアするかを常に理解しておく必要があります。たとえば、Microsoft SQL Server レベルのバックアップ ツールを使用してコンテンツ データベースを最後のクロールより前の時点に復元し、addcontentdb 操作を使用してコンテンツ データベースをファームに再接続する場合は、変更ログをクリアしないと、復元されたデータベースには存在しない、コンテンツ データベース内の項目に対するインデックス エントリが残ってしまう可能性があります。このシナリオにおいて、この問題が発生しないようにするには、clearchangelog パラメータを使用してログをクリアします。誤って clearchangelog パラメータを使用せずにコンテンツ データベースを接続してしまった場合は、いったんデータベースを切断してから、clearchangelog パラメータを使用してコンテンツ データベースを再接続します。こうすると、次回のクロールによってそのコンテンツ データベースのインデックスをリセットできます。
コンテンツ データベースが同じ Web アプリケーションに接続している場合、変更ログは、既定ではデータベース ID と共に保持されます。ID の競合などの理由でデータベース ID の変更が必要になった場合は、assignnewdatabaseid パラメータを使用することで、コンテンツ データベースの新しい ID を強制的に指定できます。
競合が原因でデータベースをファームに接続できない場合は、次のエラーを受け取ります。 このファーム内の別のオブジェクトが既に同じ ID を持っているため、接続操作を続行できません。ファーム内の各オブジェクトは一意の ID を持っている必要があります。接続操作を続行するためには、このデータベースに新しい ID を割り当てる必要があります。このデータベースに新しい ID を関連付けるには、-assignnewdatabaseid パラメータを指定して "stsadm.exe -o addcontentdb" 操作を実行します。この新しいデータベースと既存のデータベースに同じサイト コレクションが含まれている場合、このデータベースを接続すると、2 つのデータベース間の競合のために孤立したサイト コレクションが生じる可能性があります。