Warning: file_get_contents(/data/phpspider/zhask/data//catemap/5/sql/87.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/4/sql-server-2008/3.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 为什么SSMS脚本包含服务器名称?_Sql_Sql Server 2008 - Fatal编程技术网

Sql 为什么SSMS脚本包含服务器名称?

Sql 为什么SSMS脚本包含服务器名称?,sql,sql-server-2008,Sql,Sql Server 2008,当我在SSMS中生成脚本时,它会创建一个完全限定的名称 [Server].[schema].[table] 根据我的经验,在脚本中包含服务器名称会妨碍部署过程。例如,Dev>Test>Prod。成功执行脚本也不需要服务器名称。因此,我倾向于在生成脚本时删除该名称 我意识到没有灵丹妙药,微软倾向于谨慎地做出这样的决定。那么,这背后的想法是什么?出于某种原因,包含服务器名称是最佳做法吗?如果是这样,跨环境部署脚本的最佳实践是什么?这不是标准行为 您可能需要更改某些内容以省略服务器名称 尝试将“模式限

当我在SSMS中生成脚本时,它会创建一个完全限定的名称

[Server].[schema].[table]

根据我的经验,在脚本中包含服务器名称会妨碍部署过程。例如,Dev>Test>Prod。成功执行脚本也不需要服务器名称。因此,我倾向于在生成脚本时删除该名称


我意识到没有灵丹妙药,微软倾向于谨慎地做出这样的决定。那么,这背后的想法是什么?出于某种原因,包含服务器名称是最佳做法吗?如果是这样,跨环境部署脚本的最佳实践是什么?

这不是标准行为

您可能需要更改某些内容以省略服务器名称

尝试将“模式限定对象名称”常规设置设置为false


理论上,它应该删除[schema]部分。也许它也会删除服务器名

如果您想自动生成用于部署的脚本,我不会使用SSMS脚本:请尝试使用红门工具。我一直认为SSMS脚本只是一个起点:它们试图成为包罗万象的代码,具有尽可能多的字段和限定条件。我执行了各种SQL安装,包括各种版本的SQL。我记得,默认情况下,每个安装都使用服务器名编写脚本。嗯……我的没有,我正在SSMS 2008上查询开发人员版本上的2008 DB