我有一个客户在托管服务器上有一个 SQL 数据库;调用数据库“myDatabase”。
托管公司 已锁定对象资源管理器 - 我在列出的数据库中看不到 myDatabase(我看到 tempdb 和 master)。但是,如果我“使用 myDatabase”然后“从 myTable 中选择 *”,一切正常。
由于我们无法访问对象资源管理器,因此我无法右键单击并生成脚本。我以为我可以使用 SMO 来完成我想要的,但是当我尝试类似的事情时:
Server myServer = new Server(conn);
Database myDB = server.Databases["myDatabase"];
Table myTbl = myDB.Tables["myTable"];
它失败了 - myDB 为空(当我遍历数据库集合时,正如预期的那样,我只看到 master 和 tempdb - 我可以在对象资源管理器中看到的 db)。这显然与安全有关——如果我在对象资源管理器中看不到表,它不会让我通过 SMO 访问它。任何人都对允许我生成脚本的解决方法或替代方法有任何想法?
谢谢!