我有一个项目(比如 project1 ),该项目使用以下SQL Azure连接字符串运行:
Server=tcp:....database.windows.net,1433;Database=project1;User ID=...
数据库 project1 存在且project1上的所有内容都运行良好。
然后我正在开发第二个项目( project2 ),并将其作为Azure中的第二个Cloud Service上传。我打算在不同的模式下将数据存储在数据库 project1 中(因为有一个合并这两个项目的计划),但是我意外地使用以下连接字符串部署了项目:
Server=tcp:....database.windows.net,1433;Database=project2;User ID=...
project2上的所有内容都运行良好,但后来我注意到数据库 project1 中的project2表是空的,尽管我已经在云服务中输入了数据。然后我注意到连接字符串指向数据库 project2 。
为清楚起见,没有名为 project2 的SQL数据库。我检查了SQL Management Studio以及Silverlight SQL Azure数据库客户端。
我无法解释这一点。不知何故,Windows Azure或SQL Azure必须隐式创建数据库 project2 ,因为我能够使用Cloud Service。必须有一些“隐藏的地方”,其中project2存储了它的数据。
这是一个错误,还是我错过了什么?
答案 0 :(得分:1)
如果您尝试连接到不存在的数据库,您将自动连接到master数据库,至少我上次尝试的情况是这样。但是,master在云中是只读的,所以我希望大多数应用程序在连接到master时都会失败。 SQL数据库不会自动为您创建数据库,因此也不能。可能是你在代码中捕获/沉默错误,结果你无法告诉你真的与主人有联系吗?