我正在尝试使用两个列表文件创建一个 for 循环,这些文件基本上会回显脚本以更改多个数据库的 dbowner。列表文件包含多个服务器,登录名列表包含多个登录名。但它们是行分隔的,以便将每个数据库与登录名匹配。
这是我到目前为止所拥有的,但它显然是采用第一个服务器名称并通过每个登录名循环它,然后移动到下一个服务器名称。
for servername in $(cat servername.list); do
for loginname in $(cat loginname.list); do
echo "USE $servername"
echo "go"
echo "EXEC sp_changedbowner '$loginname'"
echo "go"
echo "USE master"
echo "go"
echo ""
done
done
我希望输出是这样的:
USE server1
go
EXEC sp_changedbowner 'login1'
go
USE master
go
USE server2
go
EXEC sp_changedbowner 'login2'
go
USE master
go