错误 = [Microsoft][SQL Server Native Client 10.0][SQL Server] 无法打开登录请求的服务器 'azurserver'

Error = [Microsoft][SQL Server Native Client 10.0][SQL Server]Cannot open server 'azurserver' requested by the login

我正在从 SQL 服务器连接到 Azure。

任务:使用 SQL Server 2008 R2 中的 bcp 导出 Azure SQL 数据库数据。

第 1 步:在 Azure 的防火墙设置中添加 IP 地址。

第 2 步:运行 以下脚本来自 SQL Server 2008 R2:

EXEC sp_configure N'show advanced options', 1
RECONFIGURE WITH OVERRIDE;
EXEC sp_configure N'xp_cmdshell', 1
RECONFIGURE WITH OVERRIDE;

DECLARE @SQL NVARCHAR(MAX) = ''

SET @SQL = N'Execute xp_cmdshell ''bcp "SELECT * FROM Table;" queryout "D:\AzureTableData.txt" -c -t@_@ -S azure.database.windows.net -d DatabaseName -U user1@azure.database.windows.net -P *****"''';

注意:IP 地址在我的系统中不是静态的,因此,我不断收到错误消息:

Error = [Microsoft][SQL Server Native Client 10.0][SQL Server]Cannot open server 'azurserver' requested by the login. Client with IP address 'XXX.XXX.XXX.XX' is not allowed to access the server. To enable access, use the Windows Azure Management Portal or run sp_set_firewall_rule on the master database to create a firewall rule for this IP address or address range. It may take up to five minutes for this change to take effect.

我无法每次都在 Azure 门户中配置防火墙设置。

您的意思是添加客户端 IP 不适合您,是吗?

如果想一次性连接到AzureSQL数据库,可以将防火墙IP范围设置为0.0.0.0到255.255.255.255。

但出于安全原因,我们不建议这样做。 Azure SQL 数据库暂时无法设置动态 IP 防火墙。

希望对您有所帮助。