SQLServer ロール

ロールとは?

権限が定義されたグループ
ユーザーをロールに追加する事で複数のユーザーの役割を一括して管理できる
・サーバーロール
サーバーを範囲とする権限グループ。追加不可。
・データベースロール
データベースを範囲とする権限グループ。追加可。

データベースロール

public

全ユーザーが所属するデータベースロール

db_owner

DB内の全権限を保有
略してdbo

db_accessadmin

ユーザの追加・削除が可能

db_securityadmin

権限、オブジェクト所有権、データベースロール、ロールメンバシップの管理が可能

db_datareader

全テーブルの参照可能

db_datawriter

全テーブルへの追加・更新・削除可能

db_denydatareader

全テーブルの参照不可

db_denydatawriter

全テーブルへの追加・更新・削除不可

サーバーロール

public

全ユーザーが所属するサーバーロール

sysadmin

サーバー内の全ての操作を実行可能。

serveradmin

・サーバー全体の構成オプション変更
・サーバーのシャットダウン

securityadmin

ログイン関連プロパティを管理。
・サーバーレベルの権限の許可/拒否/禁止
・データベースレベルの権限の許可/拒否/禁止
・SQLServerログインのパスワードのリセット

BCPユーティリティ

概要

MicrosoftSQLServerからデータを入力/出力するプログラム
プログラム保存場所例
C:\Program Files\Microsoft SQL Server\110\Tools\Binn\BCP.exe
コマンドプロンプトから実行する。
(コマンドプロンプトを管理者権限で起動する必要あり)

使用方法

カレントディレクトリへ移動
CD C:\Program Files\Microsoft SQL Server\110\Tools\Binn

データをエクスポート

【Windows認証】
bcp DB名.dbo.テーブル名 out 出力ファイルパス\ファイル名.txt -c -S サーバー名\インスタンス名 -T
【SQLServer認証】
bcp DB名.dbo.テーブル名 out 出力ファイルパス\ファイル名.txt -c -S サーバー名\インスタンス名 -U ユーザID -P パスワード
bcp MyDB.dbo.MyTable out D:\Output.txt -c -S OFFICE-YONE\SQLEXPRESS -T

データをインポート

bcp DB名.dbo.テーブル名 in 出力ファイルパス\ファイル名.txt -c -S サーバー名\インスタンス名 -T
bcp MyDB.dbo.MyTable in D:\Input.txt -c -S OFFICE-YONE\SQLEXPRESS -T

ストアドプロシージャからのBCP実行

EXECUTE master.dbo.xp_cmdshell ‘BCP ~’