您如何定位特定的数据库服务器?
How do you target a specific database server?
这是独家新闻。我正在使用 Octopus Deploy 设置数据库部署,这一切都很好而且很漂亮。我唯一想弄清楚的是,是否有一种方法可以根据部署 运行ning(即开发、测试、生产)来定位特定的数据库实例和服务器。由于我的数据在 3 个之间略有不同,因此我需要 运行 每个环境的脚本略有不同。没有架构更改,只有数据差异。我可以将 post 部署脚本添加到我的 VS 项目以用于数据库的 OD 部署,但我需要知道如何针对不同的实例和服务器。我尝试执行整个 select @@servername 但这只是给我一个语法错误。任何人都可以向我解释如何根据部署的环境 运行 SQL 的某些部分?
要事第一。无论 Octupus Deploy、Snow White 还是外面的阳光如何; SQL 您连接的服务器在连接字符串 之前 中定义。它不能在 SQL 语句中更改。您需要关闭连接,然后与其他服务器建立新连接。
换句话说:不,你不能。在 PROD 中部署一次,然后在 TEST 中再次部署。
关于选择服务器名称;你这样做是不对的。该声明是字面意思,不应修改... SELECT @@SERVERNAME
。这是一个 只读 全局变量,returns 您连接到的当前服务器的名称。
您可以在单个连接中以这种方式创建一个链接服务器和 运行 脚本...在您的情况下这会造成很大的混乱,我当然不建议部署。
这样想。当您拨打您在加利福尼亚的兄弟的电话号码时,您无法与您在迈阿密的姐姐通话。先挂断电话,然后再拨,这次打的是你姐姐的号码。
这是独家新闻。我正在使用 Octopus Deploy 设置数据库部署,这一切都很好而且很漂亮。我唯一想弄清楚的是,是否有一种方法可以根据部署 运行ning(即开发、测试、生产)来定位特定的数据库实例和服务器。由于我的数据在 3 个之间略有不同,因此我需要 运行 每个环境的脚本略有不同。没有架构更改,只有数据差异。我可以将 post 部署脚本添加到我的 VS 项目以用于数据库的 OD 部署,但我需要知道如何针对不同的实例和服务器。我尝试执行整个 select @@servername 但这只是给我一个语法错误。任何人都可以向我解释如何根据部署的环境 运行 SQL 的某些部分?
要事第一。无论 Octupus Deploy、Snow White 还是外面的阳光如何; SQL 您连接的服务器在连接字符串 之前 中定义。它不能在 SQL 语句中更改。您需要关闭连接,然后与其他服务器建立新连接。
换句话说:不,你不能。在 PROD 中部署一次,然后在 TEST 中再次部署。
关于选择服务器名称;你这样做是不对的。该声明是字面意思,不应修改... SELECT @@SERVERNAME
。这是一个 只读 全局变量,returns 您连接到的当前服务器的名称。
您可以在单个连接中以这种方式创建一个链接服务器和 运行 脚本...在您的情况下这会造成很大的混乱,我当然不建议部署。
这样想。当您拨打您在加利福尼亚的兄弟的电话号码时,您无法与您在迈阿密的姐姐通话。先挂断电话,然后再拨,这次打的是你姐姐的号码。