6.1.5 DBMSの格納領域の変更(SQL Serverの場合)
DBMSの機能を利用してファイルグループやスキーマを変更する方法を示します。
-
すべてのデータをエクスポートする
-
すべてのテーブル・インデクス・ビューを削除する
-
すべてのテーブル・インデクス・ビューを再作成する
-
すべてのデータをインポートする
-
DBMSへの接続先情報を変更する
詳細な変更方法を次に示します。
- 〈この項の構成〉
(1) すべてのデータのエクスポート
すべてのデータをエクスポートするには,bcpコマンドを実行します。bcpコマンドについては,SQL Serverのマニュアルを参照してください。
bcpコマンドの指定例を次に示します。
bcp <テーブル名> out <データファイルの絶対パス> -U <ユーザ名> -P <パスワード> -c
(2) すべてのテーブル・インデクス・ビューの削除
テーブル・インデクス・ビューを削除するには,次に示すSQLスクリプトファイルを編集します。
<CSCIWインストールディレクトリ>/sql/droptable_sqlserver.sql
削除用に編集したSQLスクリプトファイルは,sqlcmdユティリティを使用して実行します。
sqlcmdユティリティに編集したSQLスクリプトファイルを指定し,実行することで,すべてのテーブル・インデクス・ビューを削除できます。sqlcmdユティリティの使用方法については,SQL Serverのマニュアルを参照してください。
sqlcmdユティリティの指定例を次に示します。
sqlcmd -U <接続ユーザ名1> -P <パスワード> -i <削除用のSQLスクリプトファイルの絶対パス>
(3) すべてのテーブル・インデクス・ビューの再作成
テーブル・インデクス・ビューを再作成するには,次に示すSQLスクリプトファイルを編集します。
<CSCIWインストールディレクトリ>/sql/createtable_sqlserver.sql
再作成用に編集したSQLスクリプトファイルは,sqlcmdユティリティを使用して実行します。sqlcmdユティリティに編集したSQLスクリプトファイルを指定し,実行することで,すべてのテーブル・インデクス・ビューを再作成できます。sqlcmdユティリティの使用方法については,SQL Serverのマニュアルを参照してください。
sqlcmdユティリティの指定例を次に示します。
sqlcmd -U <接続ユーザ名2> -P <パスワード> -i <再作成用のSQLスクリプトファイルの絶対パス>
(4) すべてのデータのインポート
すべてのデータをインポートするには,テーブルごとにbcpコマンドを実行します。bcpコマンドについては,SQL Serverのマニュアルを参照してください。
bcpコマンドの指定例を次に示します。
bcp <テーブル名> in <データファイルの絶対パス> -U <ユーザ名> -P <パスワード> -c
(5) DBMSへの接続先情報の変更
ユーザまたはスキーマを変更した場合は,変更後のユーザまたはスキーマで接続できるユーザおよびパスワードに変更する必要があります。
変更方法については,「6.1.2 接続先DBMSの変更」を参照してください。