将Visual Studio 2015 Update 2中的SQLServer项目与数据库SQL Server 2012进行比较时,更改方向时会显示错误“目标不可用”或“源不可用”。
它曾经在几个月前正常运作。有没有解决方法?我找不到任何。
答案 0 :(得分:112)
我发现使用 username @ servername 作为连接用户名将解决Azure数据库发生时的问题。我曾经历过一段历史性的工作,没有突然停止,然后这已经为我解决了这个问题。
例如,当使用 mylogin 的登录并连接到 myserver.database.windows.net 时,如果我使用 mylogin@myserver.database。 windows.net 作为我赢得的用户名"来源不可用"问题。
答案 1 :(得分:65)
当我使用SQL Server身份验证但不保存密码时,我在Visual Studio 2017中收到此错误。我已经使用Visual Studio 15.6.3和SQL Server 12.0.5000.0
测试了这些步骤这解决了问题,但下次重新启动Visual Studio时会出现问题。
如果您想解决此错误,请按照以下方法重现错误。
答案 2 :(得分:24)
在尝试了一切之后,这对我有用:
关闭VS实例。
删除
HKEY_CURRENT_USER \ SOFTWARE \微软\ VisualStudio的\ 14.0 \ ConnectionMruList
答案 3 :(得分:16)
其他答案对我不起作用,因为我直接使用SQL Server而不是Azure,但在检查连接字符串的高级属性后,我看到身份验证设置为“未指定”,网络库为空。
我改变了它们,它再次起作用。相当奇怪,因为它让我选择连接数据库。它只是不允许我比较提供“源不可用”消息的模式。
答案 4 :(得分:9)
对我而言,\
字段中服务器IP地址末尾的server name
符号修复了它。很奇怪。
e.g。而不是10.10.10.10
我写10.10.10.10\
并且连接好了。
注意:我正在使用Visual Studio 2017。
答案 5 :(得分:1)
打开以前保存的.scmp文件时,我遇到此错误,该文件在最初创建时成功运行。
问题是由保存的连接字符串中缺少密码引起的。源使用了集成身份验证,因此VS并没有抱怨这一点。
再次选择目标连接没有帮助,可能是因为VS使用了缓存的连接字符串。
我通过将Password
参数添加到文件的连接字符串中来解决了这个问题。指定目标连接字符串的位置有两个(XPath如下所示):
/SchemaComparison/TargetModelProvider/ConnectionBasedModelProvider/ConnectionString
/SchemaComparison/SchemaCompareSettingsService/ConfigurationOptionsElement/PropertyElementName[Name='TargetConnectionString']
完成这些编辑后,我重新打开.scmp文件,比较成功运行。
答案 6 :(得分:1)
我在这里与其他答案有不同的结果。我正在使用另一个开发人员放在一起的保存比较文件。这是一个独立的SQL Server,而不是一个Azure数据库。比较有时可能起作用,而其他则不起作用(给出目标错误)。在我的情况下,保存的比较仅使用服务器名称而不使用FQDN。当我更改为FQDN时,它对我有用。我不确定问题是否还会再次出现,但我想我会添加此信息,以防其他人有用。
答案 7 :(得分:0)
当用户没有执行架构比较操作https://msdn.microsoft.com/en-us/library/jj889462(v=vs.103).aspx
所需的权限时,会出现相同的问题答案 8 :(得分:0)
我指的是通过IP的SQL服务器并给了我这个问题。 我通过DNS名称提到它,问题解决了!
不确定原因!但是,它的工作方式如下:)
答案 9 :(得分:0)
进程阻止了数据库。执行kill [spid]后,它再次起作用。
答案 10 :(得分:0)
当我在SQL Server对象资源管理器窗口中右键单击数据库名称并从那里选择Schema Compare时,我可以使用它。如果我尝试使用从“工具”菜单打开的“架构比较”窗口,它将无法工作。
答案 11 :(得分:0)
我曾尝试使用2015 Visual Studio Professional版本,但在进行SQL数据比较时遇到了此问题,当我使用主机名而不是数据库的IP地址时,它对我有用。希望这能解决这个问题。
答案 12 :(得分:0)
在VS Studio 2015中,我实际上遇到了同样的问题。 但是因为数据库在我的PC上,所以我使用的是localhost而不是计算机的实际名称。 我只是像Visual Studio本身的建议中那样手动选择了计算机服务器,并且它可以正常工作。
答案 13 :(得分:0)
尽管此页面上的某些解决方案有时对我有用,但并非始终如此。 但是我描述的这种方法在大多数情况下对我有用
指定服务器名称时,请指定协议和端口
服务器名称:tcp:my-server-name,1443
我的服务器名称是Azure BTW
答案 14 :(得分:0)
这里提供的答案中没有一个对我有用;我正在使用SQL Server和Visual Studio2017。通过将服务器的IP地址添加到主机文件中,然后在连接框中使用该主机名,可以强制进行比较。
答案 15 :(得分:0)
就我而言,我只是重新启动了机器,然后一切正常。
答案 16 :(得分:-1)
在尝试了许多不同的建议后,这对我有用。