ホストされたサーバー上に SQL データベースを持っている顧客がいます。データベースを「myDatabase」と呼びます。
ホスティング会社。オブジェクト エクスプローラーがロックされました - リストされたデータベースに myDatabase が表示されません (tempdb と master が表示されます)。ただし、「myDatabase を使用」してから「myTable から * を選択」すると、すべて正常に動作します。
オブジェクト エクスプローラーにアクセスできないため、右クリックしてスクリプトを生成することはできません。SMO を使用して目的を達成できるのではないかと考えましたが、次のようなことを試みると、次のようになります。
Server myServer = new Server(conn);
Database myDB = server.Databases["myDatabase"];
Table myTbl = myDB.Tables["myTable"];
失敗します-myDBはnullです(データベースコレクションを反復処理すると、予想どおり、マスターとtempdbのみが表示されます-オブジェクトエクスプローラーで表示できるdbです)。これは明らかにセキュリティに関係しています。オブジェクト エクスプローラーでテーブルが表示されない場合、SMO を介してテーブルにアクセスすることはできません。スクリプトを生成できるようにするための回避策または代替方法のアイデアはありますか?
どうも!