在执行之前,确保脚本中的sql server实例数据库正确吗?

在执行之前,确保脚本中的sql server实例数据库正确吗?,sql,sql-server,Sql,Sql Server,如何在.sql脚本中指定它只对本地主机sql server db实例执行,而不在另一个打开的连接(如我的集成或测试环境)上执行 dbsetupscript.sql use myDB --WHAT SAFE GAURD CAN i PUT HERE TO ENSURE THAT THIS SCRIPT CAN ONLY BE EXECUTED VIA MY -- LOCAL ENVIRONMENT BEFORE I START DELETING TABLES, ETC? delete M

如何在.sql脚本中指定它只对本地主机sql server db实例执行,而不在另一个打开的连接(如我的集成或测试环境)上执行

dbsetupscript.sql

use myDB

--WHAT SAFE GAURD CAN i PUT HERE TO ENSURE THAT THIS SCRIPT CAN ONLY BE EXECUTED VIA MY   
-- LOCAL ENVIRONMENT BEFORE I START DELETING TABLES, ETC?

delete MotherTable
-- delete other tables and insert simulated production data 
试一试

代码应该是这样的

IF (@@ServerName =  'localhost') 
BEGIN
    delete MotherTable
    -- delete other tables and insert simulated production data 
END
ELSE 
    PRINT 'Wrong instance'
试一试

代码应该是这样的

IF (@@ServerName =  'localhost') 
BEGIN
    delete MotherTable
    -- delete other tables and insert simulated production data 
END
ELSE 
    PRINT 'Wrong instance'
if
(
当主机名()为'Bummi-Mobi'时选择CASE,然后选择1 else 0 end+当数据库名()为'test'时选择CASE,然后选择1 else 0 end
)2
raiserror('错误的数据库',20,-1)与日志
如果
(
当主机名()为'Bummi-Mobi'时选择CASE,然后选择1 else 0 end+当数据库名()为'test'时选择CASE,然后选择1 else 0 end
)2
raiserror('错误的数据库',20,-1)与日志

您可以尝试使用SQLCMD模式。您可以在SSMS中启用此功能,方法是转到查询菜单,然后选择SQLCMD模式

SQLCMD模式允许您定义变量,连接到一台服务器运行一些代码,连接到另一台服务器运行一些代码,等等。您甚至可以输出并运行DOS/命令行命令

您可以在此处找到更多语法信息:

以下是一个让您开始学习的示例:

-- which server do you want to connect to?
:setvar MyServer ServerName\InstanceName

-- connect to that server
:connect $(MyServer)

-- run your query
select @@servername, @@version
go

您可以尝试使用SQLCMD模式。您可以在SSMS中启用此功能,方法是转到查询菜单,然后选择SQLCMD模式

SQLCMD模式允许您定义变量,连接到一台服务器运行一些代码,连接到另一台服务器运行一些代码,等等。您甚至可以输出并运行DOS/命令行命令

您可以在此处找到更多语法信息:

以下是一个让您开始学习的示例:

-- which server do you want to connect to?
:setvar MyServer ServerName\InstanceName

-- connect to that server
:connect $(MyServer)

-- run your query
select @@servername, @@version
go