1

開発環境と本番環境の 2 つの環境があります。

開発環境には本番環境とは異なるユーザー グループがありますが、データベース プロジェクトでこれを表現する良い方法はないようです。デプロイするたびに、既存のユーザーが一掃されます。本番ユーザーまたは開発ユーザーのいずれかのセットを 1 つ用意します。

適切なユーザーを作成するために SQLCMD 変数に基づいて切り替えるスクリプトを含めることを考えましたが、それはかなり厄介なようです。

データベース プロジェクトの一部が欠けているように感じます。これは、これまでどこでも発生する状況のように思われるからです。データベース プロジェクトには、さまざまな環境でさまざまなユーザー/ロール メンバーシップのセットを作成する機能がありますか?

2008R2 については、そうではないことを示す既存の質問がありますが、この機能を提供するために 2012 年にいくつかの変更があったのではないかと私は楽観的です。

4

1 に答える 1

3

残念ながら、これは SSDT に欠けている領域の 1 つです。アクセス許可とユーザーを別の方法で構築する必要があります。ここで使用した方法を書き上げました (アイデアについて Jamie Thomson に小道具を添えて): http://schottsql.blogspot.com/2013/05/ssdt-setting-different-permissions-per.html

基本的に、一連のスクリプトでアクセス許可を構築し、SQLPackage コマンドに渡される変数に応じてそれらを適用します。これにより、これらの環境で特定のスクリプトを実行しないなど、他の分野である程度の柔軟性が得られますが、最初のセットアップは面倒です.

于 2014-11-19T01:28:17.133 に答える