2011-01-18 6 views
2

一時テーブル#fooを作成し、そのテーブルで何かを行うための権限を与えるSQLロールに権限を与えたい(SELECT、INSERT、DELETE )。 #fooテーブルが作成されていない場合(このロールに属するユーザーがテーブルを作成して管理する場合)はどうすれば可能ですか?一時テーブルの作成と管理のためにSQLロールへのアクセス権を付与する方法

おかげ

注:可能な場合は、解決策は、SQL 2008とSQL Azureの両方で動作するはずです。

+0

AFIKのすべてのログインには、#tempテーブルを作成してCRUDを実行する権限があります。 –

答えて

0

AUTHORIZATION dboで作成したユーザーは、一度データベースに接続すると、テンポラリテーブルを作成して管理する権限が既に付与されているようです。このユーザーがデータベース内の他のテーブルにアクセスする必要がある場合にのみ、そのユーザーに明示的なアクセス許可が必要です。

2

あなたがすることはできません。テーブルを作成しセッションが終了し、他のすべてのタスクは彼らにを参照停止したとき

グローバルの一時テーブルは自動的に削除されます。タスクとテーブルの関連付けは、単一のTransact-SQLステートメントの実行中のみ維持されます。これは、作成セッションが終了したときにテーブルをアクティブに参照していた最後のTransact-SQLステートメントの完了時に、グローバル一時テーブルが削除されることを意味します。 link text

1

私はあなたが明示的にtempdb内のテーブルを作成する場合、それはセッション間で持続しますが、サーバーの再起動時に一掃されますアズールわからないけど、...

create table tempdb..authors (au_id char(11)) 

## TempTableを作成すると、グローバルに表示されますが、作成者のセッションでも終了します。

関連する問題