sqlcmd ユーティリティ
- 作者: 松本美穂,松本崇博
- 出版社/メーカー: ソシム
- 発売日: 2016/07/26
- メディア: 単行本
- この商品を含むブログ (1件) を見る
SQLCMDの引数
引数 |
内容 |
---|---|
-U | ログイン ID を指定します。 |
-P | ログイン ID のパスワードを指定します。 |
-S | サーバー名または接続文字列を指定します。 |
-E | ログイン ID とパスワードを指定する代わりに Windows 認証接続を行います。-Eを –U や –P と同時に使用するとエラーメッセージが表示されます。 |
-d | SQLCMD 起動後に接続するデータベースを指定します。 |
-q | 指定されたクエリを実行します。実行終了後は SQLCMD のプロンプトが表示されます。 |
-Q | 指定されたクエリを実行します。複数のファイルの指定が可能です。 |
-t | クエリタイムアウトを指定します。 |
-i | Transact-SQL ステートメントが記述されたスクリプトファイルを指定します。複数のファイルの指定が可能です。 |
-o | SQLCMD の出力先のファイルを指定します。指定されない場合は標準出力に出力します。 |
-v | SQLCMD スクリプトで使用される変数を指定します。var = value の形式で指定します。 |
-A | 管理者接続モードで接続します。 |
主なSQLCMDのコマンド
コマンド | 内容 |
---|---|
:reset | Transact-SQL のキャッシュをクリアします。 |
:ed | 現在または最後に実行されたステートメント キャッシュを編集します。編集するエディタは SQLCMDEDITOR 環境変数で定義します。 |
:connect | SQL Server インスタンスに接続します。 |
:out | |
:r | |
:!! | |
[:]quit | SQLCMD を終了します。 |
[:]exit | SQLCMD を終了します。 |
[:]exit | ( |
:setvar | <変数名> <値> 変数を設定します。設定された変数は ${変数名} で参照することができます。 |
:serverlist | SQL Server の一覧を表示します。 |
:help | すべてのコマンドの説明を表示します。 |
定義済みスクリプト変数
コマンド | 内容 |
---|---|
SQLCMDUSER | ログイン ID を指定します。(-U) |
SQLCMDPASSWORD | パスワードを指定します。(-P) |
SQLCMDSERVER | 接続するサーバー インスタンスを指定します。(-S) |
SQLCMDDBNAME | 接続するデータベースを指定します。(-d) |
SQLCMDLOGINTIMEOUT | ログインのタイムアウトを指定します。(-l) |
SQLCMDSTATTIMEOUT | クエリのタイムアウトを指定します。(-t) |
SQLCMDHEADERS | クエリ結果のヘッダーを何行ごとに表示させるかを指定します。(-h) |
SQLCMDCOLSEP | 列の区切り文字を指定します。(-s) |
SQLCMDCOLWIDTH | 列の表示幅を指定します。(-w) |
SQLCMDERRORLEVEL | エラー レベルを指定します。(-m) |
SQLCMDEDITOR | :ed コマンドでキャッシュを編集するエディタを指定します。 |
SQLCMD の起動・終了、クエリ実行、入出力ファイルの指定
■SQL SERVER認証 SQLCMD -S <server_name> -U <login_id> -P <password> 例)SQLCMD -S localhost\SQLExpress -U sa -P sa ■Windows認証 SQLCMD -S <server_name> -E 例)SQLCMD -S localhost\SQLExpress -E
batファイル
【workstart.bat】
SET SQLCMDSERVER=VAIO-RA50\SQLEXPRESS SET SQLCMDDBNAME=Test SQLCMD -U sa -P sa -i work.sql
【work.sql】
select * from T_USER GO EXIT
SQLCMDデータベース構築
- データベース作成 (CreateDataBase.sql、"Shift-JIS"で保存)
USE master GO CREATE DATABASE SELFDB ON PRIMARY ( NAME = selfdb_dat, FILENAME='C:\Program Files\Microsoft SQL Server\MSSQL.1\MSSQL\Data\selfdb.mdf', SIZE = 10MB) LOG ON ( NAME = selfdb_log, FILENAME='C:\Program Files\Microsoft SQL Server\MSSQL.1\MSSQL\Data\selfdb.ldf', SIZE = 10MB) GO PRINT 'SELFDB データベースを作成しました。'
- ログイン作成 (CreateLogin.sql、"Shift-JIS"で保存)
CREATE LOGIN SELFLOGIN WITH PASSWORD = 'selfstudy', DEFAULT_DATABASE=SELFDB, DEFAULT_LANGUAGE=JAPANESE PRINT 'SELFLOGIN ログインを作成しました。'
- ユーザー作成 (CreateUser.sql、"Shift-JIS"で保存)
USE SELFDB GO CREATE USER SELFUSER FOR LOGIN SELFLOGIN WITH DEFAULT_SCHEMA=dbo GO sp_addrolemember 'db_owner','SELFUSER' GO PRINT 'SELFUSER ユーザーを作成しました。'
- テーブル作成 (CreateTable.sql、"Shift-JIS"で保存)
USE SELFDB GO CREATE TABLE Address( AddressID int NOT NULL PRIMARY KEY, AddressLine1 varchar(60), AddressLine2 varchar(60), City varchar(30), PostalCode varchar(15) NOT NULL, ModifiedDate datetime NOT NULL DEFAULT (getdate()) ) GO PRINT 'ADDRESS テーブルを作成しました。'