gpt4 book ai didi

sql-server - 亚马逊 RDS SQL 服务器 : how to detect if it is RDS?

转载 作者:行者123 更新时间:2023-12-05 01:34:26 25 4
gpt4 key购买 nike

我正在尝试将我的数据库移植到 RDS。由于限制需要做一些更改。

是否可以检测当前数据库在 RDS 中的内部脚本(存储过程等)?

更新。我在我的函数中使用这种方式进行测试:

if CHARINDEX(N'EC2AMAZ',(cast(serverproperty('ServerName') as nvarchar(256))))>0 
return 1
else
return 0

最佳答案

我喜欢@xiani 的方法,并决定稍微增强它(如果 SQL Server 的“正常”实例有一个 [rdsadmin] 数据库)。

DECLARE @IsAmazonRDS BIT = 0;

--1st test: does the [rdsadmin] database exist?
IF DB_ID('rdsadmin') IS NOT NULL
BEGIN
BEGIN TRY
--2nd test: If this is an Amazon RDS instance, we should not able to access the database "model" under the current security context.
DECLARE @FileCount INT;
SELECT @FileCount = COUNT(*) FROM model.sys.database_files;
END TRY
BEGIN CATCH
SET @IsAmazonRDS = 1;
--Comment/uncomment to verify the flag is set.
--SELECT 'Inside Catch';
END CATCH
END

这可以根据您确定的任何标准进行第三次、第四次等额外检查来补充。自己决定要走多远。

关于sql-server - 亚马逊 RDS SQL 服务器 : how to detect if it is RDS?,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/35915024/

25 4 0
Copyright 2021 - 2024 cfsdn All Rights Reserved 蜀ICP备2022000587号
广告合作:1813099741@qq.com 6ren.com