我试过试过,不能被链接.我可以使用SSMS连接到服务器,但无法从本地服务器链接到该服务器.这是我的脚本(用括号中的东西代替以下信息):
EXEC master.dbo.sp_addlinkedserver @server = N'[servername].database.windows.net',@srvproduct = N'Any',@provider = N'MSDAsql',@datasrc = N'Azure_ODBC1' GO EXEC master.dbo.sp_addlinkedsrvlogin @rmtsrvname = N'[servername]',@useself = N'False',@locallogin = NULL,@rmtuser = N'[username]',@rmtpassword = '[password]' GO
解决方法
如ckarst第二个链接中所指定的,有一个解决方案可行.我在这里发贴,为您节省了搜索的麻烦.根据JuanPableJofre在本页
Azure feedback中的建议:
Using sql 2014,I was able to do a distributed query between a local sql server and a sql Azure.
First,I created a Linked-Server:
>链接服务器(名称):LinkedServerName
>提供者:sql Server的Microsoft OLE DB提供程序
>产品名称:(空白)
>数据源:azure-db.database.windows.net
>提供者字符串:(空白)
>位置:(空白)
>目录:db-name
In security options: (*)
>使用此安全上下文
>远程登录:azure-user-name
>密码:yourPassword
In SSMS entered the following test query:
use [Local_DB] go Select * from [LinkedServerName].[RemoteDB].[dbo].[Remote_Table]
It worked beautifully !!
总而言之,链接服务器是在本地数据库上创建的.目录(数据库名称)很重要,因为Azure可能不允许您在查询中指定它(即:在Azure上使用azureDBName将不起作用),因此数据库名称必须在目录中.