質問

" SQL SERVER PROJECT"を使用していますVS 2008でC#でUDFを作成する 次に、DEPLOYコマンドを使用してDLLをMS SQL Server 2005に公開しています

作成されたすべてのUDFが自分(ユーザーとして)によって所有されていることを除いて、すべて正常に動作します。 しかし、私はdboスキーマを保持したかった(例:jonny.UDF_TESTではなくdbo.UDF_TEST)

タールの管理方法はありますか?

役に立ちましたか?

解決 2

VS内ですべてを実行できる別のアプローチを見つけました。

" postdeployscript.sql"という名前のプロジェクトSQLスクリプトに追加しました:

DECLARE @SQL NVARCHAR(200)

SET @SQL = 'alter schema dbo transfer' + CURRENT_USER + '。[UDF_GET_AUDIT_VALUE]'

EXECUTE(@SQL)

GO

スクリプトは、脱退プロセス中にVSによって自動的に実行され、スキーマを現在のユーザーからDBOに変更します。

短所:手動で停止する各UDF / USPを追加する必要があります

PS:predeployscript.sqlを使用して、展開前にいくつかのコマンドを実行することもできます

他のヒント

sysadminまたはデータベースのdboであるアカウントからUDFを展開します。 dllをビルドしてから、データベースにdboとして管理スタジオにログインし、これらのコマンドを実行することにより、手動で展開できます。

  

アセンブリのジオコードの作成元

     

'C:\ PATH \ YourUDF.dll' WITH

     

PERMISSION_SET = SAFE

または

  1. のVisual Studio内から ソリューションエクスプローラーUDFをクリックします プロジェクト(ソリューションではありません)。
  2. プロパティに移動します。
  3. データベースタブをクリックします。
  4. 接続を変更できます 文字列、およびアセンブリも変更します ここに所有者。
ライセンス: CC-BY-SA帰属
所属していません StackOverflow
scroll top