全ては時の中に…

システム開発全般の技術や開発に役立つツール、プログラミングのサンプルを紹介しています。

SMO

【VB.NET】SQL Serverのバックアップの進行状況を表示する

【VB.NET】SQL Serverの指定したデータベースを復元(リストア)する」にて質問がありましたので、バックアップとリストアの進行状況をプログレスバーで表示する方法について説明します。
進行状況を表示する場合には、BackupクラスやRestoreクラスに対して、イベントハンドラを追加する必要があります。
バックアップの場合をサンプルとして説明します。

以下、イベントハンドラの追加手順です。
 1.フォームにプログレスバー(ProgressBar)コントロールを配置する。
 2.プログレスバーの初期化を行う。
  →最大値、開始値、増分値、スタイル等を指定します。
 3.プログレスバーの更新用関数を作成する。
 4.項番3で作成した関数を以下のイベントに関連付ける。
  1)Backupkクラスの場合
   ・PercentCompleteイベント
   ・Completeイベント

以下、サンプル。
続きを読む

【VB.NET】SQL Serverの指定したデータベースを復元(リストア)する(其の参)

以前の記事「【VB.NET】SQL Serverの指定したデータベースを復元(リストア)する(其の弐)」の応用です。

上記の記事では、復元に利用する論理名を指定する場合、SQL Server Management Studioで論理名を確認していました。
今回は、自動的に論理名を取得する方法について説明します。

論理名は、バックアップファイル内に記載されています。
そのため、バックアップファイルからこの情報を読み込む処理を追加することで実装できます。

各種ファイル情報を取得するには、Microsoft.SqlServer.Management.Smo.RestoreクラスのReadFileList()メソッドを取得します。
取得した各レコードの情報を参照することで、論理名等の必要な情報が取得できます。

ReadFileList()メソッドで取得した情報は、DataTable形式です。
そのため、DataTableRowを使って取得したデータの内容を参照する必要があります。
(複数のファイルがある場合には、DataTableRowが複数行取得できます)

以下、サンプル。
続きを読む

【VB.NET】SQL Serverの指定したデータベースを復元(リストア)する(其の弐)

以前の記事「【VB.NET】SQL Serverの指定したデータベースを復元(リストア)する 」に関連した内容です。

バックアップファイルからデータベースを復元すると、デフォルトの設定では、バックアップ時の設定をそのまま復元します。
そのため、データベースの情報を格納しているデータファイルやログファイル等もバックアップ作成時の場所に復元されます。
但し、復元するデータベース名は、自由に設定できます。

しかし、復元する場合、データファイルの保存場所が異なる等の違いがあることが多々あります。
この場合、データファイルやログファイルの復元先を指定して復元する必要があります。
今回は、この方法について説明します。

SQL Serverでは、データファイルやログファイルを論理名と物理ファイル名をセットで保持しています。
復元時には、このセットを正しく指定することで、データファイルやログファイルの復元先を変更することができます。
論理名は、SQL Serverで使用する物理ファイル名を参照するためのシンボルのことです。

論理ファイル名は、以下の手順で確認できます。
 1.SQL Server Management Studioを起動する。
  [スタート]-[プログラム]-[Microsoft SQL Server 2008]-[SQL Server Management Studio]を実行する。
 2.左側のツリーから確認したいデータベースを選択し、右クリックする。
 3.表示されたメニューから[プロパティ]を選択する。
 4.左側のツリー(ページの選択)から[ファイル]を選択する。
 5.[データベースファイル]の一覧にある[論理名]を確認する。

ここで確認した論理名をコードで指定する必要があります。
※以下のサンプルでは、論理名が以下の場合を例として説明します。
 ・データファイルの論理名:「sample」
 ・ログファイルの論理名 :「sample_log」

以下、サンプルです。
続きを読む

【VB.NET】SQL Serverの指定したデータベースを復元(リストア)する

記事「【VB.NET】SQL Serverの指定したデータベースをバックアップする」でVB.NETからSQL Server 2005のデータベースをバックアップする方法について説明しました。
今回は、バックアップからデータベースを復元(リストア)する方法について説明します。
復元(リストア)するには、SMOのRestoreクラスを利用します。

以下、サンプル。
続きを読む

【VB.NET】SQL Serverの指定したデータベースをバックアップする

VB.NETからSQL Server 2005の指定したデータベースをバックアップする方法について説明します。
SQL Serverの指定したデータベースをバックアップするためには、SMOのBackUpクラスを利用します。

以下、サンプル。
続きを読む

【VB.NET】SMOを利用してSQLServerのデータベース情報を取得する

記事「【VB.NET】SMOを利用してSQL Serverに接続する」の続きです。
SMOを利用したデータベースの接続方法まで説明しました。
今回は、接続したデータベースの情報(テーブル、ビュー、ストアドプロシージャ等)の取得方法について説明します。
情報は、データベースの接続を保持するServerオブジェクトを利用して取得します。

以下、サンプル。
続きを読む

【VB.NET】SMOを利用してSQL Serverに接続する

記事「【VB.NET】SMOを利用してSQL Serverのサーバ一覧を取得する」の続きです。
前回の記事では、SMOを利用してSQL Serverのサーバ一覧を取得する方法について説明しました。
今回は、SMOを利用してサーバに接続する方法について説明します。

SMOを利用してSQL Serverに接続する場合には、Microsoft.SqlServer.Management.smo.ServerクラスのConnectionContextを利用します。

以下、サンプル。
続きを読む

【VB.NET】SMOを利用してSQL Serverのサーバ一覧を取得する

VB.NET等のプログラムからSQL Server 2005の管理(バックアップやリストア等)をプログラムで制御する場合、SMOを利用します。
今回は、このSMOを利用してネットワーク上にあるSQL Serverのサーバの一覧を取得する方法について説明します。
SMOを利用する場合、参照設定でライブラリを追加する必要があります。
サーバの一覧を取得するには、Microsoft.SqlServer.Management.smo.SmoApplication.EnumAvailableSqlServers()メソッドを利用します。
このメソッドは、以下の情報をDataTableの形式で返します。
 ・Name(サーバ名+インスタンス名)
 ・Server(サーバ名)
 ・Instance(インスタンス名)
 ・IsClusterd(クラスタ構成かどうか)
 ・Version(SQL Serverのバージョン)
 ・IsLocal(ローカルサーバかどうか)

以下、サンプル。
続きを読む
Recent Comments
Recent TrackBacks
Profile

ふりっつ

システムエンジニア
取得資格:
 ソフトウェア開発技術者
 MCP(70-290)
メールマガジン:
 【出張版】全ては時の中に…

メールマガジン
メルマガ登録・解除
【出張版】全ては時の中に…
 
 powered by メルマガスタンドmelma! トップページへ
ブログランキング
アクセス解析出会い




にほんブログ村 IT技術ブログへ

にほんブログ村 IT技術ブログ プログラム・プログラマへ

Amazon
スポンサー
HonyaClub.com

PCDEPOT WEB本店/OZZIO

FUJIFILMMALL(フジフイルムモール)

IT 関連資格ならクラムメディア問題集

  • ライブドアブログ