Warning: file_get_contents(/data/phpspider/zhask/data//catemap/7/sql-server/24.json): failed to open stream: No such file or directory in /data/phpspider/zhask/libs/function.php on line 167

Warning: Invalid argument supplied for foreach() in /data/phpspider/zhask/libs/tag.function.php on line 1116

Notice: Undefined index: in /data/phpspider/zhask/libs/function.php on line 180

Warning: array_chunk() expects parameter 1 to be array, null given in /data/phpspider/zhask/libs/function.php on line 181

Warning: file_get_contents(/data/phpspider/zhask/data//catemap/6/ant/2.json): failed to open stream: No such file or directory in /data/phpspider/zhask/libs/function.php on line 167

Warning: Invalid argument supplied for foreach() in /data/phpspider/zhask/libs/tag.function.php on line 1116

Notice: Undefined index: in /data/phpspider/zhask/libs/function.php on line 180

Warning: array_chunk() expects parameter 1 to be array, null given in /data/phpspider/zhask/libs/function.php on line 181
Sql server VS SQL Server数据库项目(SSDT)将项目架构与具有链接服务器/服务器变量的数据库进行比较_Sql Server_Visual Studio 2015_Sql Server Data Tools_Database Project - Fatal编程技术网

Sql server VS SQL Server数据库项目(SSDT)将项目架构与具有链接服务器/服务器变量的数据库进行比较

Sql server VS SQL Server数据库项目(SSDT)将项目架构与具有链接服务器/服务器变量的数据库进行比较,sql-server,visual-studio-2015,sql-server-data-tools,database-project,Sql Server,Visual Studio 2015,Sql Server Data Tools,Database Project,我有一个VS SQL Server项目,其中链接了服务器。 链接服务器被添加为参考数据库(.dacpac),数据库位置设置为“不同的数据库,不同的服务器”。 我删除了数据库变量,但VS不允许我删除服务器变量。 因此,我使用$(OtherServer)作为服务器变量 现在我的问题是,每当我尝试将数据库项目与数据库进行比较时,它都会告诉我[$(OtherServer)]与数据库不匹配 示例: 数据库项目中的存储过程已完成 SELECT * FROM [$(OtherServer)].Test.dbo

我有一个VS SQL Server项目,其中链接了服务器。
链接服务器被添加为参考数据库(.dacpac),数据库位置设置为“不同的数据库,不同的服务器”。
我删除了数据库变量,但VS不允许我删除服务器变量。
因此,我使用$(OtherServer)作为服务器变量

现在我的问题是,每当我尝试将数据库项目与数据库进行比较时,它都会告诉我[$(OtherServer)]与数据库不匹配

示例:
数据库项目中的存储过程已完成

SELECT * FROM [$(OtherServer)].Test.dbo.TestTable;
但是,在服务器上,存储过程

SELECT * FROM TestServer.Test.dbo.TestTable;
问题:

  • 是否有某种方法可以像删除“数据库变量”一样删除“服务器变量”?
    我尝试在*.sqlproj文件中手动执行此操作,方法是将“ServerSqlCmdVariable”更改为“ServerVariableLiteralValue”,就像对数据库变量执行此操作一样,但没有成功
  • 使用服务器变量时,如何比较sql server数据库项目
  • 架构比较似乎只对文本进行比较,即使我构建了数据库项目,它仍然认为过程已经更改。
    在VS 2015中运行模式比较时,这不仅仅是进程、视图和触发器出现问题

    重现问题的步骤

  • 在VS中创建空白SQL Server项目
  • 右键单击project并选择“导入数据库”
  • 选择具有链接服务器的进程或视图的数据库
  • 将对链接服务器的*dacpac的数据库引用添加到 项目
  • 对于数据库位置,选择“不同的数据库,不同的服务器”
  • 添加“数据库名称”,但将“数据库变量”留空
  • 添加“服务器名称”并将“服务器变量”添加为$(其他服务器)
  • 编辑数据库项目中使用链接 服务器现在包括[$(其他服务器)]
  • 右键单击项目并构建
  • 右键单击项目并选择“模式比较”
  • 比较完成后,它将告诉您所有具有[$(其他服务器)]的进程/视图与数据库不匹配

    在这里发布反馈