科学の箱

科学・IT・登山の話題

SQLServer

ユーザーマッピングをSQLで取り出す方法

投稿日:

SQLサーバーではログインユーザーをデータベースユーザーにマッピングする。データベース移行時にはあらかじめログインユーザーを移行先で作成するか、移行後にマップしなおす必要がある。

この時にログインユーザーがどのデータベースにマッピングしているかを確認する必要がある。画面としては下記のように取得ができるが、SQLで取得できればテキストで保存できる。

usermapping

以下のようなSQLで一覧を取得できる。

 CREATE TABLE #tempww (
    LoginName nvarchar(max),
    DBname nvarchar(max),
    Username nvarchar(max), 
    AliasName nvarchar(max)
)

INSERT INTO #tempww 
EXEC master..sp_msloginmappings

-- display results
SELECT * 
FROM   #tempww 
ORDER BY dbname, username
-- cleanup
DROP TABLE #tempww

データはSP経由で取得するので一時テーブルに保管している。ここでは一時テーブルを削除しているがセッションが切れれば自動で削除される。またこのSQLの実行にはsysadmin権限が必要となる。

参考

メタ情報

inarticle



メタ情報

inarticle



-SQLServer
-

執筆者:


comment

メールアドレスが公開されることはありません。 * が付いている欄は必須項目です

関連記事

no image

SQL文を実行前に正しいか確認する方法

SQL文を実行する前に句があっているかを確認したいことがある。 F5を押すとSQL文が実行されるCTRL + F5でSQLのパースだけされ、実行はされない。この時文に間違いがあれば指摘される。 &nb …

no image

SQLServerでCPUおよびメモリが足りなくなった時の確認方法

SQLServerの監視ツールからCPUおよびメモリの使用比率が高いという警告が来た。 サーバーにログインしてタスクマネージャから確認すると確かに高い。 プロセスを確認するとSQL Serverのプロ …

no image

トランザクションログの消去

長期間データベースを使っているとトランザクションログがたまりディスクスペースを圧迫する。この時にはログファイルを消去するとよい。 データベースのシュリンク USE [YOUR_DB_NAME] GO …

no image

databaseのロックを取得できないときの手順

データベースのロックが取得できないときには、何らかのプロセスがロックをかけている。 データベースにかかっているロックからプロセスを取得する USE master  SELECT * FROM sys. …

no image

SQL Server Agentが見えない件

SQL Server AgentがSSMから見えないデータベースがあった。   権限の問題であることがわかった。 Could not find the Server Agent in SSM …

2014年11月
« 10月   12月 »
 12
3456789
10111213141516
17181920212223
24252627282930

side bar top



アーカイブ

カテゴリー