VS 2015中Azure SQL Server数据库无法创建表,加载卡住如何解决?
我之前在使用VS2015连接Azure SQL数据库时,也碰到过设计界面一直显示“Loading... The design surface is loading”的情况,折腾了几个办法终于解决了,给你分享下亲测有效的方案:
更新VS2015和SQL Server Data Tools(SSDT)
VS2015本身版本较老,对Azure SQL DB的兼容性会有问题,先确保你装了VS2015的最新更新包(比如Update 3)。另外,SSDT是管理SQL对象的核心工具,打开VS的「工具」->「扩展和更新」,搜索SQL Server Data Tools,安装最新适配VS2015的版本,旧版本的SSDT经常会出现Azure元数据加载超时的情况。直接用T-SQL语句创建表(绕过设计界面)
设计界面卡加载的时候,直接写SQL语句是最快捷的解决方案。在SQL Server对象资源管理器里右键点击数据库,选择「新建查询」,然后执行创建表的语句,比如:CREATE TABLE YourTableName ( ID INT PRIMARY KEY IDENTITY(1,1), Column1 NVARCHAR(100) NOT NULL, Column2 DATETIME DEFAULT GETUTCDATE() )执行成功后,刷新对象资源管理器就能看到新创建的表了,完全不用依赖设计界面。
检查Azure SQL DB的防火墙和权限设置
先确认你的本地IP地址已经添加到Azure SQL Server的防火墙规则里——有时候IP变动会导致连接不稳定,设计界面加载元数据超时。你可以登录Azure门户,找到对应的SQL Server资源,进入「防火墙和虚拟网络」选项,把当前本地IP加入允许列表。
另外,确保你用来连接的数据库账号拥有足够的权限,比如db_owner或者db_ddladmin角色,权限不足会导致设计界面无法正常读取数据库元数据。重置VS的用户设置
有时候VS的缓存或配置文件损坏会导致对象资源管理器异常,你可以尝试重置VS设置:打开命令提示符,定位到VS2015的安装目录(默认是C:\Program Files (x86)\Microsoft Visual Studio 14.0\Common7\IDE),运行:devenv.exe /ResetSettings重启VS后重新连接数据库试试,注意这个操作会重置VS的个性化设置,如果你有自定义配置,可以先通过「工具」->「导入和导出设置」导出备份。
排查网络稳定性问题
Azure SQL DB对网络延迟比较敏感,如果你的网络波动大或者延迟过高,设计界面加载元数据会超时。可以尝试切换到更稳定的网络,比如有线网络,要是有条件的话,通过Azure VPN连接到虚拟网络,能有效降低和Azure数据中心的延迟。
内容的提问来源于stack exchange,提问作者Kirill




