2013-03-29 33 views
0

我有一个项目(比如PROJECT1)与下面的SQL Azure的连接字符串运行: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

为了说清楚,没有SQL数据库名称为project2。我检查了SQL Management Studio以及Silverlight SQL Azure数据库客户端。

我无法解释这一点。不知何故,Windows Azure或SQL Azure必须隐式创建数据库project2,因为我能够使用Cloud Service。必须有一些“隐藏的地方”,其中project2存储了其数据。

这是一个错误,还是我错过了什么?

回答

1

如果您试图连接到一个不存在的数据库,那么您将自动连接到master数据库,至少在我上次尝试时是这种情况。不过,master在云中是只读的,所以我希望大多数应用程序在连接到master时都会失败。 SQL数据库不会自动为你创建一个数据库,所以也不能这样做。难道你是在你的代码中陷入/沉默错误,结果你不能告诉你真的与高手有联系吗?

+0

我有同样的想法,但是再次,该应用程序能够对我在数据库工具中看不到的数据库执行CRUD操作。如果有沉默的错误,我不会有一个有数据的工作应用程序。那么,该应用程序现在在正确的数据库中,并且一切正常,所以我不打算进一步调查。 – cheeesus