Windows Server 2008 R2 Foundation
夏に導入するシステムのサーバーがWindows Server 2008 R2 Foundationに決まり、Dellのサーバーにプリインストールされて来るのをずっと楽しみにしていたのですが、やっと来ました。
発注してから、二週間くらいかかったかな。
サーバー本体はT110で、CPUをCore i3、メモリ4GB、HDDをRAID1等の変更を加えてます。
>Dell Power Edge T110
ケースもなかなかかっこ良いですね。
OSをWindows Server 2008 R2 Foudation Edition(WS2008R2FE)にしたのは、言わずもがな、です。
WS2008R2FEは、クライアントからのアクセスライセンス(CAL)の必要がなく、Windows7等のクライアント用OSが同時接続10台までなのに対して、15台まで可能だからという、それだけのためです。
なので管理方法もただのワークグループで、ドメイン管理したりはないです。やり方もよく解らんし。
もう少し待てば、Windows Small Business Server 2011 Essentialsというのが出て、こちらは25台まで接続できるみたいだけど。
まあ、15台繋がれば、十分かな。
ちなみに、WS2008R2FEは、64bitOSです。
今までの32bit版のソフトも大抵は動くと思いますが、動かない可能性も考慮する必要があります。
他に気を付けないといけないところは特に無いですが、ソフトのインストール先が64bitソフトはProgram Filesに入り、32bitソフトはProgram Files(86)に入ると言うことくらいじゃないでしょうか。
Windows Serverなんてなかなか触る機会がなく、毎回最新OSで戸惑ってしまいます。
WS2008R2FEは、機能的にWindows7と同等ですね。
(2000ServerはWindows2000、2003はXPって感じでした。)
もっとも、Aero等はなく、殺風景な画面ですが。
とりあえずこれに、データベースと、VisualBasic6.0、その他通信ソフトとかをインストールします。
データベースは、SQLServer2000をずっと使ってたのでそれが良かったんですが、流石に古いし、どうもWS2008ではサポートされていないみたいなんですよね。
一応インストールだけしてみたんですが、一見動いてるように見えるけど、Enterprise Managerで新規テーブルを作成できなかった。画面が真っ白で。
テーブルさえ作れたら、使えるのかもしれないけど。
で、SQL Serverも通常のエディションだと、Windows Serverと同様に、クライアントアクセスライセンス(CAL)が必要になる。
OSのCALをケチって、SQL ServerのCALをケチらないわけがない。
なので、SQL Server 2008 R2 Express Editionを使用することにした。
>SQL Server 2008 R2 Express Edition のインストール
これは、マイクロソフトから無料で提供されている分、制限が結構厳しい物ですが、小規模システムだと、まあ悪くないかと思う。
主な制限は、データベースサイズが10GBまで、CPUが1基まで、RAMが1GBまで、SQL Server エージェントが無いとかそんな感じです。
データベースのサイズが10GBまで到達するような事は今までないので良いんだけど、エージェントが使えないのはちょっと痛いですね。
でもまあ、どうせサーバー上で動かすプログラムをVBで組むんだから、データベースをバックアップするSQL文を発行してやれば、それでOKかな。
バックアップするだけのプログラムを作成して、OSのタスクに登録するのも良いと思う。
クライアントからサーバーを操作するのに、これまではRealVNCを使ってたんですが、今回からリモートデスクトップを使用することにしました。
接続された方はログオフ状態になり、操作不能になってしまいますが、安定性も速度も申し分ないです。
RealVNCだと、カーソルが勝手に動くのが見え、同時に操作することも出来ます。取り合いになりますが。
余談ですが、家でサーバーとして使ってるVistaにRealVNCでアクセスするんですが、RealVNCがたまに固まるんですよね。サーバー自体は固まってないので、その場まで行って操作することは可能ですが。
それと、最近はやりのUACが表示されると操作不能になる。
その点、リモートデスクトップは安心感があります。
なので、家でもリモートデスクトップを使用することにしました。
サーバーOSで余計なサービスが立ち上がらないからなのか、最新OSだからなのか、私の使っているOSがVistaだからそう思うのか分かりませんが、起動、終了がものすごく早いです。
そういえばWindows7のクライアントマシンも起動、終了が早いので、やはり最新OSだからなのか・・・。そろそろVistaも引退かなぁ。
ちょっと詰まったとことか。メモ。
○WS2008R2FEが起動して、さあ、遊ぶぞ!と思ったら、いきなり詰まった。
まず最初に、Administratorのパスワードを入力する必要があるわけですが、いつも使っているパスワードが通らない。
ネットで検索してみると、どうもセキュリティが甘くなるパスワードが使えないらしく、アルファベットの大文字、小文字、数字、アルファベット以外の文字の4種類のうち、3種類を組み合わせる必要があるとか。メンドクセー。
ポリシーを変更することも出来るみたいだけど、一度はログオンしないといけないわけで。
>Windows Server 2008 RC1ファーストインプレッション
○VisualBasic6.0のインストールに失敗する。
VB6のインストール時に、「セットアップが DCOM ユーザー アカウントを作成できません」と出ますが、この通りにやれば大丈夫です。
要するに、Visual Studio Analyzerのチェックを外してインストールし、インストール完了後、Visual Studio Analyzerのみをインストールすると。
○VB6の起動に失敗する場合。
サーバーOSだけでなく、Windows7でも当てはまるのですが、VB6起動時に管理者として起動する、ということですね。管理者として起動しない場合、エラーが出ます。
VB6.EXEの場所は、ショートカットのプロパティから’ファイルの場所を開く’か、
64bitOSの場合は、C:\Program Files (x86)\Microsoft Visual Studio\VB98にある、VB6.EXEを右クリックしてプロパティを開き、’管理者としてこのプログラムを実行する’にチェックを入れてから起動すればOKです。
32bitOSの場合は、C:\Program Files\Microsoft Visual Studio\VB98の中です。
ただ、これにチェックを入れておけばVB6の起動自体は問題ないですが、ユーザーが標準ユーザーの場合は、Administratorのパスワードを聞いてきます。
つまり、Administrator権限がないと、プログラムを作成・変更できないって事ですね。
でも、標準ユーザーのまま、Administrator権限を使えるのは助かります。
○プログラムから、ドライブの直下にアクセス出来ない。
まあ、これはありがちですよね。
普段、Windows7やXPをAdministrator権限で使用していると、アクセス権限を意識しないので、不測の事態に陥ります。
確か、Windows7でもCドライブの直下には、プログラムからアクセスできなかった様な気はしますが。
例えば、私はZドライブをRAMDRIVEにして共有し、外部とのファイルの交換をここで行うようにしているのですが、そのZドライブにファイルを出力したいけど、プログラムからアクセスすると、アクセス出来ない場合があります。
ログオン中のユーザーが、Administrator権限を持っていれば大丈夫かもしれませんが、標準ユーザーを作成して使用している場合、ドライブの直下のアクセス権限がないのです。
その場合は、そのドライブのセキュリティに、その標準ユーザーを登録して、フルコントロールなり適当なチェックを入れてやればOKです。
外部からのアクセスの場合も同様です。
外部からのアクセス用のユーザーを、共有に登録してやればOKです。
○サーバー上のSQL Serverに外部からアクセス出来ない。
んですよね、デフォルトでは。
私はSQL Server2000ばかりを使用していたので知らなかったんですが。
(Expressだから?と勘違いして焦りましたが、そういった記述はネット上のどこにも見当たらなかった。)
どうも2003以降、そうなってるみたいです。
こちらを参考にして、解決しました。
ファイアウォールにポート1433を許可、SQL Server Browserサービスの起動、TCP/IPの有効化です。これでOKでした。
しかし、データベースをネットワークで使用できないのがデフォルトって、どうなん?
○MySQLからSQL Serverへの移行。
現在、MySQLを使用して動いているシステムがあって、同時にSQL Serverに移行することになったんですが、
MySQLからSQL Server2000には、普通にインポートが使えたので心配してなかったんですが、2008では、そもそもMySQLのMySQL ODBC 3.51 Driverが出てこないんですよね。
なので、仕方なく、MySQLyog でデータベースの各テーブルをSQL形式でエクスポートし、内容をSQL Serverに合わせ、クエリで実行するという、原始的なやり方で出来ました。
データ量がそんなに無かったので良かったですが。
もっと頭の良いやり方があるみたいなんですが、どうにも難しいですねぇ。
それにしても、intで定義してあるのに、エクスポートするとdoubleになってしまうのはなぜかな。
○データベースの定期バックアップが取れない。
上述のとおり、SQL Server 2008 R2 Express Editionにはエージェントがないため、定期バックアップを自動で取る場合、何らかの手段が必要になります。
ただ、バックアップを取るためのスクリプトは作成してくれるので、それをプログラムから実行するだけでバックアップできるので、それほど不便ではない。
操業中にいきなりバックアップを始められることを考えたら、こちらのタイミングで実行出来る分、良いのかもしれない。
スクリプトの作成は、Microsoft SQL Server Management Studioで、バックアップを作成したいデータベース上で、右クリック、タスク、バックアップを起動する。
データベースのバックアップ画面で、ファイルの保存先や、追記、上書き等の設定を行ったら、上部のスクリプトのアイコンを押すか、ファイルに保存等を選択する。
それで生成されたSQL文をクエリで実行してみて、ちゃんと作成されればOKです。
あと、バックアップを定期的に取る必要性についてですが、単純にコピーを作成する以外に、トランザクション ログの切り捨てを行うためでもあります。
定期的にログの切り捨てを行わないと、データベースにアクセスするたびにその履歴が蓄積していき、データベースを圧迫します。
あと、バックアップはデータベースと同じハードディスクに取っても、壊れたら同時に失われて意味が無いので、USBメモリとかに取るほうが良いです。時間はかかりますが。
でも、データベースのバックアップのオプションを見ると、「トランザクション ログの切り捨て」項目が選択できないんだけど、ちゃんと切り捨てられてるんだろうか。単純(変更不可)、完全バックアップで上書きの設定なので、大丈夫だと思うんだけど。
こんなとこですかねぇ、相変わらず各サイト様には助けていただいてばかりです。
少しでもこのサイトが役に立って、インターネット難民が減れば幸いです。
内容に間違いがあったばあいは、スミマセン。
| 固定リンク
この記事へのコメントは終了しました。
コメント