SQL ServerとAzureをほぼ2年間使用していて、問題は発生していません。何らかの理由で、SSMSからAzureデータベースに接続しようとすると、次のエラーが発生します。私は見つけることができるすべてを試しました:接続タイムアウトの延長、開いているファイアウォールポート1433の確認、電話のホットスポットを使用したインターネット接続の確立、パブリックおよびプライベートファイアウォールのオフ(一時的にテスト用)...違いはありません。 Azure BASICサービスを利用していますが、データベースにはテスト用のダミー情報しかありません。
Azureポータルのすべてが正常に見えます。エラーや機能停止は見つかりません。私が奇妙だと思った唯一のことは、私のサーバーが「西ヨーロッパ」にあることです(私はフロリダにいます)。そして、私のストレージアカウントは「米国東部」にあります。多分それは珍しいことではありませんか?
Microsoft SQL Server Management Studio
------------------------------
Error connecting to 'gobo.database.windows.net'.
------------------------------
ADDITIONAL INFORMATION:
Failed to retrieve data for this request. (Microsoft.SqlServer.Management.Sdk.Sfc)
------------------------------
An exception occurred while executing a Transact-SQL statement or batch. (Microsoft.SqlServer.ConnectionInfo)
------------------------------
A transport-level error has occurred when receiving results from the server. (provider: TCP Provider, error: 0 - An existing connection was forcibly closed by the remote Host.) (Microsoft SQL Server, Error: 10054)
------------------------------
An existing connection was forcibly closed by the remote Host
接続してデータテーブルに対してクエリを正常に実行できるAzure Data Studioでテストを試しましたが、サーバーリストを展開してデータベースを表示しようとすると、次の結果が得られました。
Microsoft.SqlServer.Management.Common.ExecutionFailureException: An exception occurred while executing a Transact-SQL statement or batch. ---> System.Data.SqlClient.SqlException: A transport-level error has occurred when receiving results from the server. (provider: TCP Provider, error: 0 - The specified network name is no longer available.) ---> System.ComponentModel.Win32Exception: The specified network name is no longer available
--- End of inner exception stack trace ---
at Microsoft.SqlServer.Management.Common.ConnectionManager.ExecuteTSql(ExecuteTSqlAction action, Object execObject, DataSet fillDataSet, Boolean catchException)
at Microsoft.SqlServer.Management.Common.ServerConnection.GetExecuteReader(SqlCommand command)
--- End of inner exception stack trace ---
at Microsoft.SqlServer.Management.Common.ServerConnection.GetExecuteReader(SqlCommand command)
at Microsoft.SqlServer.Management.Smo.ExecuteSql.GetDataReader(String query, SqlCommand& command)
at Microsoft.SqlServer.Management.Smo.DataProvider.SetConnectionAndQuery(ExecuteSql execSql, String query)
at Microsoft.SqlServer.Management.Smo.ExecuteSql.GetDataProvider(StringCollection query, Object con, StatementBuilder sb, RetriveMode rm)
at Microsoft.SqlServer.Management.Smo.SqlObjectBase.FillData(ResultType resultType, StringCollection sql, Object connectionInfo, StatementBuilder sb)
at Microsoft.SqlServer.Management.Smo.SqlObjectBase.FillDataWithUseFailure(SqlEnumResult sqlresult, ResultType resultType)
at Microsoft.SqlServer.Management.Smo.SqlObjectBase.BuildResult(EnumResult result)
at Microsoft.SqlServer.Management.Smo.DatabaseLevel.GetData(EnumResult res)
at Microsoft.SqlServer.Management.Sdk.Sfc.Environment.GetData()
at Microsoft.SqlServer.Management.Sdk.Sfc.Environment.GetData(Request req, Object ci)
at Microsoft.SqlServer.Management.Sdk.Sfc.Enumerator.GetData(Object connectionInfo, Request request)
at Microsoft.SqlServer.Management.Smo.ExecutionManager.GetEnumeratorDataReader(Request req)
at Microsoft.SqlServer.Management.Smo.SqlSmoObject.GetInitDataReader(String[] fields, OrderBy[] orderby)
at Microsoft.SqlServer.Management.Smo.SqlSmoObject.ImplInitialize(String[] fields, OrderBy[] orderby)
at Microsoft.SqlServer.Management.Smo.SqlSmoObject.Initialize(Boolean allProperties)
at Microsoft.SqlServer.Management.Smo.SqlSmoObject.OnPropertyMissing(String propname, Boolean useDefaultValue)
at Microsoft.SqlServer.Management.Smo.PropertyCollection.RetrieveProperty(Int32 index, Boolean useDefaultOnMissingValue)
at Microsoft.SqlServer.Management.Smo.Database.get_IsSqlDw()
at Microsoft.SqlTools.ServiceLayer.ObjectExplorer.SmoModel.DatabaseTreeNode.EnsureContextInitialized() in D:\a\1\s\src\Microsoft.SqlTools.ServiceLayer\ObjectExplorer\SmoModel\DatabaseTreeNode.cs:line 32
at Microsoft.SqlTools.ServiceLayer.ObjectExplorer.SmoModel.SmoTreeNode.GetContext() in D:\a\1\s\src\Microsoft.SqlTools.ServiceLayer\ObjectExplorer\SmoModel\SmoTreeNode.cs:line 98
at Microsoft.SqlTools.ServiceLayer.ObjectExplorer.Nodes.TreeNode.GetContextAs[T]() in D:\a\1\s\src\Microsoft.SqlTools.ServiceLayer\ObjectExplorer\Nodes\TreeNode.cs:line 310
at Microsoft.SqlTools.ServiceLayer.ObjectExplorer.SmoModel.DatabaseTreeNode.PopulateChildren(Boolean refresh, String name, CancellationToken cancellationToken) in D:\a\1\s\src\Microsoft.SqlTools.ServiceLayer\ObjectExplorer\SmoModel\DatabaseTreeNode.cs:line 46
at Microsoft.SqlTools.ServiceLayer.ObjectExplorer.Nodes.TreeNode.Expand(String name, CancellationToken cancellationToken) in D:\a\1\s\src\Microsoft.SqlTools.ServiceLayer\ObjectExplorer\Nodes\TreeNode.cs:line 248
at Microsoft.SqlTools.ServiceLayer.ObjectExplorer.ObjectExplorerService.<>c__DisplayClass36_0.<QueueExpandNodeRequest>b__0(IBindingContext bindingContext, CancellationToken cancelToken) in D:\a\1\s\src\Microsoft.SqlTools.ServiceLayer\ObjectExplorer\ObjectExplorerService.cs:line 440
at Microsoft.SqlTools.ServiceLayer.LanguageServices.BindingQueue`1.<>c__DisplayClass34_2.<ProcessQueue>b__1() in D:\a\1\s\src\Microsoft.SqlTools.ServiceLayer\LanguageServices\BindingQueue.cs:line 352
私は完全に途方に暮れています。これに10時間以上費やしましたが、進捗はありません。任意の助けいただければ幸いです。私は独学で使用するのに十分理解していますが、詳細なデバッグを行うのに十分な経験はありません...
私はsqlcmdをインストールし、サーバーに接続してデータベースに対してクエリを実行することができましたが、それが問題について何を教えているのかわかりません。
誰かが同様の問題に遭遇した場合... MSFTを使用して電話で1.5時間後、解決策なしでSSMSとVSの両方を再インストールします。マシンを再フォーマットして再インストールしたところ、すべてが正常に機能しました。システムに何が入ったのかはわかりませんが、なくなってしまいました。素晴らしいソリューションではありませんが、それがうまくいきました。
更新:問題が再度発生し、さらに4回の「再フォーマット」の後、問題の根本は私のマシンのネットワークドライバーでした。 Windows Updateで最新のドライバーがインストールされていると報告されましたが、製造元のWebサイトに、問題を解決したと思われる新しいドライバーがありました。
製品タイプ:Killer(R)Wireless-AC 1550ワイヤレスネットワークアダプター(9260NGW)160MHz製品タイプ:Killer E2500ギガビットイーサネットコントローラー
オペレーティングシステム:Windows 10 Pro 64ビット(10.0、ビルド17763)(17763.rs5_release.180914-1434)システムメーカー:Alienware BIOS:1.6.5(タイプ:UEFI)
時間がかかりすぎるインデックスの作成で同様の問題がありました。 SSMSでは機能しませんでした。AzureData Studioで機能しました。