teratail header banner
teratail header banner
質問するログイン新規登録

質問編集履歴

2

補足

2016/07/06 00:47

投稿

hsk
hsk

スコア728

title CHANGED
File without changes
body CHANGED
@@ -42,4 +42,39 @@
42
42
  そして、判明したことは
43
43
  データベースのオプション「信頼可能」がTrueになっているにもかかわらず、VisualSyudioから公開処理をするとFalseに変えられてしまうことです。
44
44
 
45
- エラーメッセージでは2つの設定を行えばよいようですが、他にもどこかの設定を変える必要があるのでしょうか?
45
+ エラーメッセージでは2つの設定を行えばよいようですが、他にもどこかの設定を変える必要があるのでしょうか?
46
+
47
+ ##補足事項
48
+
49
+ - SQLServer2014 の Express Edition に公開させようとしています。
50
+ - Visual Studio が公開処理用に生成したSQLコードがプロジェクト内のbinフォルダに作られるのですが、SQL Server Management Studio (GUI のコンソール)にsaでログイン(Visual Studio からの接続と同条件)から切り貼りして流すとうまく登録されて、使えます。
51
+
52
+ ```SQL
53
+ -- :setvar DatabaseName "mydb" このような変数機能はSSMSでは使えないので、生成された生状態の$(DatabaseName)などは手編集で置き換え
54
+ -- :setvar DefaultFilePrefix "mydb"
55
+
56
+ CREATE ASSEMBLY [***]
57
+ AUTHORIZATION [dbo]
58
+ FROM 0x4D.....0000
59
+ WITH PERMISSION_SET = UNSAFE;
60
+
61
+ GO
62
+ ALTER ASSEMBLY [***]
63
+ DROP FILE ALL
64
+ ADD FILE FROM 0x4D.....0000 AS N'***.pdb';
65
+
66
+ GO
67
+ CREATE PROCEDURE [dbo].[MyProcedure]
68
+ @tableName NVARCHAR (MAX), @serverName NVARCHAR (MAX), @databaseName NVARCHAR (MAX)
69
+ AS EXTERNAL NAME [***].[StoredProcedures].[MyProcedure]
70
+
71
+ GO
72
+
73
+ -- > コマンドは正常に完了しました。
74
+
75
+
76
+ exec dbo.MyProcedure '12', '23', '34'
77
+
78
+ -- > コマンドは正常に完了しました。
79
+
80
+ ```

1

判明した点を反映

2016/07/06 00:47

投稿

hsk
hsk

スコア728

title CHANGED
@@ -1,1 +1,1 @@
1
- dboにUNSAFE ASSEMBLY権限を付与す方法を知りたい
1
+ Visual Studio によSQL CLR公開処理で「信頼可能」がFalseに変えられてしまう
body CHANGED
@@ -32,4 +32,14 @@
32
32
 
33
33
  とエラーになります。
34
34
 
35
+ ちなみに
36
+ ログイン登録のあるユーザーを使って
37
+ ```SQL
38
+ GRANT UNSAFE ASSEMBLY to [domain\user]
39
+ ```
40
+ としたところ成功しましたが、公開処理でまったく同じエラーになります。
41
+
42
+ そして、判明したことは
43
+ データベースのオプション「信頼可能」がTrueになっているにもかかわらず、VisualSyudioから公開処理をするとFalseに変えられてしまうことです。
44
+
35
- のような構文権限を指定ればsadboからUNSAFEなASSEMBLY登録できようになるのでしょうか?
45
+ エラーメッセージでは2つ設定を行えばいようですが、他にもどこの設定変え必要があるのでしょうか?