質問編集履歴

2

補足

2016/07/06 00:47

投稿

hsk
hsk

スコア728

test CHANGED
File without changes
test CHANGED
@@ -87,3 +87,73 @@
87
87
 
88
88
 
89
89
  エラーメッセージでは2つの設定を行えばよいようですが、他にもどこかの設定を変える必要があるのでしょうか?
90
+
91
+
92
+
93
+ ##補足事項
94
+
95
+
96
+
97
+ - SQLServer2014 の Express Edition に公開させようとしています。
98
+
99
+ - Visual Studio が公開処理用に生成したSQLコードがプロジェクト内のbinフォルダに作られるのですが、SQL Server Management Studio (GUI のコンソール)にsaでログイン(Visual Studio からの接続と同条件)から切り貼りして流すとうまく登録されて、使えます。
100
+
101
+
102
+
103
+ ```SQL
104
+
105
+ -- :setvar DatabaseName "mydb" このような変数機能はSSMSでは使えないので、生成された生状態の$(DatabaseName)などは手編集で置き換え
106
+
107
+ -- :setvar DefaultFilePrefix "mydb"
108
+
109
+
110
+
111
+ CREATE ASSEMBLY [***]
112
+
113
+ AUTHORIZATION [dbo]
114
+
115
+ FROM 0x4D.....0000
116
+
117
+ WITH PERMISSION_SET = UNSAFE;
118
+
119
+
120
+
121
+ GO
122
+
123
+ ALTER ASSEMBLY [***]
124
+
125
+ DROP FILE ALL
126
+
127
+ ADD FILE FROM 0x4D.....0000 AS N'***.pdb';
128
+
129
+
130
+
131
+ GO
132
+
133
+ CREATE PROCEDURE [dbo].[MyProcedure]
134
+
135
+ @tableName NVARCHAR (MAX), @serverName NVARCHAR (MAX), @databaseName NVARCHAR (MAX)
136
+
137
+ AS EXTERNAL NAME [***].[StoredProcedures].[MyProcedure]
138
+
139
+
140
+
141
+ GO
142
+
143
+
144
+
145
+ -- > コマンドは正常に完了しました。
146
+
147
+
148
+
149
+
150
+
151
+ exec dbo.MyProcedure '12', '23', '34'
152
+
153
+
154
+
155
+ -- > コマンドは正常に完了しました。
156
+
157
+
158
+
159
+ ```

1

判明した点を反映

2016/07/06 00:47

投稿

hsk
hsk

スコア728

test CHANGED
@@ -1 +1 @@
1
- dboにUNSAFE ASSEMBLY権限を付与する方法を知りたい
1
+ Visual Studio よるSQL CLR公開処理で「信頼可能」がFalseに変えられてしまう
test CHANGED
@@ -66,4 +66,24 @@
66
66
 
67
67
 
68
68
 
69
+ ちなみに
70
+
71
+ ログイン登録のあるユーザーを使って
72
+
73
+ ```SQL
74
+
75
+ GRANT UNSAFE ASSEMBLY to [domain\user]
76
+
77
+ ```
78
+
79
+ としたところ成功しましたが、公開処理でまったく同じエラーになります。
80
+
81
+
82
+
83
+ そして、判明したことは
84
+
85
+ データベースのオプション「信頼可能」がTrueになっているにもかかわらず、VisualSyudioから公開処理をするとFalseに変えられてしまうことです。
86
+
87
+
88
+
69
- のような構文権限を指定ればsadboからUNSAFEなASSEMBLY登録できようになるのでしょうか?
89
+ エラーメッセージでは2つ設定を行えばいようですが、他にもどこの設定変え必要があるのでしょうか?