- PR -

DBCC dllname(FREE)でのフルパス指定

1
投稿者投稿内容
馬車馬
会議室デビュー日: 2004/12/07
投稿数: 13
投稿日時: 2005-10-25 14:40
いつもお世話になります。

現在拡張ストアドプロシージャを使って開発を行っています。
拡張ストアドプロシージャは
C:\Program Files\Microsoft SQL Server\MSSQL\Binn
配下ではなく、任意のパスをsp_addextendedprocで指定できるようにしています。
sp_addextendedproc、sp_dropextendedprocは正常に動き、
処理自体も順調に動作しています。

この度、ユーザからの要望で、SQLServerを再起動しなくても
DLLファイルを削除できるようにしてほしいとのことで
DBCC dllname(FREE)コマンドによるDLLアンロードを行おうとしているのですが
dllnameにフルパスを指定することが出来ません。

DBCC C:\AAA\bin\Test(FREE)
→「'C:' の近くに無効な構文があります。」
DBCC 'C:\AAA\bin\Test'(FREE)
DBCC N'C:\AAA\bin\Test'(FREE)
→「'C:\AAA\bin\Test' の近くに無効な構文があります。」のエラーになります。

試しに
exec sp_addextendedproc N'xp_test', N'Test.dll'
として
C:\Program Files\Microsoft SQL Server\MSSQL\Binn\
配下にTest.dllを配置したところ、ロードされた後に
DBCC Test(FREE)
でSQLServerの再起動なしにTest.dllファイルを削除することが出来ました。

dllnameにフルパスを指定するにはどうしたらよいのでしょうか?

ご存知の方がいらっしゃいましたら是非ご享受下さい。
よろしくお願い致します。
1

スキルアップ/キャリアアップ(JOB@IT)