トップページへ PASSJ ブログへ
トップページへ
分科会
特集!
コミュニケーション
資格
セミナー・コンファレンス
インフォメーション
3. osqlコマンドによるストアドプロシージャの実行方法

SQL Server製品の中にはグラフィカルなシステム管理ツールが付属しますが、MSDE製品にはありません。そのかわりコマンドベースのosqlコマンドが導入されます(SQL Server製品の方でも、osqlコマンドがインストールされます)。

システムストアドプロシージャなどのTransact-SQL文をデータベースサーバーに実行させるときは、このosqlコマンドを使います。

MSDEやSQL Server7の場合は、
C:\Mssql7\Binn\osql.exe

MSDE2000やSQL Server2000の場合は、
C:\Program Files\Microsoft SQL Server\80\Tools\Binn\osql.exe

の場所に、osqlコマンドがあります。

データベースサーバーがインストールされたサーバーマシン上で、MS-DOSプロンプトやコマンドプロンプトを立ち上げて、キーボードから

C:\>osql 改行

と入力してください(図5)。何かosqlコマンドの反応があれば、コマンド検索パスが正しい状態になっています。


図5 osqlコマンドの反応がある。環境変数PATHは正しい。

ところが図6のようにosqlコマンド自身が起動できない場合があります。このようなエラーメッセージが表示された場合は、osqlコマンドがインストールされた場所に対するコマンド検索パスが設定されておりません。コマンド検索パスを図7のように、手動で設定します。


図6 osqlコマンドの起動に失敗した。環境変数PATHの設定がおかしい。


図7 環境変数PATHの設定

Windows95系の場合、長いパス文字列はダブルクォーテーションで囲ってください。
SET PATH=C:\Windows;"C:\Program Files\Microsoft SQL Server\80\Tools\Binn"


図8 osqlコマンドによるパスワードの変更の方法


図9 WindowsNT統合認証の場合は、-Uスイッチは使えない

データベースサービスが起動していることを確認し、図8のように、osqlコマンドを実行してください。saログインパスワードが変更されます。

osql -S ASTAR -Q"exec sp_password null,'NewPassWord','sa'" -U sa -P

-S 接続先データベースサーバー名
データベースサーバーが動作しているコンピュータ名を書いてください。ここではASTARコンピュータにデータベースサーバーが動作しています。

-Q "実行するTransact-SQL言語命令"
データベースサーバーで実行するクエリ文を書きます。ここではsaログインのパスワードを変更するクエリを書きます。

-U ログイン名
データベースサーバーに接続するときのログイン名を書きます。ここではsaログインで接続を行います。

-P パスワード
ログインパスワードを書きます。パスワードが無設定(省略状態)のときは、-Pとします。


-Qスイッチが無いときは、osqlコマンドはユーザとの対話実行モードで起動されます。
Transact-SQL文を入力して改行キーを押してください。

入力されたSQL文をデータベースサーバーに送信してそれを実行させる合図がGO命令です。


【Windows NT認証だけを認めるサーバーの場合】
データベースサーバーへのログイン認証が、Windows NT統合認証セキュリティモードになっている場合は、-Uスイッチを使ってログイン名を指定することはできません。
図9のようにログインが失敗します。

この場合は、-Eスイッチを付けて、osqlコマンドを実行します。

Windows NT統合認証セキュリティモードになっている場合でも、saログイン名に念のためパスワードを付けておきましょう。万が一、認証モードが変更された場合の危険性があります。

セキュリティ認証モードについては、連載第1回目の9節第1回目のコラムを参照ください。


<< 前へ次へ >>
◆PAGE LINK  |  |  |  |  |  |  |  |  |  

PASSJメールニュース 著作権ついて プライバシーポリシー リンクポリシー お問い合わせ
(C) 2005 Professional Association for SQL Server Japan. All rights reserved.