読者です 読者をやめる 読者になる 読者になる

行レベル セキュリティ を使ってるテーブルで SSDT の配置がエラーになるときの回避方法

SSDT のバージョンが低いと出ないかも。

行レベル セキュリティ(Row-Level Security) を設定しているテーブルを SSDT で配置をすると以下の警告が出る場合があります。

SR0111:Microsoft.Rules.Data.DeploymentValidation:現在の操作はテーブル ~ に対するデータ モーションを引き起こします。このテーブルでは、ポリシー ~ によって行レベルのセキュリティが有効になっているた.め、このテーブルに対してデータ モーションを実行することはできません。

SQL Server Data Tools 16.3 Release | SQL Server Data Tools Team Blog
の Tip に載ってました。

To prevent an accidental data loss, deployment that requires data motion on a table with Row Level Security is blocked by default. To override the default behavior, use  SqlPackage.exe with option /p:AllowUnsafeRowLevelSecurityDataMovement=true.

英語のメッセージやったら検索しやすいけど、日本語のエラーメッセージはつらい。。
詳細設定の「安全でない行レベルのセキュリティ データ移動を許可する」をチェック入れるとOKです。
f:id:odashinsuke:20170407223816p:plain