2009-03-12 3 views
1

は、私が2005dboスキーマ名を強制するには?私はVS 2008で「SQL Serverプロジェクト」を使用してい

すべては私が所有しているすべての作成のUDFを除いてうまく機能MS SQLサーバーにDLLを公開するコマンドを展開使用していますそして、C#の でUDFを作成します(ユーザとして) しかし、私はdboのスキーマ(例えば:dbo.UDF_TEST - jonny.UDF_TESTではなく)を保ちたいと思っていました

tharの管理方法はありますか?

答えて

1

私は "postdeployscript.sql" という名前のSQLスクリプトをプロジェクトに追加しました:。+ CURRENT_USER +」 'スキーマDBO転送を変える'

DECLARE @SQL NVARCHAR(200)

SETの@SQLを= [ UDF_GET_AUDIT_VALUE]」

がEXECUTE(@SQL)

スクリプトはdepolymentプロセスおよび変更の時VSによってautomaticcally実行されるGO現在のユーザーからDBOへのchemas。

短所:あなたは手動で

PSをceatingている各UDF/USPを追加する必要があります。あなたも返事を展開する前に

+0

あなたは手動で追加する必要はありません - "名前をsysobjectsから選択します。ここで、xtype = 'FN'"を繰り返して、データベース内のすべての関数に変更を適用します。 – SqlRyan

1

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

FROM

CREATE ASSEMBLYジオコードを「C:\ PATH \ YourUDF.dll」

PERMISSION_SET = SAFE

又は


WITH UDF プロジェクト(ソリューションではなく)に ソリューションエクスプローラのクリックでのVisual Studio内から
  1. プロパティに移動します。
  2. データベースタブをクリックします。
  3. 接続 文字列を変更し、アセンブリ の変更もここで行うことができます。私はVSの内部ですべてを行うことができ、別のアプローチを見つけた
+0

おかげで、いくつかのcommmandsを実行するためにpredeployscript.sqlを使用することができますのでご注意ください。 私はADとWindows認証を使用することを余儀なくされています。 私はdboとして簡単にログできません 私はあなたが言及した2番目のオプションをprefrerしたいと思います。生憎それは私が間違ってやっている何 を助けるのdidnt - advicedように私は、SQL Serverプロジェクトは、そのプロパティで私は、アセンブリの所有者に「DBO」を入力したきた ? – Maciej

+0

あなたはdboの所有権を持つオブジェクトを設定できるようにするために、データベース上でsysadminにする必要があります –

+0

Unfortunatelly私はsysadminではありません - 私は開発者... – Maciej

関連する問題